如何编写返回标签值的Prometheus查询?

kmo*_*moe 17 grafana prometheus

我正在制作Grafana仪表板,并希望有一个面板报告我们应用的最新版本.该版本在app_version(比如)度量标准中报告为标签,如下所示:

app_version_updated{instance="eu99",version="1.5.0-abcdefg"}
Run Code Online (Sandbox Code Playgroud)

我尝试了一些Prometheus查询,将版本标签从这个时间序列的最新成员中提取为字符串,无效.

例如,查询

count(app_version_updated) by (version)
Run Code Online (Sandbox Code Playgroud)

返回{version="1.5.0-abcdefg"}值为的元素1.当在单个值面板中放入Grafana仪表板时,这不会显示版本字符串,而是显示计数值(1).

如何构造返回版本字符串的Prometheus查询?

Mar*_*ert 19

我的回答试图详细说明卡尔的回答。我认为自 2016 年以来 GUI 布局可能发生了一些变化,所以我花了一段时间才找到“名称”选项。

假设您有一个指标如下:

# HELP db2_prometheus_adapter_info Information on the state of the DB2-Prometheus-Adapter
# TYPE db2_prometheus_adapter_info gauge
db2_prometheus_adapter_info{app_state="UP") 1.0
Run Code Online (Sandbox Code Playgroud)

并且您想显示 label 的值app_state

按着这些次序:

  • 创建一个“SingleStat”可视化。
  • 转到“查询”选项卡:
    • 输入指标的名称(此处db2_prometheus_adapter_info)。
    • 使用{{[LABEL]}}符号(此处{{app_state}})输入标签名称作为图例。
    • 激活“即时”选项。

查询选项卡中的设置

  • 转到“可视化”选项卡:
    • 在“值 - 统计”下选择值“名称”。

可视化选项卡中的设置

关于“即时”设置的注意事项:此设置从范围查询切换到仅返回指标的最新值的简化查询(另请参阅基于 prometheus 的 grafana 图中的“即时”复选框做什么?)。如果未激活,一旦指标历史记录中有多个标签的不同值,面板就会显示错误。对于“正常”指标,您可以通过在“值 - 统计”选项中选择“当前”来解决此问题。但是在这里这样做可以防止显示您的标签值。

  • SingleStat 在 v7 中已弃用,并在 v8 中删除。它被替换为 [Stat](https://grafana.com/docs/grafana/latest/visualizations/stat-panel/)。 (2认同)

Car*_*ist 13

我们最近添加了对在单个统计面板中显示系列名称作为值的支持(https://github.com/grafana/grafana/issues/4740).所以你必须运行我们的夜间构建,直到我们发布4.0.

只需确保查询返回一个系列,您可以使用选项 - >大值下的下拉列表中的"名称"值.然后您可以使用图例格式化器格式化字符串.Ex {{job}}会将"node"作为系列名称返回.

我希望这回答了你的问题.


far*_*sto 9

这对我有用。

label_values(my_metric{type= "xxx", another_label="xxx"},target_label)
Run Code Online (Sandbox Code Playgroud)

  • 是的,PromQL 中不存在“label_values”函数。例如,我用 grafana 来在仪表板中创建变量。 (11认同)
  • 那是行不通的。我把它放在什么字段,因为 PromQL 无法处理它? (6认同)

Jun*_*aid 8

通过StatGrafana 8+ 中的可视化,您可以将图例设置为预期的标签名称,然后Stat Styles -> Text ModeName 在此输入图像描述


Mar*_*tin 6

虽然@marcus-rickert 的大部分答案在 Grafana 7 中仍然有效,但有一些变化。'Stat' 'Name' 字段似乎消失了,而是在 'Field' 面板中,您可以将 'Display name' 设置为要显示的标签。

在此处输入图片说明