Еще немного о Zabbix’е – настраиваем ICQ уведомления

в 8:33, , рубрики: ICQ, linux, zabbix, мониторинг сервера, Песочница, системное администрирование, метки: , ,

Еще немного о Zabbix’е – настраиваем ICQ уведомления

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

На моем текущем месте работы Zabbix замечательно общается с отделом СА в Jabber’е, но для дома было решено использовать другой тип уведомлений – ICQ.
Причин тому несколько – привычка к этой системе IM, нежелание дополнительного сервиса на следящей машине, да и любопытство – уведомления в Jabber’е работают из коробки, а ICQ нет.

Ставим ICQ

В качестве консольного IM клиента был выбран CenterIM, во первых по тому что только он оказался в используемых мной репозиториях CentOS, во вторых по тому что умеет UTF-8 и вообще отзывы о нем положительные.

Дальнейшие действия описываются на примере CentOS 6.3 x86_64 и Zabbix 1.8.15

Ставим CenterIM из репозитория Epel, однократно запускаем его в терминале для указания нужных настроек:

Remote charset: cp1251
Local charset: utf-8
ICQ UIN
ICQ Password

Еще немного о Zabbix’е – настраиваем ICQ уведомления Еще немного о Zabbix’е – настраиваем ICQ уведомления Еще немного о Zabbix’е – настраиваем ICQ уведомления

Больше мы этот интерфейс не увидим.

После окончания настройки CenterIM создает папку $HOME/.centerim/ для хранения настроек и истории бесед.
По умолчанию zabbix имеет хом-директорию в /var/lib/zabbix (которая же является его директорией для скриптов уведомлений).

Как следует из документации и FAQ для использования CenterIM из скриптов следует запускать рабочий процесс в screen, что мы и сделаем:

# стартуем CenterIM в screen от пользователя zabbix
su -m zabbix --shell=/bin/bash -c '/usr/bin/screen -d -m /usr/bin/centerim -b /var/lib/zabbix/.centerim/'
# передаем команду сменить статус ICQ на Online
/usr/bin/centerim -b /var/lib/zabbix/.centerim/ -S o -p icq

Обратите внимание – чтобы не напороться на мои грабли и не воевать с ошибкой «event sending error error creating directory for the contact» всегда явно указывайте директорию с конфигурацией:
-b /var/lib/zabbix/.centerim/

Теперь пишем маленький скрипт который будет принимать сообщение от Zabbix’а и передавать его в CenterIM:

#!/bin/sh

export receiver="$1"
export subject="$2"
export body="$3"

/bin/echo -e "[$subject] nn $body" | /usr/bin/centerim -b /var/lib/zabbix/.centerim/ -s msg -p icq -t $receiver

Все просто и понятно.
Скрипт лежит в /var/lib/zabbix/icq

Настраиваем Zabbix

Открываем веб-интерфейс Zabbix’а, идем в Администрирование --> Способы оповещений и создаем оповещение типа «скрипт» с каким-нибудь понятным именем.

Еще немного о Zabbix’е – настраиваем ICQ уведомления

Переходим в Администрирование --> Пользователи и указываем номер ICQ пользователю который будет принимать уведомления

Еще немного о Zabbix’е – настраиваем ICQ уведомления

И напоследок создадим действие для реакции на триггеры и отсылки уведомлений
Настройка --> Действия

Еще немного о Zabbix’е – настраиваем ICQ уведомления

Собственно все, можно пользоваться

Автор: TheRaven

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js