Настройка отправки оповещений Zabbix в чат Rocket.Chat

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

 
 
Логотип GITA-DEV

Автор: Черноусов Антон aka Gita-Dev
Опубликовано: 21 Май 2018 (последние правки 1 месяц)

admin chat cv dev email git rocket rocket.chat rocketchat tar zabbix утилиты

Я получил несколько вопросов на тему отправки Zabbix-оповещений в чат Rocket.Chat и сейчас я конечно расскажу подробнее как это можно сделать. Прежде всего вам необходимо настроить консольную утилиту для отправки сообщений в чат Rocket.Chat которую я подробно описывал в статье "Использование Rocket.Chat для создания чата оперативных оповещений".

Отправка сообщений из Linux-консоли в чат Rocket.Chat

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

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

# su zabbix -s /bin/bash
$ echo "Hello from Zabbix" | /opt/rocket-send/rocketsend.py send

Убедившись, что прав доступа хватает, переходим к настройке собственно Zabbix.

Настройка Zabbix для отправки оповещений

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

Отправка оповещений Zabbix по электронной почте.

Для добавления дополнительного метода отправки сообщений, перейдите в WEB-интерфейс управления Zabbix и перейдите в раздел "Administration -> Media types".

Добавление медиа-типа в Zabbix

Естетсвенно, что все подряд в виде скрипта из Zabbix вызывать не получится и это логично, ведь тогда мы ставим под угрозу безопасность хоста. В конфигурации zabbix-сервера есть специальный раздел который описывает каталог из которого можно запускать скрипты оповещений (AlertScriptsPath).

AlertScriptsPath=/etc/zabbix/alerts/

Zabbix-сервер потребуется перезапустить для применения изменений конфигурации:

# systemctl restart zabbix-server

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

to=$1
subject=$2
body=$3

Пока не очень понятно, поэтому перейдем сразу к практике, для создания нового способа оповещений используйте кнопку "Create media type" и задайте тип оповещения Script.

Настройка медиа-типа для Zabbix

