суббота, 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
Тут понял какие пути использовать


1 комментарий:

  1. India's One of The Best Online Mobile Recharge Software Development Company, Using Our All in One Mobile Recharge Software You Can Recharge All India Operator via Single SIM Card. Free Distributor or Retailer ID. B2B or B2C Multi Recharge or Domestic Money Transfer Software Provider in India.
    Bulk SMS Provider in India

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