- PVSM.RU - https://www.pvsm.ru -

На хабре уже довольно много писали про эту замечательную систему — раз [1], два [2], три [3], четыре [4], но хотелось бы вернуться к этой теме еще разок, и думаю не последний.
На моем текущем месте работы Zabbix замечательно общается с отделом СА в Jabber’е, но для дома было решено использовать другой тип уведомлений – ICQ.
Причин тому несколько – привычка к этой системе IM, нежелание дополнительного сервиса на следящей машине, да и любопытство – уведомления в Jabber’е работают из коробки, а ICQ нет.
В качестве консольного IM клиента был выбран CenterIM [5], во первых по тому что только он оказался в используемых мной репозиториях 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
Больше мы этот интерфейс не увидим.
После окончания настройки CenterIM создает папку $HOME/.centerim/ для хранения настроек и истории бесед.
По умолчанию zabbix имеет хом-директорию в /var/lib/zabbix (которая же является его директорией для скриптов уведомлений).
Как следует из документации [9] и FAQ [10] для использования 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’а, идем в Администрирование --> Способы оповещений и создаем оповещение типа «скрипт» с каким-нибудь понятным именем.

Переходим в Администрирование --> Пользователи и указываем номер ICQ пользователю который будет принимать уведомления
И напоследок создадим действие для реакции на триггеры и отсылки уведомлений
Настройка --> Действия
Собственно все, можно пользоваться
Автор: TheRaven
Источник [13]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/linux/23849
Ссылки в тексте:
[1] раз: http://habrahabr.ru/post/139165/
[2] два: http://habrahabr.ru/post/137641/
[3] три: http://habrahabr.ru/post/154723/
[4] четыре: http://habrahabr.ru/post/155321/
[5] CenterIM: http://ru.wikipedia.org/wiki/CenterIM
[6] Image: http://habrastorage.org/storage2/158/6b7/96c/1586b796cfb24c809dc566a03ac2ce27.png
[7] Image: http://habrastorage.org/storage2/793/631/21f/79363121f4c838c8677a5deea62b86eb.png
[8] Image: http://habrastorage.org/storage2/995/072/dfb/995072dfb4523dbce663d8b1c7548aab.png
[9] документации: http://www.centerim.org/index.php/CenterIM4_Documentation
[10] FAQ: http://www.centerim.org/index.php/CenterIM4_Frequently_Asked_Questions#Can_i_use_CenterIM_to_use_messages_from_within_another_shell_script.3F
[11] Image: http://habrastorage.org/storage2/1a5/65b/f34/1a565bf345298c1f78ee618a475eb0f7.png
[12] Image: http://habrastorage.org/storage2/743/89c/921/74389c921884756b918db06b01ce8f8a.png
[13] Источник: http://habrahabr.ru/post/164415/
Нажмите здесь для печати.