gpt4 book ai didi

prometheus - 在 Prometheus 中将实例重新标记为主机名

转载 作者:行者123 更新时间:2023-12-04 22:39:58 27 4
gpt4 key购买 nike

我有 Prometheus 从几台机器上的节点导出器中抓取指标,配置如下:

scrape_configs:
- job_name: node_exporter
static_configs:
- targets:
- 1.2.3.4:9100
- 2.3.4.5:9100
- 3.4.5.6:9100

在 Grafana 中查看时,这些实例被分配了相当无意义的 IP 地址;相反,我更愿意看到他们的主机名。我认为您应该能够重新标记 instance标签以匹配节点的主机名,所以我尝试使用这样的重新标记规则,但没有任何效果:
relabel_configs:
- source_labels: ['nodename']
target_label: 'instance'

我可以手动重新标记每个目标,但这需要将每个主机名硬编码到 Prometheus 中,这不是很好。我看到节点导出器提供了指标 node_uname_info包含主机名,但我如何从那里提取它?
node_uname_info{domainname="(none)",machine="x86_64",nodename="myhostname",release="4.13.0-32-generic",sysname="Linux",version="..."} 1

最佳答案

我刚刚遇到这个问题,解决方案是使用 group_left 来解决这个问题。您不能使用请求中不存在的值重新标记,您仅限于提供给 Prometheus 的不同参数或用于请求的模块中存在的参数(gcp、aws ...)。
因此,我使用的解决方案是将包含我们想要的内容的现有值(hostnmame)与来自节点导出器的指标相结合。我们的答案存在于 node_uname_info包含 nodename 的指标值(value)。
我使用这篇文章的答案作为我的请求的模型:https://stackoverflow.com/a/50357418 .
解决方案是这个:

node_memory_Active_bytes
* on(instance) group_left(nodename)
node_uname_info
有了这个, node_memory_Active_bytes仅包含 instance 的指标和 job默认情况下,会得到一个额外的 nodename您可以在 Grafana 的描述字段中使用的标签。
希望这对其他人有帮助。

关于prometheus - 在 Prometheus 中将实例重新标记为主机名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49896956/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com