Prometheus控制台模板

本文介绍了Prometheus控制台模板的使用,包括入门指南、示例控制台的结构和功能,如导航栏、时间控件、图形和表格展示。通过Go模板语言,用户可以创建自定义控制台进行监控。虽然对于新手来说,Grafana可能是更简单的选择,但Prometheus的控制台模板提供了更高级的定制能力。

完整译文请访问http://www.coderdocument.com/docs/prometheus/v2.14/visualization/console_templates.html

控制台模板允许使用Go模板语言创建任意控制台。这些是由Prometheus服务器提供的。

控制台模板是创建可以在源代码控制中轻松管理的模板的最强大的方法。这有一个学习曲线,所以使用这种类型监控的新用户应该先尝试Grafana。

入门

Prometheus带有一个控制台的例子,可以在在运行的Prometheus的/consoles/index.html.example 中找到。如果Prometheus正在抓取具有 job="node"标签的节点导出器,那么它将显示节点导出器控制台。

示例控制台有5个部分:

  1. 顶部的导航栏
  2. 左侧菜单
  3. 底部的时间控件
  4. 中间的主要内容,通常是图形
  5. 右侧的表格

导航栏包含指向其他系统的链接,例如:其他Prometheis、文档以及其他任何对你有意义的内容。该菜单用于在同一个Prometheus服务器内导航,这对于快速打开另一个选项卡中的控制台以关联信息非常有用。它们都是在console_libraries/menu.lib中配置的。

时间控件允许更改图形的持续时间和范围。可以共享控制台URL,并为其他URL显示相同的图形。

主要内容通常是图形。提供了一个可配置的JavaScript图形库,它将处理来自Prometheus的请求数据,并通过Rickshaw呈现数据。

最后,可以使用右边的表格,可以比图形更紧凑的形式显示统计信息。

示例控制台

这是一个基本的控制台。它在右侧的表格中显示任务的数量、增加了多少任务、平均CPU使用量和平均内存使用量。主要内容有一个每秒查询数量的图形。

{{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"}}

prom_right_table_head 和 prom_right_table_tail 模板包含了右侧的表格。这是可选的。

prom_query_drilldown是一个模板,它将对传递给它的表达式求值、格式化它并链接到表达式浏览器中的表达式。第一个参数是表达式。第二个参数是要使用的单位。第三个参数是如何格式化输出。只有第一个参数是必须的。

prom_query_drilldown的第三个参数的有效输出格式:

  • 未指定:默认使用Go显示输出。
  • humanize:使用metric prefixes显示结果。
  • humanizeNoSmallPrefix:如果绝对值大于1,使用metric prefixes显示结果;如果绝对值小于1,显示3位有效数字。
  • humanize1024:使用1024而不是1000作为基数来显示人性化的结果。这通常使用B一起作为第二个参数来组成类似KiBMiB这样的单位。
  • printf.3g:显示3位有效数字。

可以定义自定义格式。示例请参见prom.lib

完整译文请访问http://www.coderdocument.com/docs/prometheus/v2.14/visualization/console_templates.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值