我有一个疑问:
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
还有许多其他指标带有标签名称
name
在 node-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/