0

2 つのクエリがあります。それらが一致する場合、アラートをトリガーする必要がありますが、機能していません:

up {name="DEV-DB-1-EC2"} == 0 and up {name="DEV-DB-2-EC2"} == 0

両方のサーバーをシャットダウンしましたが、データを取得できませんでした: no dataas output.

各クエリを個別に実行すると機能します。

簡単に言えば:

マスター データベース (DEV-DB-1-EC2)スレーブ データベース (DEV-DB-2-EC2) の両方がダウンした場合は、アラートをトリガーする必要があります。

誰かがこの要件に正しい構文を提供できますか?

4

1 に答える 1

0

Prometheus のすべての二項演算子と同様に、二項論理演算子はラベル セットの一致の対象となります。

vector1 と vector2 の結果は、 vector1 の要素で構成されるベクトルになります。この要素に対して、 vector2 には正確に一致するラベル セットを持つ要素があります。

あなたの場合、名前は明らかに一致しないため、 ON()/IGNORING()句を追加する必要があります。

簡単な最小限の修正は次のとおりです。

up {name="DEV-DB-1-EC2"} == 0 and on() up {name="DEV-DB-2-EC2"} == 0

複数のプライマリ/セカンダリがあり、それらを一致させる必要がある場合は、それを調整することをお勧めします。

于 2020-05-10T16:38:45.413 に答える