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}

(кожен з нового рядка)

5. І для завершення наших маніпуляція натискаємо кнопку “Додати”.

Має вийти щось таке:

Після цього йдемо у веб-інтерфейсі 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

/**

* Цей приклад демонструє, як надсилати окремі sms через 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