質問があります:
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 構成を使用できません。
ベストアンサー1
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)