Zabbix настроить оповещение по telegram

Telegram уведомления из Zabbix

В этой статье я приведу пример настройки telegram уведомлений из Zabbix.

В первую очередь необходимо создать telegram бота через которого и будут из Zabbix приходить сообщения. Для этого пользователю @BotFather необходимо написать:

Потом указать имя бота и логин который будет указан в ссылке на бота, после этого вам будет показан секретный token. Если что, API можно посмотреть по ссылке core.telegram.org/bots/api.

Пример отправки личного сообщения из Linux:

Где:
111122222:AABBCCXXFFGGSSRRTTEE — секретный token вашего бота, а 123456789 — ваш ID в telegram. Чтобы узнать ваш ID, необходимо боту @my_id_bot написать:

В директории со скриптами для уведомлений создадим файл скрипта (по умолчанию AlertScriptsPath=/usr/lib/zabbix/alertscripts):

Проверим работу скрипта (где 123456789 — ваш ID в telegram):

Создадим способ оповещения в настройках Zabbix, а именно в меню «Администрирование» — «Способы оповещений» — «Создать способ оповещения» и укажем:
Имя: Telegram
Тип: Скрипт
Имя скрипта: telegram_bot.sh
Параметры скрипта:

Далее в меню «Администрирование» — «Пользователи» выберем нужно пользователя, перейдем во вкладку «Оповещения» и добавим:
Тип: Telegram
Отправлять на: Ваш ID в telegram
Отметим какой важности сообщения отправлять, нажмем «Добавим» и «Обновить».

В меню «Настройка» — «Действия» — «Report problems to Zabbix administrators» можно изменить шаблон уведомлений или добавить новый.

Если вы хотите отправлять сообщения в teleram группу, то создайте группу, добавьте в нее пользователя @my_id_bot и напишите /start чтобы узнать ID группы, потом добавьте в группу вашего бота, далее аналогичным выше методом в меню «Администрирование» — «Пользователи» выберем нужно пользователя, перейдем во вкладку «Оповещения» и добавим:
Тип: Telegram
Отправлять на: ID группы в telegram
Отметим какой важности сообщения отправлять, нажмем «Добавим» и «Обновить».

Если возникает ошибка «Bad Request: group chat was upgraded to a supergroup chat», то снова добавьте @my_id_bot и сверьте правильный ли ID группы вы указали.

Источник

Еще не бот, но уже что-то ― получаем уведомления от Zabbix в мессенджеры


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

Рассматривать решения я буду на примере Zabbix, но их можно адаптировать и под вашу любимую систему, лишь бы она умела запускать скрипты по триггеру.

Slack

Получать уведомления в такой корпоративный мессенджер как Slack действительно удобно, а благодаря открытому API ― еще и просто. С API можно познакомиться в официальной документации, я же покажу пару примеров реализации.

Самым простым решением станет интеграция с мессенджером через механизм Webhook. Для начала нужно получить на сайте сервиса в разделе Incoming WebHooks специальный адрес, на который можно отправлять запросы хоть обычным curl. Также там можно будет выбрать иконку и канал для отображения сообщений по умолчанию.


Получаем URL для отправки запросов.

Теперь нужно добавить в Zabbix скрипт ― по умолчанию это папка /usr/local/share/zabbix/alertscripts, ― разрешить его выполнение и настроить в нем необходимые параметры. Со скриптом и подробными инструкциями по настройке можно ознакомиться на GitHub в репозитории zabbix-slack-alertscript.

Читайте также:  Huawei volte не работает


Уведомления в Slack.

Более интересным и сложным способом решения задачи будет создание полноценного бота. В отличие от простого варианта с curl, бот может не только кидать уведомления, но и удалять их при решении проблемы.

Ознакомиться с исходным кодом бота и подробной инструкцией по настройке можно в репозитории zabbix-notify на GitHub. Помимо Slack, этот бот поддерживает уведомления в HipChat, создание новых инцидентов и разрешение старых в системе управления инцидентами PagerDuty.

Telegram

Получать уведомления в этот популярный, но заблокированный на территории РФ, мессенджер тоже удобно, благо открытый API это позволяет. Ознакомиться с возможностями автоматизации можно в документации на официальном сайте.

Для самого простого решения нужно получить свой токен для запросов при помощи «Отца Ботов» ― @BotFather. При помощи команд /start и /newbot главный бот выдаст заветный токен.


Получаем токен для нашего бота-уведомлятора.

Теперь можно отправлять сообщения запросами через curl. В качестве усложненной реализации можно привести в пример бота, отправляющего не только уведомления, но и графики. Завести себе бота поможет GitHub-репозиторий Zabbix-in-Telegram.

С подробной инструкцией к простому и чуть более сложному скрипту можно ознакомиться в материале «Отправка уведомлений и графиков из Zabbix в Telegram».

WhatsApp

