セットアップ
プロメテウスの輸出者は、様々なタグを持つ領事代理人のサービスとして登録されています。領事エージェントに提供される例サービス定義は:プロメテウスでラベルを貼る
{
"service":{
"id": "server-stats",
"name": "server-stats",
"tags": [
"a=1_meow",
"b=2_woof",
"c=3_moo",
"monkey"
],
"port": 9100,
"checks": [
{
"name": "Process #1",
"script": "/path/to/healthcheck/script.sh",
"interval": "5s"
}
]
}
}
プロメテウスは、このserver-stats
サービスを探して、サーバからの統計情報をこすり取る際には領事によって提供される構成(ホストアドレスとポート)を使用するように設定されています。上記のタグは、再ラベル付けに使用できる__meta_consul_tags
のコンマ区切りのリストとして利用できます。私たちはラベルに基づいて統計やグラフを得ることができるようにプロメテウスにタグを公開しようとしています
relabel_configs:
- source_labels: [__meta_consul_tags]
separator: ','
#regex: '(.+)=(.+)'
regex: '([a-z_]+)=([a-z_]+|\d+)'
target_label: ${1}
replacement: ${2}
問題
:設定をリラベル
プロメテウス。上記のサービス設定を念頭に置いて、Prometheusが内部で行うことに加えて、各メトリックに次のラベルを付けることをお勧めします。ただ文字列であるため、無視してmonkey
を無視してください。 =
が必要な解決策があれば、私のタグリストからmonkey
を削除できます。上に書かれたrelabelの設定は、全くタグを公開しておらず、無視されているようです。ログレベルをdebugに設定してPrometheusを実行しても何も得られません。
関連ドキュメント
- https://prometheus.io/docs/operating/configuration/#%3Crelabel_config%3E
- https://www.robustperception.io/extracting-full-labels-from-consul-tags/
このリンクは、元の質問の関連するドキュメントに既に含まれています。それは私が望んでいたものを得られなかった。 – motomonger
リンクは、あなたがしたいことを正確にカバーしています。あなたが投稿した変更されたバージョンではなく、書面でそれを使用する必要があります。 –
はい...私は今なぜそれを行う必要があるか分かります。私は自分の理解と私の答えに取り組んでいたことを含めました。私の答えのどこかが間違っているなら、私を修正してください。 – motomonger