понедельник, 3 февраля 2014 г.

Мониторинг Asterisk с помощь Zabbix-Agent

В силу того, что моя деятельность сводится к разработке и администрированию систем телефонии, я постоянно сталкиваюсь с необходимостью мониторинга данных сервисов, ну а уж если речь заходит о мониторинге то, по моему мнению, Zabbix - наше всё, потому что гибок, отлично документирован, да и используют его многие, а значит решение различных задач и возможных проблем найти будет довольно просто. вот и я решил стать одним из многих и написал свой шаблон с набором скриптов для мониторинга основных параметров Asterisk. В качестве языка для скриптов решил использовать Python потому что, по моему, он очень прост в изучении и не требует много усилий на реализацию простых задач (да и сложных тоже). Данный шаблон со всеми скриптами лежит в репозитории, какие либо доработки обязательно буду коммитить и описывать здесь.


Так как серверов у меня достаточно и мониторить приходится их все, то я принял решение вынести все основные функции в шаблон с его общими, для всех серверов, элементами данных и графиками. Что же из этого получилось:

  • Мониторинг количества одновременных звонков с отображением в виде графика
  • Мониторинг памяти используемой непосредственно сервером Asterisk
  • Мониторинг количества peers (online/ofline) с отображением в виде двойного графика
  • Мониторинг состояния сервера с проверкой по 3 триггерам срабатывающим на: нулевое использование оперативной памяти, недоступность SIP порта (UDP 5060) для подключения, отсутствие соответствующего PID файла
Используя статусы выше описанных триггеров возможно настроить определённые действия по оповещению ответственных лиц, что очень не мало важно при использовании в production среде.

Описываемый здесь шаблон создан для Zabbix 2.0 (именно его я использую как самый стабильный на данный момент) и Zabbix-Agent 2.2. Операционная система, установка на которую будет описана ниже, CentOS. Установка и настройка самого Zabbix и его агента, надеюсь, в описании не нуждается.

Итак приступим.

Клонируем актуальную версию в /usr/src 

cd /usr/src
git clone https://bitbucket.org/lukyanenko/bit_asteragent.git

копируем скрипты и файл конфигурации в папку /etc/zabbix


cp -R /usr/src/bit_asteragent/scripts/ /etc/zabbix/
cp -R /usr/src/bit_asteragent/Bit_AsterAgent/ /etc/zabbix/

создаём ссылку на новый конфигурационный файл в основном конфиге демона zabbix_agentd.conf для этого добавляем в этом файле следующую строку:

Include=/etc/zabbix/Bit_AsterAgent
и перезапускаем сам демон
service zabbix-agent restart

незабываем дать права на Asterisk CLI пользователю Zabbix и внести соответствующие настройки в /etc/sudoers иначе скрипты работать не будут, а значит и данные ваш Zabbix сервер не получит!!!

Теперь импортируем шаблон расположенный здесь, на сервер и добавляем в него хосты которые будем мониторить. Теперь всё готово

Следите за обновлениями, скрипты и шаблон в репозитории, будут дорабатываться.

Буду очень рад конструктивной критике и предложениям.

Комментариев нет :

Отправка комментария

Яндекс.Метрика