Этот мессенджер, к сожалению, не имеет документированного публичного API и борется со скриптами на GitHub в рамках «борьбы со спамом». Но выход есть. Можно использовать штатное решение «прямая связь», описанное в официальном FAQ. Но тогда понадобится держать инстанс WhatsApp Web. Аналогично сработает обвязка автокликером веб-версии или десктопного приложения.

Чуть более интересным вариантом будет использование консольного «мессенджера» yowsup. Сам мессенджер доступен в одноименном репозитории GitHub. Пока решение работает. Но если WhatsApp вдруг решит поменять свой API, то для адаптации понадобится время.


Отправка сообщений через консоль.

Подробнее с настройкой консольного скрипта и Zabbix можно ознакомиться в статье «Получаем уведомления от Zabbix в WhatsApp».

ВКонтакте

Если ваш дежурный инженер проводит в соцсетях немало времени, то можно отправлять уведомления ему прямо в сообщения (или на стену) ВКонтакте.

Сначала нам понадобится создать свое приложение в соцсети ― для получения токена. Сделать это можно в разделе «Мои приложения». После создания нового приложения нам нужно скопировать его ID в разделе «Настройки» и перейти по ссылке:

Разумеется, вместо appid нужно подставить свой ID. А если нужно просто отправлять сообщения ― без оповещения друзей инженера, если он сам не отвечает, ― то в параметрах достаточно задать messages.

После подтверждения доступа в адресной строке появится подобный адрес:

Где в значении параметра access_token будет необходимый нам токен.

Теперь при помощи обычного curl можно слать сообщения, а с оберткой из простого скрипта это сможет делать и Zabbix.

С пошаговой настройкой уведомлений и вариантом реализации скрипта можно ознакомиться в статье «Прикручиваем к Zabbix оповещения в VKontakte».

Jabber

Если некоторое ретроградство вам не чуждо, то еще остался Jabber. Получать уведомления в старый любимый мессенджер Zabbix позволяет «из коробки». Для этого достаточно настроить аккаунт в свойствах оповещений:


Настройка аккаунта Jabber.

И указать нужные JID в свойствах пользователей. Подробнее можно ознакомиться в официальной документации Zabbix в разделе Jabber. Я же добавлю, что если предварительно аккаунт Jabber зарегистрировать в нужных транспортах, то можно отправлять сообщения в ICQ, IRC и прочий агент Mail.ru.

Читайте также:  Сломался левый наушник airpods что делать

Если не зацикливаться на модных и не очень мессенджерах, то можно получать уведомления и просто через технологию push. Она поддерживается не только в мобильных устройствах, но и в любой Windows 10, а также в браузерах Chrome и Firefox.

Тут нам придется или развертывать свой сервер и приложения для отправки сообщений, или воспользоваться платными сервисами вроде Pushbullet, Pushsafer или Pushover. Методика схожа с остальными: регистрируемся, получаем токен, ставим приложения или расширения браузера и шлем сообщения хоть многострадальным curl.

Выбор конкретного сервиса зависит от ценника. В общем и целом все они работают примерно одинаково. Некоторые сервисы предоставляют ограниченное количество бесплатных сообщений ― например, у Pushbullet это будет 100 сообщений в месяц.


Push уведомления на Android.

С примером конкретных реализаций можно ознакомиться:

Уведомления в мессенджеры на телефоны ― это, конечно, хорошо. Но только до тех пор пока у сервера Zabbix есть выход в интернет. Для гарантированного получения уведомлений при сбоях в сети лучше использовать традиционные каналы связи.

Zabbix «из коробки» поддерживает возможность отправлять SMS. К сожалению, он умеет это делать только через последовательный интерфейс. Если у вас завалялся Siemens MC35 или что-то подобное, то с настройками отправки СМС можно ознакомиться в документации Zabbix в разделе SMS.

Помимо такого архаичного варианта, можно воспользоваться сервисом для отправки СМС вроде sms.ru. Благо они все поддерживают разного рода API. Некоторые предоставляют и e-mail шлюз, и для настройки уведомлений не понадобится писать скрипты. Самое главное при выборе шлюза ― проверить его на предмет задержек доставки СМС.


Настройка скрипта для уведомлений по СМС.

С примером настройки Zabbix можно ознакомиться в статье «Бесплатная отправка SMS-уведомлений в Zabbix».

Отправка СМС через внешний шлюз не решит проблему отсутствия интернета на сервере в отличие от отправки через аппаратные устройства с симкой. В качестве бюджетного варианта можно использовать USB-модем ― например, Huawei e1550.

Голос

СМС можно пропустить запросто, а вот телефонный звонок ― уже сложнее. Поэтому для особо срочных уведомлений можно настроить Zabbix на телефонные звонки. Выходов, как обычно, несколько.

Простым решением будет использование внешнего сервера SIP. Для этого понадобится библиотека PJSIP, которую можно применить как консольный SIP-клиент. Для генерации голосового сообщения подойдет утилита text2wave из комплекта генерации речи Festival. Собрав все в кучу и добавив скриптовой магии, можно быть разбуженным заботливым сервером мониторинга.

Пример реализации детально описан в статье «Оповещения из Zabbix телефонным звонком».

Альтернативным вариантом станет использование своей АТС на базе Asterisk и обращение к ней с помощью специальных call-файлов или по интерфейсу AMI. Тогда, при наличии независимого от интернета канала связи вроде аналоговой линии или потока Е1, можно будет выслушать проблемы вашего сервера.

И не забываем охранять охранников

В статье я постарался привести ссылки на основные решения для уведомлений инженеров о проблемах. Главное, при проектировании системы мониторинга учесть возможность отсутствия интернета и не забыть про дублирующую систему, ответив себе на извечный вопрос «Quis custodiet ipsos custodes? ». И, конечно же, не нужно превращать сервер мониторинга в спамера, иначе уведомления станут бессмысленны.

Читайте также:  Как настроить колонку алиса дома

Если вы используете какой-то другой способ оповещения ― мы ждем его в комментариях.

Источник

Оповещения Zabbix через Telegram

Вы хотите получать уведомления с Zabbix через Telegram? Нет ничего проще!

Вы хотите получать уведомления с Zabbix через Telegram? Нет ничего проще!

Есть для этого готовый бот и Telegram API

Бот присылает все, что было в специальном HTTP GET запросе вида:

TOKEN — токен выданный ботом при его добавлении в список контактов Telegram

MESSAGE — собственно сообщение, которые хотите передать.

Итак, давайте разбираться, что нам для этого надо и что мы получим в итоге.

Добавление бота

После нажатия на START бот пришлет нам уникальный ключ «Token«

Ну вот и все. На этом наше общение с ботом окончено. Теперь только он нам будет писать то, что нам необходимо.

Настройка Zabbix Telegram

Создание скрипта

Данный скрипт сохраняем с произвольным именем, например. telegram.sh в директорию Zabbix’а, где хранятся скрипты уведомлений (в Freebsd по умолчанию это директория:
/usr/local/zabbix32/zabbix/alertscripts/ — (Для версии 3.2)

Делаем наш скрипт исполняемым:

Выдаем zabbix права на этот скрипт:

Настройка способа оповещения через telegram

Имя — Произвольное

Тип — Скрипт

Имя скрипта — так, как вы назвали скрипт при его создании

Параметры срипта:

(Это как раз и есть наши $1, $2 и $3)

И ставим галочку «Активировано«

И нажимаем Добавить (у меня обновить, так как он уже создан у меня)

Добавление способа оповещения пользователю

В появившемся окне выбираем тип — под каким именем мы создали действие, вставляем наш токен, который выдал нам бот и нажимаем «Добавить«

После этого у пользователя в Оповещениях появится новый способ оповещения. Нажимаем «Обновить«.

Теперь нам осталось только создать действий, по которому нам будет приходить какое-либо сообщение.

Настройка действий

Действие:

Имя — Пишем любое понятное для нас имя

Условие — Настраиваем условие, при котором будет происходит наше действие (ниже я приведу пример 1 из своих действий)

Операции:

Выбираем что будет присылаться нам во время срабатывание нашего условия

В операциях нажимаем Новый и добавляем наш способ оповещения:

Должно получиться что то типа вот этого.

На вкдадке Операции восстановления Выбираем в операциях «оповещение о восстановлении», чтобы знать, что проблема ушла.

И нажимаем «Добавить«. В принцип на этом этапе мы уже все настроили!

Заключение

Вот что мы в принципе видим в окне самого Telegram:

Собственно ничего сложного нет. Это настроить гораздо быстрее чем все это прочитать или тем более все это написать. Если возникнут трудности — пишите в комментарии. Постараюсь помочь.

]# wget -O /dev/null http://crierbot.appspot.com/LhbTlCHK. 4gqnwN8kGfE9aJz/send?message=TEST —2019-07-19 14:44:37— http://crierbot.appspot.com/LhbTlCHK. 4gqnwN8kGfE9aJz/send?message=TEST Resolving crierbot.appspot.com (crierbot.appspot.com). 64.233.162.153, 2a00:1450:4010:c05::99 Connecting to crierbot.appspot.com (crierbot.appspot.com)|64.233.162.153|:80. connected. HTTP request sent, awaiting response. 200 OK Length: 0 [text/html] Saving to: ‘/dev/null’ [ ] 0 —.-K/s in 0s 2019-07-19 14:44:38 (0.00 B/s) — ‘/dev/null’ saved [0/0]

Ваш покорный слуга — компьютерщик широкого профиля: системный администратор, вебмастер, интернет-маркетолог и много чего кто. Вместе с Вами, если Вы конечно не против, разовьем из обычного блога крутой технический комплекс.

Источник

Оцените статью