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怎么不显示了