Grafana Legend 格式:9100 移除

Posted

技术标签:

【中文标题】Grafana Legend 格式:9100 移除【英文标题】:Grafana Legend format :9100 removal 【发布时间】:2018-04-27 20:35:09 【问题描述】:

我的指标末尾显示“:9100”。我在公司使用普罗米修斯数据源,无法更改。有没有人想出如何删除这个?我在想可能是模板或正则表达式,但我还没有成功。

配置:

图例格式 = 主机名

结果 = myhostname.mydomain.com:9100

【问题讨论】:

【参考方案1】:

据我所知,目前无法在 Grafana 中格式化图例(有一个开放的 PR),但是当您使用 Prometheus 时,您可以使用它的label_replace() 函数,例如:

label_replace(my_vector, "short_hostname", "$1", "hostname", "(.*):.*")

这应该给你:

Legend Format = short_hostname

Result = myhostname.mydomain.com

See the docs here - label_replace

【讨论】:

我应该在哪里输入这个?我尝试在 Legend Format 编辑框中,并尝试定义一个变量。我也想这样做,但我无法从您的评论中弄清楚如何。谢谢。 我找到了上述问题的答案。 label_replace() 函数包装了原始 PromQL 查询,这里称为“my_vector”。此示例翻译“主机名”变量并创建一个名为“short_hostname”的新变量。然后在图例格式中,您可以指定“short_hostname”来获取翻译后的值,而不需要“:9100”。谢谢!【参考方案2】:

在 Grafana 8.0 中,有一个 Transform 菜单可以用来删除文本。我希望它仍然与这个问题相关。

在仪表板上,选择面板 > 编辑。图表下方有 3 个选项卡,其中之一是转换。选择 Transform > Add Transformation > Rename by Regex,用这些值填写表单:

匹配:":9100"(不带引号) 替换:保持为空

详情请参考link。

【讨论】:

【参考方案3】:

我假设您在 Prometheus 配置文件中静态提及目标如下:

- job_name: "node_exporter"
  static_configs:
    - targets: ['localhost:9100']

在这种情况下,如果您在 grafana 中看到 instance_name,它会为您提供与您的目标名称相同的 ['localhost:9100']。这是因为它使用static_configs 为您的指标提供标签。

为了从标签中删除:9100,您可以使用服务发现来识别目标。

例如:ec2_sd_config 标签将来自 AWS EC2 仪表板中提到的标签,file_sd_config 您可以提供 json 或 yaml 格式的目标及其标签等。

详情请参考link。

希望这会有所帮助!

【讨论】:

以上是关于Grafana Legend 格式:9100 移除的主要内容,如果未能解决你的问题,请参考以下文章

Grafana系列:Gauge下面的Legend怎么不显示了

Grafana系列:Gauge下面的Legend怎么不显示了

通过 Grafana 和 Prometheus 中的导出实例进行匹配

prometheus+grafana告警,监控部署展示

prometheus+grafana告警,监控部署展示

R语言可视化包ggplot2移除(remove)可视化结果的图例(legend)实战