如何在 grafana 上显示指标时用标签替换目标

Posted

技术标签:

【中文标题】如何在 grafana 上显示指标时用标签替换目标【英文标题】:How to replace target with label while displaying metrics on grafana 【发布时间】:2020-07-05 03:12:26 【问题描述】:

我已经配置了 telegraf/prometheus/grafana 来显示系统指标,但现在我想做的是在 Grafana 中设置变量来显示标签而不是我在 prometheus.yml 文件中配置的目标。

所以我的问题是如何用 test 替换这个 localhost:9126 而不会丢失所有指标,因为当我尝试查询 label_values(system_uptime, name) 时,我没有要在图表上显示的指标,那么有人可以帮助我,并告诉我如何正确地做吗?谢谢。

【问题讨论】:

在 prometheus 中运行 system_uptime 查询,看看是否在其中得到 name 作为 test? @AmjadHussainSyed 不,我没有得到名字作为测试。 prnt.sc/rmfvn8 【参考方案1】:

你可以这样试试吗?或者您可以使用电报自动发现的host 标签。我不确定你的要求。

- job_name: telegraf
  static_configs:
  - targets: ['localhost:9126']
    labels:
      name: test

在你的grafana

label_values(system_uptime, name)

或者如果你想使用主机(取决于你的要求)

label_values(system_uptime, host)

【讨论】:

我已经尝试过 label_values(system_uptime, name)label_values(system_uptime, host) 但在这种情况下,我没有在 CPU 的图表上显示任何数据记忆​​>。我想在这里显示 name 而不是 instance 但保持相同的功能,所以基本上只为 instance 更改 display name 。为什么我这样做,是因为我已经将多台服务器远程连接到 Prometheus,它们已经有自己的名称,当我从下拉列表prnt.sc/rmimev 中选择 instance 时,我想查看服务器名称而不是他们的 ip:port。 我将它应用到我描述的情况并且它有效,我必须添加新变量$name,我可以通过该变量选择不同的服务器。

以上是关于如何在 grafana 上显示指标时用标签替换目标的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Grafana 上显示 AWS CodeDeploy 部署

如何在基于 sysdig 指标标签的 grafana 仪表板中创建下拉菜单

指标包含 grafana 中的标签时的百分比图

如何通过 REST API 更新 Grafana 面板中的指标值

Grafana仪表板变量:当指标等于一个值时如何提取标签值

如何在grafana指标中连接两个字符串