企业🤖AI Agent构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
## 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,不喜欢后台服务渲染模板,还是让前端的童鞋去做数据呈现工作吧