## console template(控制模板)
---
控制模板允許使用[Go語言模板](http://golang.org/pkg/text/template/)創建任意的console。這些由Prometheus服務提供
console模板是最強有力的方法,它可以在源碼控制中創建容易管理的模板。我們可以首先嘗試Grafana,減少學習成本。
### Getting started
Prometheus提供了一系列的控制模板來幫助您。這些可以在Prometheus服務上的`console/index.html.example`中找到,如果Prometheus服務正在刪除帶有標簽`job="node"`的Node Exporter, 則會顯示NodeExporter控制臺
這個例子控制臺包括5部分:
1. 在頂部的導航欄
2. 左邊的一個菜單
3. 底部的時間控制
4. 在中心的主內容,通常是圖表
5. 右邊的表格
這個導航欄是鏈接到其他系統,例如Prometheus其他方面的文檔,以及其他任何使你明白的。該菜單用于在同一個Prometheus服務中導航,它可以快速在另一個tar中打開一個控制臺。這些都是在`console_libraries/menu.lib`中配置。
時間控制臺允許持久性和圖表范圍的改變。控制臺URLs能夠被分享,并且在其他的控制臺中顯示相同的圖表。
主要內容通常是圖表。這里有一個可配置的JavaScript圖表庫,它可以處理來自Prometheus服務的請求,并通過[Rickshaw](http://code.shutterstock.com/rickshaw/)來渲染
最后,在右邊的表格可以用筆圖表更緊湊的形式顯示統計信息。
### 例子控制臺
這是一個最基本的控制臺。它顯示任務的數量,其中CPU平均使用率、以及右側表中的平均內存使用率。主要內容具有每秒查詢數據。
```template
{{template "head" .}}
{{template "prom_right_table_head"}}
<tr>
<th>MyJob</th>
<th>{{ template "prom_query_drilldown" (args "sum(up{job='myjob'})") }}
/ {{ template "prom_query_drilldown" (args "count(up{job='myjob'})") }}
</th>
</tr>
<tr>
<td>CPU</td>
<td>{{ template "prom_query_drilldown" (args
"avg by(job)(rate(process_cpu_seconds_total{job='myjob'}[5m]))"
"s/s" "humanizeNoSmallPrefix") }}
</td>
</tr>
<tr>
<td>Memory</td>
<td>{{ template "prom_query_drilldown" (args
"avg by(job)(process_resident_memory_bytes{job='myjob'})"
"B" "humanize1024") }}
</td>
</tr>
{{template "prom_right_table_tail"}}
{{template "prom_content_head" .}}
<h1>MyJob</h1>
<h3>Queries</h3>
<div id="queryGraph"></div>
<script>
new PromConsole.Graph({
node: document.querySelector("#queryGraph"),
expr: "sum(rate(http_query_count{job='myjob'}[5m]))",
name: "Queries",
yAxisFormatter: PromConsole.NumberFormatter.humanizeNoSmallPrefix,
yHoverFormatter: PromConsole.NumberFormatter.humanizeNoSmallPrefix,
yUnits: "/s",
yTitle: "Queries"
})
</script>
{{template "prom_content_tail" .}}
{{template "tail"}}
```
### 模板部分不翻譯了,建議大家用Grafana,不喜歡后臺服務渲染模板,還是讓前端的童鞋去做數據呈現工作吧