系列文章
知识储备
Prometheus Template Variables
你可以使用变量来代替硬编码的细节,如 server、app 和 pod_name 在 metric 查询中。Grafana 在仪表盘顶部的下拉选择框中列出这些变量,帮助你改变仪表盘中显示的数据。Grafana 将这类变量称为模板变量。
Query Variables
使用 Query 类型的变量来查询 Prometheus 的指标 (metrics)、标签 (labels) 或标签值 (label values) 的列表。
选择一个 Prometheus 数据源查询类型并输入所需的输入:
Variable Syntax
Prometheus 数据源支持在 Query 字段中使用两种变量语法:
$<varname>
, 如:rate(http_requests_total{job=~"$job"}[$_rate_interval])
, 它更容易读和写,但不允许你在词的中间使用变量。一般使用这种变量就够用了。[[varname]]
, 如:rate(http_requests_total{job=~"[[job]]"}[$_rate_interval])
如果你启用了 Multi-value 或 Include all 选项,Grafana 会将标签从纯文本转换为与 regex 兼容的字符串,这需要你使用=~
而不是=
。所以推荐在 Grafana 中使用 PromQL 组合 Grafana 变量时,首选 =~
.
Annotations
注释 (Annotations) 在图表上面叠加丰富的事件信息。你可以在 Dashboard 菜单的 Annotations 视图中添加注释查询。
Prometheus 支持两种方式来查询注释。
- 一个常规的 metric 查询
- 一个 Prometheus 的 pending 和 firing 的告警(详见 在运行期间检查警报), 示例为:
ALERTS{alertname="<alert name>", alertstate="<pending or firing>", <additional alert labels>}
Step 选项对于限制从你的查询中返回的事件数量很有用。
Ad Hoc Filters Variable
Prometheus 支持特殊的 ad hoc filters 变量类型,你可以用它来临时指定任何数量的 标签/值 过滤器。这些过滤器会自动应用于你所有的 Prometheus 查询。
实战
我们直接从 Grafana Dashboards 中选择一个 Dashboard - JVM(Micrometer) (ID: 4701) 来进行说明演示。
标签:name,app,Grafana,Prometheus,pod,仪表板,变量 From: https://www.cnblogs.com/east4ming/p/17381102.html