Linux Labs

Наблюдаемость: метрики, алерты, логи / Ступень 5 из 9

Alertmanager: кому и сколько раз

Не запущена Запускается обычно ~20 с
Выйти из урока

Шаг 5 из 6 · лаба · 30 минсредняя

Алерты не доходят до получателя

Ночью два экземпляра интернет-магазина лежали двадцать минут. Prometheus видел это, алерт горел — а команда, которая отвечает за магазин, не получила ни одного уведомления. Найди, где теряются алерты, и сделай так, чтобы команда узнавала об упавших экземплярах одним сообщением.

Ситуация

Интернет-магазин работает на трёх экземплярах приложения — службы lab-shop@1, lab-shop@2 и lab-shop@3, адреса 127.0.0.1:8001–8003. Prometheus собирает их метрики, и когда экземпляр перестаёт отвечать, правило ShopInstanceDown зажигает алерт с метками team="web" и severity="critical". Алерты Prometheus отдаёт Alertmanager на этой же машине (/etc/prometheus/alertmanager.yml), а тот рассылает уведомления.

Получатели — учебный webhook на 127.0.0.1:5001, путь в адресе различает получателя: /web — канал команды web (получатель web-team), /pager — телефон дежурного, /ops — общий канал администраторов. Каждое уведомление — строка JSON в /var/lib/lab-webhook/notifications.jsonl.

Ночью экземпляры 2 и 3 лежали двадцать минут. Команде web не пришло ничего.

Повторить ночь можно: sudo systemctl stop lab-shop@2 lab-shop@3, подождать секунд сорок и вернуть их — sudo systemctl start lab-shop@2 lab-shop@3. Адрес Alertmanager amtool уже знает. sudo работает без пароля.

Задача

  1. Алерты ShopInstanceDown с метками team="web" и severity="critical" приходят команде web — в /web.
  2. Когда падают два экземпляра сразу, команда web получает их одним уведомлением — одной группой.
  3. Остальные критичные алерты по-прежнему уходят дежурному — получателю pager.
  4. Настройки записаны в /etc/prometheus/alertmanager.yml, Alertmanager перечитал файл после последней правки, а amtool check-config проходит. Служба Alertmanager включена.

Проверка сама останавливает два экземпляра магазина, ждёт уведомления до минуты и запускает их снова. Правило ShopInstanceDown и сами экземпляры чинить не нужно.

Лаба · самостоятельно

Команды в этой лабе не даны: набирай их в терминале сам. Цели проверяются на машине после каждой команды.

Цели

0 из 4
  • Алерты ShopInstanceDown с метками team="web" и severity="critical" приходят команде web — в /web учебного webhook — ещё не выполнена
  • Когда падают два экземпляра сразу, команда web получает их одним уведомлением — одной группой — ещё не выполнена
  • Остальные критичные алерты по-прежнему уходят дежурному — получателю pager — ещё не выполнена
  • Настройки записаны в /etc/prometheus/alertmanager.yml, Alertmanager перечитал файл после последней правки, amtool check-config проходит; служба включена — ещё не выполнена
Ctrl+Enter
Запустит машину node1 · Ubuntu 24.04

Машина запускается

Подсказки

0 из 3

Цели лабы

0 из 4
  • Алерты ShopInstanceDown с метками team="web" и severity="critical" приходят команде web — в /web учебного webhook — ещё не выполнена
  • Когда падают два экземпляра сразу, команда web получает их одним уведомлением — одной группой — ещё не выполнена
  • Остальные критичные алерты по-прежнему уходят дежурному — получателю pager — ещё не выполнена
  • Настройки записаны в /etc/prometheus/alertmanager.yml, Alertmanager перечитал файл после последней правки, amtool check-config проходит; служба включена — ещё не выполнена
node1 Ubuntu 24.04

Цели лабы

0 из 4
  • Алерты ShopInstanceDown с метками team="web" и severity="critical" приходят команде web — в /web учебного webhook — ещё не выполнена
  • Когда падают два экземпляра сразу, команда web получает их одним уведомлением — одной группой — ещё не выполнена
  • Остальные критичные алерты по-прежнему уходят дежурному — получателю pager — ещё не выполнена
  • Настройки записаны в /etc/prometheus/alertmanager.yml, Alertmanager перечитал файл после последней правки, amtool check-config проходит; служба включена — ещё не выполнена
Загрузка…