У нас на предприятии, основным способом оповещения о событиях системы мониторинга Zabbix является email-рассылка. Jabber не прижился ввиду малой распространенности, а СМС устарел (хоть и весьма универсален). Хотелось предложить ещё одну альтернативу, которой и стали push-уведомления.
Сервис Pushbullet уже успел сделать себе имя на платформе Android, а с недавних пор пытается покорить и iOS. Pushbullet умеет слать «пуши» на телефоны, принимать их в браузере (Chrome и Firefox) и из него же снова отправлять. В общем очень удобный и полезный сервис, который плюс ко всему имеет открытый API. Посредством этого API мы и будем отправлять события Zabbix на телефоны сотрудников.
Предполагается, что у вас уже есть аккаунт на данном сервисе. В этом случае просто перейдите в настройки своего профиля.
Создайте bash-скрипт для отправки push-уведомлений на все устройства. Назовите его
Где
Чуть позже, в комментариях, начали предлагать разные версии скриптов для отправки сообщений на конкретные устройства. В принципе, можно использовать данный способ как вместо, так и совместно с тем, что указан выше. Я решил добавить вариативности и использовать скрипты совместно. Назовите новый скрипт
Теперь, в поле «Отправить на» мы указываем не только API, но и идентификатор устройства. Узнать их перечень можно следующим способом:
Поле «Отправить на» у нас будет выглядеть так (разделитель "
Где
Соответственно, каждый ответственный сотрудник указывает в своём профиле личный API и начинает получать уведомления.
UPD_02.08.2014: Обновил статью. Добавил скрипт для отправки на конкретные устройства и с использованием API v2 от Pushbullet.
Сервис Pushbullet уже успел сделать себе имя на платформе Android, а с недавних пор пытается покорить и iOS. Pushbullet умеет слать «пуши» на телефоны, принимать их в браузере (Chrome и Firefox) и из него же снова отправлять. В общем очень удобный и полезный сервис, который плюс ко всему имеет открытый API. Посредством этого API мы и будем отправлять события Zabbix на телефоны сотрудников.
Шаг 1: Узнайте свой Pushbullet API
Предполагается, что у вас уже есть аккаунт на данном сервисе. В этом случае просто перейдите в настройки своего профиля.
Шаг 2: Создаём bash-скрипт
Вариант 1: Отправляем сообщения на все устройства
Создайте bash-скрипт для отправки push-уведомлений на все устройства. Назовите его
pushbullet-all
#!/bin/bash
API_KEY="$1"
SUBJECT="$2"
MESSAGE="$3"
curl https://api.pushbullet.com/v2/pushes \
-u $1: \
-d type=note \
-d title="$SUBJECT" \
-d body="$MESSAGE" \
-X POST
Где
$N
— переменные. $1
— уникальный API (позже указывается в профиле пользователей Zabbix), $2
— будет заголовком, $3
— станет телом сообщения. Подробнее в справке Zabbix.Скрипт нужно скопировать в папкуalertscripts
вашего Zabbix-сервера (например:/usr/local/share/zabbix/alertscripts
). Не забудьте сделать скрипт исполняемым (chmod +x pushbullet-all
).
Вариант 2: Отправляем сообщения на конкретные устройства
Чуть позже, в комментариях, начали предлагать разные версии скриптов для отправки сообщений на конкретные устройства. В принципе, можно использовать данный способ как вместо, так и совместно с тем, что указан выше. Я решил добавить вариативности и использовать скрипты совместно. Назовите новый скрипт
pushbullet-dev
:#!/bin/bash
API_KEY="${1%%_*}"
DEV_ID="${1#*_}"
SUBJECT="$2"
MESSAGE="$3"
curl https://api.pushbullet.com/v2/pushes \
-u $API_KEY: \
-d device_iden=$DEV_ID \
-d type=note \
-d title="$SUBJECT" \
-d body="$MESSAGE" \
-X POST
Скрипт нужно скопировать в папкуalertscripts
вашего Zabbix-сервера (например:/usr/local/share/zabbix/alertscripts
). Не забудьте сделать скрипт исполняемым (chmod +x pushbullet-all
).
Теперь, в поле «Отправить на» мы указываем не только API, но и идентификатор устройства. Узнать их перечень можно следующим способом:
curl -u <your api key here>: https://api.pushbullet.com/api/devices
Поле «Отправить на» у нас будет выглядеть так (разделитель "
_
"):api_dev
Где
api
— Ваш API-ключ (api_key
), а dev
— Ваш идентификатор устройства (dev_iden
).Ниже будут скриншоты для 1 варианта, со вторым просто имейте ввиду, что имя скрипта —pushbullet-dev
, а в поле «Отправить на» нужно указать какAPI
так иID
.
Шаг 3: Настройка Zabbix
Создайте новый способ оповещения (Администрирование — Способы оповещений)
Создайте новое действие, на вкладке «Операции» определите новый тип уведомлений
В настройках профиля пользователя укажите Ваш API Key
Соответственно, каждый ответственный сотрудник указывает в своём профиле личный API и начинает получать уведомления.
Шаг 4: Наслаждайтесь
UPD_02.08.2014: Обновил статью. Добавил скрипт для отправки на конкретные устройства и с использованием API v2 от Pushbullet.