monitoring - 如何在 Prometheus 中的度量中重命名标签

标签 monitoring prometheus

我有一个疑问:

node_systemd_unit_state{instance="server-01",job="node-exporters",name="kubelet.service",state="active"} 1

我想要标签 name被重命名(或替换)为 unit_name仅在 node_systemd_unit_state 内公制。所以,想要的结果是:
node_systemd_unit_state{instance="server-01",job="node-exporters",unit_name="kubelet.service",state="active"} 1

还有许多其他指标带有标签名称 namenode-exporters工作。这就是为什么我不能在整个工作中使用 relabel 配置。

最佳答案

可以在promQL中使用label_replace函数,但它也添加标签,不要替换

label_replace(
  <vector_expr>, "<desired_label>", "$1", "<existing_label>", "(.+)"
)

label_replace(
node_systemd_unit_state{instance="server-01",job="node-exporters",name="kubelet.service",state="active"},
"unit_name","$1","name", "(.+)"
)

因此,为了避免重复,您可以添加:
sum(label_replace(
    node_systemd_unit_state{instance="server-01",job="node-exporters",name="kubelet.service",state="active"},
    "unit_name","$1","name", "(.+)"
    )
)by(unit_name)

关于monitoring - 如何在 Prometheus 中的度量中重命名标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54235797/

相关文章:

http - 监控来自非浏览器的http请求

mysql - 如何知道 MySQL 何时达到服务器的内存限制?

prometheus - 普罗米修斯速率函数和区间选择

loops - 带有自定义收集器的普罗米修斯仪表 - 去

prometheus - 如何使用联合从多个 Prometheus 实例收集 Prometheus 指标(每个实例使用实例 ="localhost:9090")

python-3.x - 普罗米修斯没有为计数器捕获数据

python - 根据系统资源使用情况监视和终止 Python 脚本

缩小时 Grafana 仪表板不显示数据

.net - 生产中 .NET 应用程序的持续性能监控?

monitoring - prometheus 将一个 NaN 值结果求和为 NaN。如何避免?