суббота, 26 января 2013 г.

Zabbix SMS + ePochta SMS API (v3.0)


Добрый день.


  1. Установка Zabbix-сервера и Zabbix-агента на сервере (для слежения его состояния).
  2. Первоначальная настройка Zabbix веб-интерфейса.
  3. Добавление новых серверов для отслеживания.
  4. Создание триггеров, сценариев, графиков.
  5. Zabbix SMS + ePochta SMS API (v3.0)
  6. Мониторинг MySQL с помощью Zabbix 

В данной заметке я расскажу как прикрутить монитроинг SMS-уведомления из Zabbix'a через SMS-шлюз ePochta.ru 

По умолчанию Zabbix предлагает отправку SMS через GSM-модем, подключенный к zabbix-серверу, в моем случае такого нет (сервера в германии), однако в нашей компании мы пользуемся услугами e-mail/sms-рассылок от ePochta (но я покажу на примере тестовой учетной записи - дают 10 халявных SMS).
Не долго думая решил прикрутить все это дело.

1. Регистрируем аккаунт на ePochta.
Переходим на страницу сервиса ePochta SMS и жмем большую, красную кнопку РЕГИСТРАЦИЯ. Заполняем все поля, вообщем регистрируемся как и везде.
Далее нам необходимо зайти в нашу учетную запись.
Справа с верху нажмем кнопку Настройки и перейдем во вкладку ePochta SMS.
Активируем API 3.0 и если надо генерируем публичный ключ и приватный ключ.
Данную страницу пока не закрывайте нам понадобятся эти значения.

2. Установка PHP-класса ePochta SMS API (v.3.0)
Для начала нам нужно скачать ePochta SMS API (v.3.0):
Перейдем во временную папку и скачаем ePochta SMS API:
$ cd /tmp
$ wget http://www.epochta.ru/products/sms/epochtasms-php-api.zip

Разархивируем:
$ unzip epochtasms-php-api.zip
$ cd api

Создадим папку alertscripts если ее нету:
$ mkdir /usr/local/share/zabbix/alertscripts/

И скопируем SMS API в нее:
$ mv * /usr/local/share/zabbix/alertscripts/

Изменим права на юзера zabbix, так как сервер работает под этим пользователем:
$ chown zabbix:zabbix /usr/local/share/zabbix/alertscripts/

3. Написание самого скрипта
Отредактируем файл config.php
$ cd /usr/local/share/zabbix/alertscripts/
$ nano config.php
вставляем значение наших приватного и публичного ключа в соответствующие переменные:
$sms_key_private="Ваш приватный ключ с сайта"
$sms_key_public="Ваш публичный ключ с сайта"

Сохраняем и выходим.

Подготовительные работы закончились, теперь надо написать скрипт, я решил просто заменить содержимое index.php:
$ nano index.php

и привел его к такому виду:
#!/usr/bin/php
<?php
include 'config.php';
include 'Addressbook.php';
include 'Exceptions.php';
include 'Account.php';
include 'Stat.php';

$Gateway = new APISMS($sms_key_private, $sms_key_public, 'http://atompark.com/api/sms/');
$account= new Account($Gateway);
$stat = new Stat($Gateway);
$result = $stat->sendSMS("alert","Server down","mobile",0,0);
?>
Где:
alert - тема сообщения (отправитель);
Server down - тело сообщения;
mobile - мой номер телефона.

Выставляем права на выполнение:
$ chmod 755 index.php

3. Изменение настроек Zabbix-сервера:

$ nano /usr/local/etc/zabbix_server.conf

Воспользуемся поиском для нахождения нужной строки (Ctrl+W):
Search: AlertScriptsPath (Enter)

После комментариев пишем свой путь:
AlertScriptsPath=/usr/local/share/zabbix/alertscripts

4. Создание способа оповещения.
Заходим в интерфейс управления zabbix-сервером, Администрирование -> Способы оповещений -> Создать способ оповещения.
Создаем новое оповещение:
Описание - имя оповещения
Тип - выбираем Скрипт
Имя скрипта - index.php
Активировано - Да

5. Настройка Действия
Перейдем в Настройки -> Действия -> Report problems to Zabbix administrator -> Операции.
Добавляем новое действие:
Тип операции - Отправлять сообщение
Пользователь - Ваш пользователь которому отправлять смс
Отправлять только - Имя оповещения
Жмем Добавить и Сохранить.

Теперь при выполнении условия описанного в Действии вам будут приходить СМСки.

Используемые ссылки:
Пример подключения к шлюзу ePochta SMS 3.0 на PHP
Тут понял какие пути использовать


2 комментария:

  1. Being new to the blogging world I feel like there is still so much to learn. Your tips helped to clarify a few things for me as well as giving..
    Digital Mobile Marketing
    SMS API
    SMS Marketing

    ОтветитьУдалить
  2. This is excellent information. It is amazing and wonderful to visit your site.Thanks for sharing this information,this is useful to me...
    Mobile Marketing Service
    Mobile Marketing Companies
    Texting API
    Sms API
    Sms marketing

    ОтветитьУдалить