Asterisk::Monitoring
juillet 12, 2007
FONCTIONNEMENT
Un module Asterisk va jouer le rôle de sub-agent pour le service net-snmp
afin de diffuser des informations sur Asterisk. A l’aide d’outils tels que nagios ou cacti il sera alors possible de surveiller son bon fonctionnement.
INSTALLATION ET MISE EN PLACE
le module res-snmp de Asterisk
Ce module est dépendant de net-snmp. Pourtant, durant la compilation, un erreur peut survenir malgré la présence du service net-snmp et de ses bibliothèques :
checking for net-snmp-config… /usr/bin/net-snmp-config
checking for snmp_register_callback in -lnetsnmp… no
Apres une lecture du fichier config.log (de cette erreur), la solution est découverte :
configure:23304: checking for snmp_register_callback in -lnetsnmp
configure:23339: gcc -o conftest -g -O2 conftest.c -lnetsnmp -L/usr/lib -lnetsnmpagent -lnetsnmpmibs -lnetsnmphelpers -lnetsnmp -ldl -l
crypto -lrpm -lrpmio -lpopt -lbz2 -lz -lm -ldl -L/usr/lib -lwrap >&5
/usr/lib/gcc-lib/i586-suse-linux/3.3.5/../../../../i586-suse-linux/bin/ld: cannot find -lwrap
collect2: ld returned 1 exit status
configure:23345: $? = 1
La bibliothèque ’wrap’ est indisponible, elle est fournit par le package tcpd-devel.
La forme du fichier de configuration est quant à elle très simple :
; /etc/asterisk/res_snmp.conf
[general]
subagent = yes
enabled = yes
Le service net-snmp
Pour fonctionner normalement, net-snmp nécessite un fichier de configuration :
syslocation Server Room
syscontact Sysadmin (root@localhost)rocommunity public 127.0.0.1
rocommunity public 10.1.1.1
master agentx
Ainsi net-snmp va recevoir les informations de asterisk (master agentx) et
il accepter les requetes snmp provenant du serveur nagios (10.1.1.1).
COPIER LES MIBS(Facultatif)
Deux possibilités :
Copier les MIB dans le dossier partagé par tous les utilisateurs (droits root requis) :
cp doc/asterisk-mib.txt /usr/share/snmp/mibs/
cp doc/digium-mib.txt /usr/share/snmp/mibs/
Ou alors les copier dans le dossier /home/utilisateur/.snmp/mibs/. Seul l’utilisateur concerné pourra utiliser ces MIB mais cette fois-ci pas besoin de droits root.
VERIFIER LE BON FONCTIONNEMENT
Au chargement de asterisk :
NET-SNMP version 5.2.3 AgentX subagent connected
EXEMPLES DE DONNEES
ASTERISK-MIB::astVersionString.0 = STRING: 1.4.2
ASTERISK-MIB::astConfigUpTime.0 = Timeticks: (6693143) 18:35:31.43
ASTERISK-MIB::astConfigReloadTime.0 = Timeticks: (6693143) 18:35:31.43
ASTERISK-MIB::astNumModules.0 = INTEGER: 137
ASTERISK-MIB::astNumChannels.0 = INTEGER: 0
ASTERISK-MIB::astChanTypeName.1 = STRING: Zap
ASTERISK-MIB::astChanTypeName.2 = STRING: Skinny
ASTERISK-MIB::astChanTypeName.3 = STRING: SIP
ASTERISK-MIB::astChanTypeName.4 = STRING: Phone
ASTERISK-MIB::astChanTypeName.5 = STRING: Console
ASTERISK-MIB::astChanTypeName.6 = STRING: Local
ASTERISK-MIB::astChanTypeName.7 = STRING: IAX2
ASTERISK-MIB::astChanTypeName.8 = STRING: Feature
ASTERISK-MIB::astChanTypeChannels.1 = Gauge32: 0
ASTERISK-MIB::astChanTypeChannels.2 = Gauge32: 0
ASTERISK-MIB::astChanTypeChannels.3 = Gauge32: 0
ASTERISK-MIB::astChanTypeChannels.4 = Gauge32: 0
ASTERISK-MIB::astChanTypeChannels.5 = Gauge32: 0
ASTERISK-MIB::astChanTypeChannels.6 = Gauge32: 0
ASTERISK-MIB::astChanTypeChannels.7 = Gauge32: 0
ASTERISK-MIB::astChanTypeChannels.8 = Gauge32: 0
A SAVOIR
Sans l’installation des MIB sur le client snmp ces valeurs aurai plutot cette forme :
1.3.6.1.4.1.22736.1.5.1.0 = INTEGER: 0
USAGE DE CACTI
![]()
Ce graphique a été réalisé avec cacti, je vais prochainement essayer de publier son template.