Zabbix уведомления Telegram — Andrey’s BLOG

В этой заметке я расскажу как настроить получение уведомлений от Zabbix в Telegram, таким образом, имея установленный клиент на телефоне, Вы сможете получать уведомления в реальном времени. Реализация будет на ruby, буквально в 5 строк. Как установить ruby найти проблем не составит. будем использовать готовый gem. Итак, приступим. Подразумевается что ruby уже стоит, и нам надо установить gem для работы с API Telegram.

# gem install telegram-bot-ruby

Далее создадим бота в Telegram. Для этого нужно добавить в контакты @BotFather и пишем ему:

/newbot

На изображениях виден весь диалог:

В результате Вы получите токен вида: 12345678:AA3edr5no-KDcr5jj-ZRtvSe-Xgbrz6TpFs Его необходимо сохранить, и не светить.

Далее, добавляем в контакты своего бота по username(последний пункт при создании бота). С Telegram закончили. Можете добавить описание и картинку для своего бота, подробнее как это сделать можете глянуть, написав /help контакту @BotFather.

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

В настройках zabbix-сервера(/etc/zabbix/zabbix_server.conf) ищем переменную AlertScriptsPath. У меня это /usr/lib/zabbix/alertscripts В этой папке создаем скрипт с именем send_msg_telegram.rb следующего содержания (не забудьте поставить свой токен):

#!/usr/bin/env ruby require 'telegram/bot' token = '12345678:AA3edr5no-KDcr5jj-ZRtvSe-Xgbrz6TpFs' v1 = ARGV[0] v2 = ARGV[1] v3 = ARGV[2] Telegram::Bot::Client.run(token) do |bot| bot.api.sendMessage(chat_id: "#{v1}", text: "#{v2} >>>\n\n#{v3}") end

Да простят меня программеры, ибо я ни разу не ruby-ист. Устанавливаем права на выполнение данного скрипта:

# chmod a+x /usr/lib/zabbix/alertscripts/send_msg_telegram.rb

И переходим к настройке Zabbix-а: В Administration->Media добавляем новый Media type:

В Administration->User выбираем своего юзера и настраиваем ему Media:

В поле Send to необходимо вставить ID Вашего с ботом чата, посмотреть его можно зайдя на:

https://api.telegram.org/bot12345678:AA3edr5no-KDcr5jj-ZRtvSe-Xgbrz6TpFs/getUpdates на предмет chat_id.

не забываем подставлять свой токен. Если там пусто, напишите что-нить своему боту, начинающееся с /

Идем дальше в Configuration->Actions и настраиваем Уведомления: Передергиваем какой-нить сервис на сервере который мониторим, чтоб сработал Zabbix и получаем уведомления от нашего бота к себе в Telegram.

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

Вот и всё!

Удачи в настройках. © shadow_alone

Токен в заметке изменен, не пытайтесь использовать его. ?

Поделиться:
Нет комментариев

Добавить комментарий

Ваш e-mail не будет опубликован. Все поля обязательны для заполнения.

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.