Базовая настройка Alertmanager в связке с Yandex почтой и Telegram

Тут разберем простейший пример создания и отправки алертов через Яндекс почту и связки Prometheus+Alertmanager+Node_Exporter

Простейший не потому, что супер изи, а потому, что проще не придумаешь.

Для начала у нас должны быть установлены Prometheus+Alertmanager на сервере мониторинга и Node_Exporter не целевом сервере.

Далее по шагам:

Шаг 1. Создаем файлик rules.yml в папке /etc/prometheus

Шаг 2. В файле /etc/prometheus/prometheus.yml указываем конфигурацию Алертменеджера и файла с правилами отправки алертов

alerting:
alertmanagers:
— static_configs:
— targets: [«localhost:9093»] #указываем место, кода смотреть на алертменеджер

rule_files:
— «rules.yml» #указываем название файла с правилами отправки алертов

Шаг 3. В rules.yml пишем правила для алертов

groups: #прописываем группы
— name: ca #пишем название группы
rules: #пишем правила
— alert: CA_High_memory_utiluzation #название алерта
expr: ((node_memory_MemAvailable_bytes{job=»ubuntu-desktop»} / node_memory_MemTotal_bytes{job=»ubuntu-desktop»}) * 100) < 10 #выражение
for: 1m #через сколько выполнится условие для отправки
annotations: #описание. Оно придет по почте
title: ‘High memory utiluzation’
description: ‘High memory utiluzation’
labels:
severity: ‘crit’ #серьезность события

— alert: CA_Disc_space_problem
expr: ((node_filesystem_avail_bytes{job=»ubuntu-desktop», mountpoint=»/»,fstype!=»rootfs»} / node_filesystem_size_bytes{job=»ubuntu-desktop», mountpoint=»/»,fstype!=»rootfs»}) * 100) < 10
for: 1m
annotations:
title: ‘Disk 90% full’
description: ‘Disk 90% full’
labels:
severity: ‘crit’

— alert: CA_node_exporter_down
expr: up{job=»ubuntu-desktop»} == 0
for: 10s
annotations:
title: ‘CA Node Exporter Down’
description: ‘CA Node Exporter Down’
labels:
severity: ‘crit’

— alert: CA_High_CPU_utiluzation
expr: node_load1{job=»ubuntu-desktop»} > 0.9
for: 1m
annotations:
title: ‘High CPU utiluzation’
description: ‘High CPU utiluzation’
labels:
severity: ‘crit’

В прометеусе в разделе Алертс правила будут выглядеть примерно следующим образом

Когда-нибудь напишу много-много примеров алертов, но не в этот раз.

Шаг 4. Настраиваем почту.

Идем в файл /etc/alertmanager/alertmanager.yml и добавляем шаблон

global:
resolve_timeout: 1m

route:
receiver: ‘yandex-alert-notification’
group_wait: 10s
group_interval: 1m
repeat_interval: 1m

receivers:
— name: ‘yandex-alert-notification’
email_configs:
— to: ‘to@yandex.ru’
from: ‘from@yandex.ru’
smarthost: ‘smtp.yandex.ru:587’
auth_username: ‘from@yandex.ru’
auth_identity: ‘from@yandex.ru’
auth_password: ‘vultdmubnyfwbybc’

Из приведенной конфигурации нас больше всего интересует раздел receivers.

To и from — от кого и кому.

Smarthost остается неизменным.

В auth_username и auth_identity записываем почту из поля from.

В auth_password пишем пароль, который получаем следующим образом

Заходим в настройки почты, которая будет отправлять уведомления/

Нажимаем на вкладку Безопасность

Выбираем самый нижний пункт Пароли приложений

Жмем Создать пароль приложения — Почта

Придумываем понятное для вас имя для пароля

Получаем пароль

Шаг 5. Перезагружаем сервисы прометеуса и алертменеджера.

Шаг 6. Получаем уведомления на почту и утираем слезы счастья от того, что все получилось.

Настройка Telegram

Для настройки Telegram идем в botfather и просим дать токен

Создаем новый чатик (или берем старый), в который будет писать бот. Добавляем в этот чатик нашего бота.

Для получения chat_id нужно зайти в telegtam web с компьютера и добраться до нужного чата. В ссылке страницы будет содержаться нужный идентификатор

https://web.telegram.org/a/#-1072515557324

!!! Важно!!! Chat_id начинается со знака минус !!!

Конструкция в alertmanager.yml будет следующая

telegram_configs:
— bot_token: ‘745433222440:AAE5oy6QLYQKeetbwv8lyENhYunvuonV2vA’
chat_id: -1072515557324

Перезапускаем службу алертменеджера и наслаждаемся уведомлениями

От denerk

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *