: :

ПнВтСрЧтПтСбВс

2018-02-12 12:55:32 1741 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), указываем время когда можно отправлять оповещения и уровень важности.

Оповещение

Все настройка готова.






Введите ответ:

+

=