Как настроить zabbix на Телеграмм

Содержание
Еще по теме:  Как в Телеграмме публиковать большие посты

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

Для Zabbix версий до 5.х (хотя и в 5-й так тоже можно, но там можно проще)

YOU: /newbot BotFather: Alright, a new bot. How are we going to call it? Please choose a name for your bot. YOU: bot_name BotFather: Good. Now let’s choose a username for your bot.

It must end in `bot`. Like this, for example: TetrisBot or tetris_bot. YOU: bot_name_bot BotFather: Done! Congratulations on your new bot. You will find it at t.me/bot_name_bot. You can now add a description, about section and profile picture for your bot, see /help for a list of commands.

By the way, when you’ve finished creating your cool bot, ping our Bot Support if you want a better username for it. Just make sure the bot is fully operational before you do this. Use this token to access the HTTP API: 993279574:AAGPAGf8V1Ct3P-qD04BzmvpOnv34t For a description of the Bot API, see this page: https://core.telegram.org/bots/api

How to configure Zabbix 6.2 to send alert notification to Telegram

Создаём группу и добавляем туда созданного бота. Выполняем запрос вида:

Он должен вернуть ответ, где среди всего содержимого есть

«chat»:

Если такого содержимого нет, то надо удалить бота и добавить его в группу снова, и повторить выполнение запроса.

Создать скрипт в каталоге /usr/ lib / zabbix / alertscripts (для Debian) и подставить свой токен.

#!/bin/bash TOKEN=’993279574:AAGPAGf8V1Ct3P-qD04BzmvpOnv34t’ if [ $# -ne 3 ] ; then echo ‘Error! You must to define three params’ exit 1 ; fi CHAT_ID=»$1″ SUBJECT=»$2″ MESSAGE=»$3″ curl -s —header ‘Content-Type: application/json’ —request ‘POST’ —data «»,»text»:»$n$»>» «https://api.telegram.org/bot$/sendMessage» | grep -q ‘»ok»:false,’ if [ $? -eq 0 ] ; then exit 1 ; fi

Создаём новый способ оповещения типа «Script».

Перейти в Настройки — Действия. Если есть стандартная настройка отправки сообщений всем через все возможные варианты оповещения (All Media), то можно ничего не менять.

Переходим в Профиль пользователя > Оповещения и добавляем/редактируем новую запись

Теперь все оповещения приходят в группу.

Для Zabbix версий от 5.х

Для пятой версии Zabbix и выше действия по настройке почти такие же как выше. Бот и чат (если необходим чат) создаются так же. А вот уже способ оповещения будет создан немного по другому.

Еще по теме:  Как сделать приватный Телеграм канал

Итак, если бот уже создан и есть id чата, то идём в заббикс и оформляем тип оповещения Webhook.

Код скрипта вставляется через веб-интерефейс:

var Telegram = token: null, to: null, message: null, proxy: null, parse_mode: null, sendMessage: function() var params = chat_id: Telegram.to, text: Telegram.message, disable_web_page_preview: true, disable_notification: false >, data, response, request = new CurlHttpRequest(), url = ‘https://api.telegram.org/bot’ + Telegram.token + ‘/sendMessage’; if (Telegram.parse_mode !== null) params[‘parse_mode’] = Telegram.parse_mode; > if (Telegram.proxy) request.setProxy(Telegram.proxy); > request.AddHeader(‘Content-Type: application/json’); data = JSON.stringify(params); // Remove replace() function if you want to see the exposed token in the Log file. Zabbix.Log(4, ‘[Telegram Webhook] URL: ‘ + url.replace(Telegram.token, »)); Zabbix.Log(4, ‘[Telegram Webhook] params: ‘ + data); response = request.Post(url, data); Zabbix.Log(4, ‘[Telegram Webhook] HTTP code: ‘ + request.Status()); try response = JSON.parse(response); > catch (error) response = null; > if (request.Status() !== 200 || typeof response.ok !== ‘boolean’ || response.ok !== true) if (typeof response.description === ‘string’) throw response.description; > else throw ‘Unknown error. Check debug Log for more information.’ > > > > try var params = JSON.parse(value); if (typeof params.Token === ‘undefined’) throw ‘Incorrect value is given for parameter «Token»: parameter is missing’; > Telegram.token = params.Token; if (params.HTTPProxy) Telegram.proxy = params.HTTPProxy; > if ([‘Markdown’, ‘HTML’, ‘MarkdownV2’].indexOf(params.ParseMode) !== -1) Telegram.parse_mode = params.ParseMode; > Telegram.to = params.To; Telegram.message = params.Subject + ‘n’ + params.Message; Telegram.sendMessage(); return ‘OK’; > catch (error) Zabbix.Log(4, ‘[Telegram Webhook] notification failed: ‘ + error); throw ‘Sending failed: ‘ + error + ‘.’; >

