Pull to refresh

Мониторим Asterisk при помощи snmp и Zabbix

Привет Хабражители!
Хочу поделиться с вами моим опытом настройки мониторинга Asterisk(для краткости, буду называть его *) при помощи Zabbix. Делать мы это будем при помощи snmp.
Итак, исходные данные: сервер с FreeBSD 8.1, на котором стоит Asterisk 1.6.2.13 и сервер с CentOS 5, где установлен Zabbix версии 1.8.4.

Настройка сервера с *
Установим SNMP из портов и добавим его в автозапуск:
cd /usr/ports/net-mgmnt/net-snmp
make && make install clean
echo 'snmpd_enable="YES"' >>/etc/rc.conf

Для работы с мониторингом мы будем использовать SNMP 3 версии, так как 1 и 2 версия ненадежны с точки зрения безопасности. Итак, вы установили нужные пакеты, переходим к настройке.
Основной конфигурационный файл SNMP — /usr/local/share/snmp/snmpd.conf. Внесем туда следующие настройки
# Asterisk user
rwuser asteriskZabbix priv
createUser asteriskZabbix MD5 change_this_password DES

Тут надо заметить, что если астериск работает не в группе asterisk, то здесь нужно прописать ту группу, в которой он работает.
# Asterisk configuration
master agentx
agentXSocket /var/agentx/master
agentXPerms 0660 0550 nobody asterisk

После этого качаем с сайта производителя MIBы и кидаем их в папку /usr/local/share/snmp/mibs.
Теперь добавляем SNMP в автозапуск и запускаем его
echo ‘snmpd_enable=”YES”’ >> rc.conf
/usr/local/etc/rc.d/snmpd start

Подгружаем MIB для *
setenv MIBS ASTERISK-MIB
Теперь настраиваем *.
Чтобы мониторить * по snmp нам понадобится модуль res_snmp. Проверить подгружен ли он в * можно командой asterisk -rx 'module show like res_snmp', если в консоли появилось что-то вроде
Module Description Use Count
res_snmp.so SNMP [Sub]Agent for Asterisk 0

то у нас все хорошо, идем дальше. Если модуль не подгружен, то его надо либо загрузить вручную командой module load, либо, если такого модуля нет вообще, то пересобрать * с поддержкой snmp.
Внесем парочку изменений в конфигурационный файл /usr/local/etc/asterisk/res_snmp.conf
subagent = yes
enabled = yes
На этом этапе подготовительная работа на стороне сервера * закончена. Проверяем все ли работает
snmpwalk -v 3 -u asteriskZabbix -n "" -l authPriv -a MD5 -A change_this_password -X change_this_password localhost asterisk
Если вы увидели что-то вроде этого, то все хорошо
ASTERISK-MIB::astVersionString.0 = STRING: 1.6.2.13
ASTERISK-MIB::astVersionTag.0 = Gauge32: 10602
ASTERISK-MIB::astConfigUpTime.0 = Timeticks: (957070) 2:39:30.70
ASTERISK-MIB::astConfigReloadTime.0 = Timeticks: (957070) 2:39:30.70


Настройка сервера Zabbix
Основную работу мы проделали. Теперь нам нужно подключить сервер к Zabbix и добавить туда шаблон.
Сначала добавим шаблон, это делается в меню Настройки – Шаблон – Импорт шаблона.
Шаблон можно скачать тут. Перед тем, как импортировать его, все значения PASSWORD нужно сменить на тот пароль, который вы указали в snmpd.conf.
Теперь добавим наш сервер Настройка – Узлы сети – Создать узел сети.
Заполняем поля, вводим название хоста, его ИП адрес, присоединяем шаблон, который мы импортировали.
Все, теперь все должно работать. Шаблон умеет показывать количество каналов, версию *, аптайм *, ИД процесса, количество загруженных модулей. Так же в шаблоне есть встроенный график, отображающий количество каналов.

Использованные материалы:
How To: Monitor Asterisk with SNMP
Monitor Asterisk with Zabbix using SNMP
Руководство пользователя Zabbix
Установка SNMP под FreeBSD

На этом все, спасибо за внимание.

П.С. если интересно, могу написать про то, как еще можно мониторить некоторые критичные для * моменты с помощью zabbix agent’a.
Tags:
Hubs:
You can’t comment this publication because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author’s username will be hidden by an alias.