: | : |
‹ | › | |||||
Пн | Вт | Ср | Чт | Пт | Сб | Вс |
2018-02-12 12:55:32 3433 0
Настройка уведомлений Zabbix через Telegram
В Zabbix есть несколько встроенных способов отправки оповещений - Email,Jabber,SMS. Но иногда хочется использовать более удобные и знакомые инструменты. В этой статье мы рассмотрим как настроить отправку уведомлений от Zabbix через один из самых популярных месседжеров - Telegram.
Для настройки будем использовать сервер Zabbix3.2 установленный на CentOs7 и проект "Telegram messenger CLI".
Ставим git
sudo yum install git
Клонируем "Telegram messenger CLI" с github
git clone --recursive https://github.com/vysheng/tg.git
переходим в директорию tg
cd tg
Ставим необходимые зависимости для сборки пакета
sudo yum install gcc libevent-devel openssl-devel \
readline-devel libconfig-devel lua-devel jansson-devel
Собираем telegram-cli
./configure
sudo make
Произведем настройку пользователся Telegram из под которого будем осущевствлять отправку уведомлений.
bin/telegram-cli -k tg-server.pub -W
Telegram-cli version 1.4.1, Copyright (C) 2013-2015 Vitaly Valtman Telegram-cli comes with ABSOLUTELY NO WARRANTY; for details type `show_license". This is free software, and you are welcome to redistribute it under certain conditions; type `show_license" for details. Telegram-cli uses libtgl version 2.1.0 Telegram-cli includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit. (http://www.openssl.org/) I: config dir=[/root/.telegram-cli] phone number: +7********** code ("CALL" for phone number): **** >
Указываем номер телефона для регистрации учетной записи в телеграм и вводим код подтверждения, который будет прислан на указанный номер
Для вызова справки можно использовать команду "help"
Добавляем контакт
> add_contact "телефон" Admin_User
Заметка: Для разделения слов в имени контакта используется знак подчеркивания "_"
Теперь мы можем непосредствено отправлять этому пользователя сообщения
> msg Admin_User "Привет!"
Но скорее всего вы захотите рассылать уведомления в чат, что бы его получали несколько контактов:
> create_group_chat "Имя_чата" список пользователей
> create_group_chat Zabbix_Alert Admin_User Vasya
Мы создали чат с двумя контактами.
Для выхода из консоли используем команду "quit"
В домашней директорий пользователся под которым мы запускали telegram-cli была создана директория .telegram-cli с настройками, перенесем её в домашнюю директорию пользователя zabbix, туда же переносим папку с клонированным с github проектом и выставим на них права.
chown -R zabbix:zabbix /var/lib/zabbix
Создадим скрипт для отправки уведомлений Zabbix
В конфигурационном файле /etc/zabbix/zabbix_server.conf указываем директорию для хранения скриптов
cat /etc/zabbix/zabbix_server.conf
.... AlertScriptsPath=/usr/lib/zabbix/alertscripts ...
Перезапускаем севрер
systemcl restart zabbix-server
Создаем скрипт уведомлений tg.sh
cat /usr/lib/zabbix/alertscripts/tg.sh
#!/bin/bash to=$1 msg="$2" tgpath=/var/lib/zabbix/tg cd $tgpath (sleep 3; echo "msg $to $msg"; echo "safe_quit") | bin/telegram-cli -k tg-server.pub -W
sleep необходимо для того что бы telegram-cli успел запуститься.
$1,$2 - параметры, которые будет передавать Zabbix при запуске скрипта
Разрешаем выполнение скрипта
chmod +x tg.sh
Теперь переходим к настройки самого Zabbix через веб-интерфейс
Заходим в Administation->Media types
Создаем новый способ оповещения: называем его telegram, указываем имя скрипта tg.sh и задаем два параметра для передачи скрипту, это будет имя кому отправлять и тело сообщения

Далее привязываем способ оповещения к пользователю
Administration->Users->Media
Добавляем способ оповещения: указываем тип - telegram (созданый ранее), куда отправлять (указываем наш чат Zabbix_Alert), указываем время когда можно отправлять оповещения и уровень важности.

Все настройка готова.
Введите ответ:
+
=