Остальные настройки на отправку сообщения, назначение пользователям заббикса такие же, как и для 4й версии.

Zabbix Alert Notification on Telegram — Efficient Monitoring! bangla!2022

Использовал материал с https://xakinfo.ru/. Там использован другой скрипт и отправка сообщение идёт не в группу, ну суть та же. Зато там скрипт вроде как отправляет графики.

Создание и привязка Telegram-bot для уведомлений Zabbix

Zabbix — это универсальный сервис для мониторинга всей ИТ-инфраструктуры. Создание бота для уведомлений о состоянии системы — это удобный способ дистанционного контроля.

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

Создание Telegram BOT

1) Зайдите в Telegram аккаунт и в поиске каналов и чатов, введите“BotFather”.

1.jpg

2) После перехода в “BotFather”, нажимаем “Запустить”.

2.jpg

3) Прописываем команду /newbot — создать нового бота.

3.jpg

4) Теперь выбираем имя для бота. У нас, для примера, бота с именем “Test1”.

4.jpg

Следующим шагом придумываем username — имя пользователя для бота, при этом окончание должно быть такое: _bot. В качестве примера установим — “Test1zabbix_bot”.

Важно! Ваше имя пользователя должно быть УНИКАЛЬНЫМ, если имя уже занято, то система выдаст ошибку:

5.jpg

В случае успеха у вас появится следующее сообщение:

6.jpg

Привязка API ключа к Zabbix

1) Заходим по ссылке (стрелка №1)и нажимаем “Запустить”.

2) Копируем строчку с вашим API.

3) Заходим в Zabbix — “Способы оповещения”,”Telegram”.

4) В строку “Token” вставляем API ключ из телеграмм.

8.jpg

5) Переводим шаблон отправки сообщений на русский язык, но можно оставить как есть, зависит от того, с каким языком вам удобнее работать. Переходим в “Шаблон сообщений”, “Изменить” и в появившемся окне выбираем язык.
Не меняем значения таких переменных как: on

9.jpg

Создания способа уведомления для пользователей или групп

Определяем адресатов и характер уведомлений. Можно настроить бота как на отправку уведомлений о конкретных проблемах одному человеку, так и нескольким людям в группу, где все смогут его увидеть.

У нас настроена группа для отправки общих уведомлений по всем системам, которые мониторятся, а специалисту по 1С приходят только уведомления о проблемах, связанных с серверами 1С.

Настраиваем уведомления в группу

1) Создаем группу и добавляем туда необходимых людей.

10.jpg

2) Добавляем в группу созданного бота и делаем его администратором.

11.jpg

12.jpg

13.jpg

5) Копируем всё после ID is : -67164657

6) Далее заходим в интерфейс Zabbix “Администрирование”, “Пользователи”, выбираем пользователя. У нас для примера — это “Admin”, нажимаем на него и заходим в настройки профиля.

14.jpg

7) Выбираем вкладку “Оповещения”, нажимаем “Добавить”.

15.jpg

9) Нажимаем “Добавить”. Если все действия выполнены верно, то у вас будет отображаться следующее:

17.jpg

Проверьте “Status”, должно быть “Активировано”.

Тестирование и проверка

Переходим к проверке отправки уведомлений.

1) Заходим “Администрирование”, “Способы оповещений”, находим в списке Telegram и нажимаем “Тест”.

18.jpg

В строку to вставляем Your group ID, нажимаем “Тест”.

19.jpg

Проверяем Telegram аккаунт, если все сделано правильно, то придет тестовое оповещение.

20.jpg

Другие способы оповещения в Zabbix

Zabbix обладает большими возможностями выбора способа оповещений. Вот некоторые из них:

  • Brevis.one
  • Discord
  • Email
  • Email (HTML)
  • Express.ms
  • Express.ms
  • iLert
  • iTop
  • Jira
  • Jira ServiceDesk
  • Jira with CustomFields
  • ManageEngine ServiceDesk
  • Mattermost
  • MS Teams
  • Opsgenie
  • OTRS
  • PagerDuty
  • Pushover
  • Redmine
  • Rocket.Chat
  • ServiceNow
  • SIGNL4
  • Slack
  • SMS
  • SolarWinds Service Desk
  • SysAid
  • Telegram
  • TOPdesk
  • VictorOps
  • Zammad
  • Zendesk

Если необходимо привязать и настроить оповещения к проблемам определенного устройства или сервера, то посмотрите нашу статью Как автоматизировать мониторинг серверов 1С с помощью Telegram средствами Zabbix Agent.

В статье показан один из способов оповещений, который используется у нас.

Источник: alfaitstudio.ru

Мониторинг микроклимата серверной комнаты при помощи графиков, отправляемых в Telegram

Рейтинг
( Пока оценок нет )
Загрузка ...