2017-06-09 11 views
4

私はconsul exporterを使用して、自分のサービスの状態と状態をプロメテウスに取り込んでいます。 Consulのサービスとノードのステータスが重要な場合に警告を発し、その通知をルーティングする際にConsulから抽出したタグを使用したいと思います。Prometheusクエリで2つのメトリックにどのように '参加できますか?

this discussionサービスタグは別のメトリックとしてエクスポートされる可能性がありますが、あるシリーズと別のシリーズを結合する方法がわからないため、健康状態のタグを活用することができます。

たとえば、次のクエリ:取得する

consul_service_tags{node="app-server-02",service_name="app-server",env="prod"} 1 

{node="app-server-02",service_name="app-server",status="critical"} 1 

を、私は思いも、このシリーズから 'ENV' のような:

max(consul_health_service_status{status="critical"}) by (service_name, status,node) == 1 

を返すことができますノードとservice_nameに沿って結合され、次のものをAlertmanagerに単一の系列として渡します:

{node="app-server-02",service_name="app-server",status="critical",env="prod"} 1 

私はルーティングで 'env'と一致する可能性があります。

これを行う方法はありますか?それは、私には、どのような操作や機能も私にこのようなグループ化や結合の機能を与えてくれるのではないように思えます。私が見る限り、タグは既にconsul_health_service_statusメトリックのラベルである必要があります。

答えて

関連する問題