Как вы видите, мы как раз и задали здесь три параметра который будут передаваться нашему скрипту (send-rocket.alert.sh), в моем случае можно не использовать параметр SENDTO, так как имя чата задано в конфигурационном файле Rocket.Send, но на всякий случай на будущее оставим. Согласно документации (https://www.zabbix.com/documentation/3.0/manual/config/notifications/media/script) есть всего три параметра которые мы можем передать:

  • {ALERT.SENDTO} - Адрес указанный в настройках пользователя для конкретного типа медиа (это не адрес электронной почты)
  • {ALERT.SUBJECT} - Тема сообщения
  • {ALERT.MESSAGE} - Само сообщение

Мой скрипт оповещений не может принимать текст отправляемог осообщения в виде параметра и мне пришлось написать скрипт посредник который я и указал в параметре Script name:

#!/bin/sh

to=$1
subject=$2
body=$3

cat <<EOF | rocketsend send
$subject
$body
EOF

Вот собственно и весь фокус и таким способом можно настроить отправку оповещений куда угодно, а не только в Rocket.Chat, но самое главное, обязательно добавьте этот тип медиа в настройки пользователя!

Добавьте новый тип медиа вашему пользователю

P.S. Если у вас, что-то пошло не так, то вы всегда можете повысить уровень отладки приложения и более подробно изучить лог-файл Zabbix-сервера, а отвечает за это параметр:

DebugLevel=4

Похожие статьи

Сброс пароля Zabbix-пользователя без использования графического интерфейса

Сброс пароля Zabbix-пользователя без использования графического интерфейса

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


Устранение проблем с запуском Zabbix в Centos 7.1 (проблема с правилами SeLinux)

Устранение проблем с запуском Zabbix в Centos 7.1 (проблема с правилами SeLinux)

Наверное каждый системный администратор при работе с Linux дистрибутивами Centos и RedHat рано или поздно сталкивается с его дополнительно системой аудита уровня ядра под названием SeLinux. Первое знакомство с этой системой безопасности вызвало у меня желание просто отключить ее, что кстати в большинстве случаев и советуют на разного рода форумах, но как показывает практика делать этого не стоит. И хотя вы можете столкнуться с ограничением доступа в самых не очевидных местах, я рекомендовал бы вам просто проверять лог аудита и на основе его надстраивать исключения из схемы модели безопасности. Именно это я сейчас и продемонстрирую на примере Zabbix-агента.


Установка и базовая настройка Zabbix-сервера (сборка из SVN-репозитария)

Установка и базовая настройка Zabbix-сервера (сборка из SVN-репозитария)

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


RocketChat - Установка и настройка из репозитария (не docker)

RocketChat - Установка и настройка из репозитария (не docker)

Рано или поздно вам все равно придет в голову мысль о внутреннем корпоративном мессенджере полностью вам подконтрольном и настраиваемом. Я перепробовал много различных мессенджеров и в конце концов пришел к мнению, что Rocket.Chat подходит на эту роль лучше других. В типовом решении описанном на сайте Rocket.Chat вам просто предложат использовать подготовленный Docker-контейнер, но я честно говоря недолюбливаю докеры и мне ближе полностью подконтрольные мне контейнеры LXD.


Отправка оповещений Django-приложения в приватный чат Rocket.Chat

Отправка оповещений Django-приложения в приватный чат Rocket.Chat

Вчера я подумал, что если я все же вернулся к использованию Rocket.Chat и он меня уже не так бесит как предыдущие версии, то можно настроить систему оповещений о событиях на сайте и сбоях в работе Django-приложения в приватный чат Rocket.Chat. Для Python быстро нашелся вполне работоспособный модуль который идеально подошел для отправки сообщений в приватные чаты.


Установка Zabbix-Agent версии 3.4 в Ubuntu Linux 16.04

Установка Zabbix-Agent версии 3.4 в Ubuntu Linux 16.04

Небольшая инструкция по подключению репозитария и установке zabbix-агента версии 3.4 в Ubuntu Linux 16.04


Тестирование GIT-версии Rocket.Chat (Обновление Rocket.Chat)

Тестирование GIT-версии Rocket.Chat (Обновление Rocket.Chat)

Я активно использую в своей работе Rocket.Chat и честно говоря меня все устраивает, но недавно мне преподнесли небольшой сюрприз объявив мобильную версию для Android устаревшей фактически принудительно ее обновив, точнее они навязчиво рекомендовали обновиться при каждом запуске приложения и однажды я все же случайно нажал на обновление и в общем зря я это сделал ...


Настройка Nginx-Front для работы с Rocket.Chat

Настройка Nginx-Front для работы с Rocket.Chat

В прошлой статье я рассказывал, что у меня после очередного обновления сломался клиент Rocket.Chat для Android и я думал, что это связано с устаревшей версией серверной части, но как оказалось на самом деле это было связано с некорректной конфигурацией Nginx.


Использование Rocket.Chat для создания чата оперативных оповещений

Использование Rocket.Chat для создания чата оперативных оповещений

В предыдущей статье, под названием использование Rocket.Chat для создания чата оперативных оповещений я рассматривал простейший пример того как можно отправить сообщение в приватный чат Rocket.Chat. На самом деле в своих проектах я использую несколько модифицированную версию этого решения, более адаптированную к продакшн-решениям. Сегодня я как раз и хотел бы поговорить о том как я модифицировал рассмотренное ранее API для реализации так называемого оперативного чата.


Подробный мониторинг состояния дисковой подсистемы Linux при помощи Zabbix

Подробный мониторинг состояния дисковой подсистемы Linux при помощи Zabbix

Для серверов виртуализации необходимо постоянно следить за состоянием дисковой подсистемы, и это не ограничивается банальным iowait, гораздо более важным параметром является например длина дисковой очереди. Так же не забываем мониторить состояние SMART и статус программных дисковых массивов.


Установка Zabbix версии 3.4 в Linux-дистрибутив Debian 9

Установка Zabbix версии 3.4 в Linux-дистрибутив Debian 9

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


Перенос Rocket.Chat на другой сервер (резервное копирование и восстановление)

Перенос Rocket.Chat на другой сервер (резервное копирование и восстановление)

Сегодня я расскажу как можно осуществлять резервное копирование Rocket.Chat. Но как говорится, мало настроить резервное копирование, надо в дальнейшем еще и восстановиться с созданной резервной копии, поэтому помимо создания резервной копии Rocket.Chat рассмотрим еще и ее восстановление на новом сервере.


Мониторинг основных показателей базы данных Postgresql при помощи Zabbix

Мониторинг основных показателей базы данных Postgresql при помощи Zabbix

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


Установка Zabbix agent 4.0 в Ubuntu Server 18.04

Установка Zabbix agent 4.0 в Ubuntu Server 18.04

Если вы как я любите все самое свежее, то у меня для вас есть неприятная новость, - для Ubuntu 18.04 нет репозитария со свежим Zabbix 4-ой версии. Но, это не беда и мы всегда можем его собрать самостоятельно из исходных кодов, просто следуйте представленной ниже инструкции.


Отзывы и комментарии