Найти в Дзене
Записки сисадмина

Zabbix. Мониторинг. Оповещаем о проблемах.

Сижу я напротив своей кошки и думаю: «вот морда умная, вроде все понимает, а сказать ничего не может». Ну прямо как система мониторинга, которая обнаружила проблему, но сообщить о ней не может.

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

Но мы ведь учились настраивать почтовый сервер для отправки писем из консоли, писали python скрипт для отправки писем, и даже создавали своего telegram бота. Так давайте же использовать свои наработки.

  • Для оповещений создаем два скрипта в /usr/lib/zabbix/alertscripts:
  • email.sh и telegram.sh с правами 777 zabbix:zabbix

telegram.sh

#!/bin/bash
token='place bot token here'
chat="$1"
subj="$2"
message="$3"
/usr/bin/curl -s --header 'Content-Type: application/json' --request 'POST' --data "{\"chat_id\":\"${chat}\",\"text\":\"${subj}\n${message}\"}" "https://api.telegram.org/bot${token}/sendMessage"

email.sh

#!/bin/sh
to=$1
subject=$2
body=$3
(echo "Subject:$2"; echo "$3")| sendmail -F "Zabbix_Server" $1

  • На веб странице zabbix сервера заходим в Оповещения -> Способы оповещений и добавляем два новых элемента:
-2
-3

Почему я не использую уже встроенные оповещалки? Да потому что оповещение zabbix по почте не очень дружит с яндекс почтой, которую я использую, а оповещение по telegram... Ну потому что так проще.

  • Заходим в Действия -> Действия триггеров и активируем "Report problems to Zabbix administrators".
  • Внутри этого действия добавляем операцию восстановления, чтобы мы получали сообщение не только о проблеме, но и о ее решении.
-4
  • Заходим в профиль нашего пользователя и открываем раздел "Оповещения".
-5
  • Выбираем канал, по которому нас будут уведомлять о проблемах, в поле "отправлять на" указываем свой telegram_id. Также прописываем активность (когда можно отправлять сообщения человеку) и указываем важность триггеров, от которых мы будем получать уведомления.
-6

После всех настроек перезагружаем нашего подключенного клиента и проверяем работу оповещения:

-7
-8

Оповещения по email будут работать абсолютно аналогично.

  • Последний штрих - создаем всем системным администраторам учетные записи на zabbix сервере, прописываем каждому из них свой канал оповещения и отправляем нашего "охранника с мониторами" в бессрочный отпуск.