Как стать автором
Обновить
887.97
OTUS
Цифровые навыки от ведущих экспертов

Управление алертами с помощью Alerta.io

Время на прочтение2 мин
Количество просмотров5.3K
Автор оригинала: Irek Romaniuk

Привет, хабровчане. Скоро стартует курс "Мониторинг и логирование: Zabbix, Prometheus, ELK", и в его преддверии приглашаем вас записаться на открытый вебинар "Prometheus как новый виток систем мониторинга".

А пока делимся традиционным полезным переводом.


Alerta — это очень простая система мониторинга, по крайней мере, таковой она выглядит для пользователя. С ее помощью можно в одном месте управлять алертами из нескольких источников. Она включает в себя API-сервер для получения, обработки и рендеринга алертов, веб-интерфейс и консольные утилиты. Она группирует алерты по различным атрибутам, таким как environment (окружение), service (сервис), event (событие) и resource (ресурс) и, оставляет хост-ориентированные инструменты мониторинга в 90-х.

Я пробовал ее использовать для System Alerts на брандмауэрах Palo Alto Network (PAN), см. репозиторий. Настройка PAN очень проста. В конечном итоге я получил на портале только десяток алертов, а не сотни и тысячи как в Monitor-> Systems. Это связано с их дедупликацией и корреляцией (по тегам, пользовательским атрибутам, окружениям, сервисам и др).

PAN-вебхук для настройки alerta
PAN-вебхук для настройки alerta

Несмотря на то, что я предпочитаю смотреть алерты только в одном месте, для alerta.io я настроил плагины для Slack и MS Teams, создав там каналы для получения сообщений. Очередной канал в мессенджере не так плох, как отслеживание еще одного URL-адреса. Я даже не боялся отправлять туда информационные сообщения, чего обычно избегаю. 

Alerta.io plugins: Slack (on left) and Teams (on right)
Alerta.io plugins: Slack (on left) and Teams (on right)

Консольная утилита (которая также может запускаться с GUI в терминале или как Python SDK) очень полезна для быстрого просмотра состояния, запросов, пульса (heartbeat) и обслуживания.

$ alerta status
METRIC                       TYPE    NAME                       VALUE      AVERAGE
---------------------------  ------  -------------------------  -------  ---------
Total alerts                 gauge   alerts.total               21
Received alerts              timer   alerts.received            898       30.853
Count alerts                 timer   alerts.counts              1310       4.59695
Alert queries                timer   alerts.queries             2627      36.0689
Alerta console auto-refresh  text    switch.auto-refresh-allow  ON
API alert submission         text    switch.sender-api-allow    ON

Важно помнить, что это ни в коем случае не "еще один инструмент мониторинга", а лишь способ уменьшить большое количество алертов и агрегировать их из нескольких систем мониторинга, таких как Zabbix, Nagios или Sensu.

Согласно документации, алерты при получении можно дополнительно обработать с помощью хуков (pre-receive hooks), добавляя в них информацию или отклоняя их. А также можно инициировать запуск действий в других системах с помощью post-receive — хуков или действий оператора или при изменении статуса алерта для двунаправленной интеграции. Например, алерты можно нормализовать для гарантии того, что у всех у них будут необходимые атрибуты и теги или что они принимают значение из допустимого диапазона. Это можно увидеть в плагине reject, который обрабатывает политику алертов.

Плагины также могут использоваться для обогащения алертов дополнительной информацией. Например, плагин геолокации (Geo location plugin) на основе IP-адреса клиента добавляет к алерту данные о местоположении. А универсальный плагин (generic enhance plugin) добавляет пользовательский атрибут на основе информации, содержащейся в алерте.

Записаться на открытый урок.

Теги:
Хабы:
Всего голосов 3: ↑3 и ↓0+3
Комментарии0

Публикации

Информация

Сайт
otus.ru
Дата регистрации
Дата основания
Численность
101–200 человек
Местоположение
Россия
Представитель
OTUS