Запускать оповещение в Prometheus, если главный и подчиненный сервер базы данных выходят из строя - PullRequest
0 голосов
/ 07 мая 2020

У меня 2 запроса. Если они совпадают, мне нужно вызвать предупреждение, но оно не работает:

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

Я выключаю оба сервера, но не получаю данные, в нем говорится: no data в качестве вывода.

Если я бегу каждый запрос работает отдельно.

Короче говоря:

если оба master db (DEV-DB-1-EC2) и slave db (DEV- DB-2-EC2) отключается Мне нужно вызвать предупреждение.

Может ли кто-нибудь предоставить правильный синтаксис для этого требования?

1 Ответ

0 голосов
/ 10 мая 2020

Как и все бинарные операторы в Prometheus, логические бинарные операторы подлежат совпадению наборов меток.

vector1 и vector2 приводит к вектору, состоящему из элементов vector1, для которого - это элементы в vector2 с точно совпадающими наборами меток.

В вашем случае имя явно не будет совпадать, поэтому вам нужно добавить предложение ON () / IGNORING () .

Простое минимальное исправление:

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

Вы можете уточнить его, если у вас несколько первичных / вторичных и вам нужно сопоставить их.

...