首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何编写返回标签值的Prometheus查询?

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

Stack Overflow用户
提问于 2016-07-22 11:58:47
回答 8查看 115.6K关注 0票数 52

我正在制作一个Grafana仪表板,想要一个面板来报告我们应用的最新版本。该版本在app_version (例如)度量中作为标签报告,如下所示:

代码语言:javascript
复制
app_version_updated{instance="eu99",version="1.5.0-abcdefg"}

我尝试了许多Prometheus查询,将版本标签从这个时间序列的最新成员中提取出来,但没有效果。

例如,查询

代码语言:javascript
复制
count(app_version_updated) by (version)

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

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

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2019-09-09 08:47:01

我的回答试图详细说明卡尔的回答。我假设自2016年以来GUI布局可能发生了一些变化,所以我花了很长时间才找到"name“选项。

假设您有如下度量:

代码语言:javascript
复制
# 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

您希望显示标签app_state的值。

遵循以下步骤:

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

  • 转到“可视化”选项卡:
    • 选择"Value - Stat“下的值"Name”。

注意“即时”设置:这个设置从一个范围查询切换到一个简单的查询,只返回度量的最新值(也请参阅What does the "instant" checkbox in grafana graphs based on prometheus do?)。如果未激活,则一旦度量历史中的标签有多个不同的值,面板就会显示错误。对于“正常”度量,您可以通过在"Value - Stat“选项中选择"current”来弥补这一点。但是这样做可以防止显示标签值。

票数 28
EN

Stack Overflow用户

发布于 2016-08-25 08:26:32

我们最近添加了对serie作为值显示在单个stat面板(https://github.com/grafana/grafana/issues/4740)中的支持。因此,您必须运行我们的夜间构建,直到我们发布4.0。

只要确保查询返回一个serie,您就可以在选项->大value.Then下的下拉列表中使用"name“值,您可以使用图例格式化器格式化字符串。Ex {{job}}将返回“节点”作为serie。

我希望这能回答你的问题。

票数 16
EN

Stack Overflow用户

发布于 2020-05-31 12:19:13

虽然@marcus-rickert的大部分答案在Grafana 7中仍然有效,但还是有一些变化。“Stat”name“字段似乎已经消失,相反,在”字段“面板中,您可以将”显示名称“设置为要显示的标签。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38525891

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档