Integration SMS Club and Zabbix

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

Для этого необходимо для начала проверить на zabbix-сервере по пути /etc/zabbix/zabbix_server.conf – раскомментирована ли строка с вызовом внешних алерт скриптов

  • AlertScriptsPath=/usr/lib/zabbix/alertscripts
    директорию можно указывать любую, главное, что бы был доступ пользователя zabbix and www-data

В директорию /usr/lib/zabbix/alertscripts добавляем два файла, smsclub.sh (перехват данных от zabbix’а и передача второму скрипту), sms_send.php (php-скрипт отправки сообщений через gate.smsclub.mobi). Данные скрипты можно будет добыть в конце статьи.

Далее нужно донастроить zabbix для правильной работы СМС-информирования. Идем в веб-интерфейс zabbix-сервера, в меню «Администрирование» —> «Способы оповещений» и нажимаем на кнопку «Создать способ оповещения». В предложенной форме необходимо заполнить поля следующим образом:

  1. Имя: обзываем как хотим, в нашем случае smsclub.
  2. Тип: выбираем «скрипт».
  3. Имя скрипта: smsclub.sh (имя должно совпадать с именем самого скрипта).
  4. Параметры Скрипта (только для версии 3. во всей линейке версии 2 этих параметров нет): нужно добавить три параметра:

{ALERT.SENDTO}
{ALERT.SUBJECT}
{ALERT.MESSAGE}
(каждый с новой строки)

  1. И для завершения наших манипуляция нажимаем кнопку «Добавить».

Должно получится нечто такое:

После этого идем в веб-интерфейсе zabbix-сервера, в меню «Администрирование» —> «Пользователи». Тут мы будем настраивать пользователя для уведомлений. Добавим пользователя (к примеру) smsclub.

После добавления пользователя – необходимо перейти на закладку «Оповещения» для настройки типа оповещений. Здесь можно добавлять разного рода оповещения, нас интересует добавление способа smsclub.

Нажимаем «Добавить» и выбираем:

  • Тип – smsclub.
  • Отправлять на: номер телефона.
  • Когда активен: имеется в виду в какое время можно отправлять смс (1-7 дни недели, 00:00-24:00 время).
  • Использовать, если важность: настройка, при каких тригерах будет выполняться скрипт отправки смс.

Для завершения настройки необходимо нажать «Добавить».

Теперь механизм СМС оповещений будет будить Вас в любое время суток и, возможно, огорчать, если что-то «отвалилось».

 

Описание скриптов:

  • Скрипт smsclub.sh (SenderID в данном файле – это альфаимя (отправитель), который должен быть согласован с www.smsclub.mobi)
#!/bin/bash
to=$1
subject=SenderID
body=$3
/usr/bin/php /usr/lib/zabbix/alertscripts/sms_send.php --to="$to" --body="$body" --subj="$subject"

 

ВАЖНО: скрипт smsclub.sh — должен быть исполняем chmod +x /usr/lib/zabbix/alertscripts/smsclub.sh

 

  • Скрипт sms_send.php (на сервере должен стоять php и curl)
<?php
/**
* This example demonstrates how to send single sms via JSON API
*
* @url smsclub.mobi
* @author SMS CLUB
*/
$arg1 = $argv[1];
$arg2 = $argv[2];
$token = 'My Token';
$url = 'https://im.smsclub.mobi/sms/send';
$data = json_encode([
'phone' => ['Phonenumber'],
'message' => $arg1. " ". $arg2,
'src_addr' => 'Shop Zakaz' // Ваше альфа-имя
]);
$ch = curl_init();

curl_setopt_array($ch, [
CURLOPT_URL => $url,
CURLOPT_POSTFIELDS => $data,
CURLOPT_POST => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . $token,
'Content-Type: application/json'
]
]);
$result = curl_exec($ch);
echo $result;

curl_close($ch);

Когда срабатывает Zabbix — он выполняет скрипт следующим образом:

sms_send.php {ALERT.SUBJECT} {ALERT.MESSAGE}

То есть у нас есть два аргумента.
Эти два аргумента нужно передать для отправки сообщения в поле:

'message' => $arg1. " ". $arg2,

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

Если звезды Вам благоволят сегодня, то все получится с первого раза. Или Вы можете обратиться в службу поддержки проекта smsclub.mobi, и Вам помогут восстановить паритет между проблемой и решением.

PS: Конечно, для полноценной работы СМС-оповещений необходимо иметь рабочий аккаунт на сайте smsclub.mobi.

Оценить статью
Rate this post
Читайте также:
TOP