Прежде чем начинать собирать статистику с Asterisk по протоколу snmp, нужно чтобы в нем был модуль res_snmp.so:
Готовим конфиг для snmp, вот мой конфиг /usr/local/etc/snmp/snmpd.conf:
1. Не запускался демон snmpd:
...... Тут должна быть часть о настройке Zabbix :) Позже допишу. ......
Ссылки по теме:
1. FreeBSD jails and net-snmp
2. SourceForge SNMPd bug: #2311 5.7.1 errors at startup on FreeBSD systems without SCTP
3. Asterisk MIB Definitions
4. asterisk-users mailing list - ASTERISK and SNMP
5. Мониторим Asterisk при помощи snmp и Zabbix
FreeBSD# asterisk -rvvvv ... pbx*CLI> module show like snmp Module Description Use Count res_snmp.so SNMP [Sub]Agent for Asterisk 0 1 modules loadedКак видим, все на месте. Для тех, у кого это нет этого модуля, нужно пересобрать порт с нужной опцией:
FreeBSD# make config [*] SNMP SNMP protocolКогда разобрались с наличием модуля, идем в конфиг /usr/local/etc/asterisk/res_snmp.conf и включаем SNMP:
[general] ; We run as a subagent per default -- to run as a full agent ; we must run as root (to be able to bind to port 161) subagent = yes ; SNMP must be explicitly enabled to be active enabled = yesКак видим, Asterisk не может открыть 161 порт (по нему работает протокол snmp), если он запущен не от пользователя root. Но не беда, по умолчанию asterisk работает как суб-агент snmp это значит, что он может отдавать данные в демон snmpd через сокет и ему не надо будет открывать 161 порт.
Готовим конфиг для snmp, вот мой конфиг /usr/local/etc/snmp/snmpd.conf:
syslocation "Univers Server Room" syscontact admin@my_organization_dom rocommunity public ТУТ_IP_сервера_zabbix master agentx agentXPerms 0660 0550 asterisk asterisk agentXSocket /var/agentx/masterЕсли с запуском Asterisk 1.8 в jail не возникло проблем, то с запуском snmpd было 2 проблемы:
1. Не запускался демон snmpd:
FreeBSD# service snmpd restart snmpd not running? (check /var/run/net_snmpd.pid). Starting snmpd. /usr/local/etc/rc.d/snmpd: WARNING: failed to start snmpdСообщение об ошибке как-то не особо помогло в решении проблемы, но все-же рискнем заглянуть в логи:
FreeBSD# cat /var/log/snmpd.log init_kmem: kvm_openfiles failed: /dev/mem: No such file or directory Agent initialization failedРешение оказалось простым man snmpd:
FreeBSD# man snmpd .... -r Do not require root access to run the daemon. Specifically, do not exit if files only accessible to root (such as /dev/kmem etc.) cannot be opened. .....Как сказано в мане, говорим демону snmpd запускаться с опцией -r, добавляем в /etc/rc.conf строку:
#----------------------------- SNMP ---------------------------------------# snmpd_enable="YES" snmpd_flags="-r" #--------------------------------------------------------------------------#И пробуем еще раз, теперь должно все запуститься:
FreeBSD# service snmpd restart Stopping snmpd. Waiting for PIDS: 27711. Starting snmpd. Error 2 (No such file or directory) could not get the assoclistОпять какая-то ошибка, немного погуглив яндексом в рамблере нашел страничку с описанием бага #2311, там говорится про ядро FreeBSD и отсутствие в нем SCTP (У меня в ядре как раз небыло этого SCTP) и эту ошибку можно спокойно проигнорировать. Ну чтож, если говорят, что все должно работать, то проверяем:
FreeBSD# sockstat | grep snmpd root snmpd 27758 6 udp4 *:161 *:* root snmpd 27758 7 stream /var/agentx/master root snmpd 27758 8 tcp4 *:199 *:* root snmpd 27758 9 stream /var/agentx/masterКак видим, snmpd слушает 161 порт (по нему работает протокол snmp) и сокет /var/agentx/master. Значит мы все сделали правильно, и теперь двигаемся дальше к настройке zabbix.
...... Тут должна быть часть о настройке Zabbix :) Позже допишу. ......
Ссылки по теме:
1. FreeBSD jails and net-snmp
2. SourceForge SNMPd bug: #2311 5.7.1 errors at startup on FreeBSD systems without SCTP
3. Asterisk MIB Definitions
4. asterisk-users mailing list - ASTERISK and SNMP
5. Мониторим Asterisk при помощи snmp и Zabbix
Комментариев нет:
Отправить комментарий