Enviado por admin el
Hoy veremos como sacar estadísticas de Asterisk con gráficos a través del programa Munin. Munin se compone de dos paquetes:
-
munin
-
munin-node
El primero se instala donde queremos crear las estadísticas y visualizarlas en una pagina web, el segundo se instala en el servidor donde tenemos instalado Asterisk.
En este articulo veremos como instalar munin y munin-node en el mismo servidor y como instalar munin-node en un segundo servidor.
Antes que nada en el servidor linux donde queremos instalar munin debemos tener instalado un servidor web (en mi caso Apache) y un servidor de correo electrónico para el envío de notificaciones y/o alertas según definidas en los varios plugins de munin.
Como los dos paquetes no vienen en los repositorios de CentOS tenemos que instalar un nuevo repositorio (rpmforge). En este enlace encuentran los paquetes para las distintas versiones de CentOS. En mi caso utilizaré la versión para CentOS 5.X 32bit
cd /usr/src
wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.1-1.el5.rf.i...
rpm -ivh rpmforge-release-0.5.1-1.el5.rf.i386.rpm
Actualizamos CentOS
yum upgrade
y seguimos con la instalación de munin:
yum install munin munin-node
Encontraremos los archivos de configuración de munin en la carpeta /etc/munin
Como el servidor apache, en CentOS, por defecto busca las paginas web en la carpeta /var/www/html tenemos que mover la carpeta munin creada en /var/www:
cd /var/www
mv munin /var/www/html/astmunin
Primero modificamos el archivo de configuración del servidor munin:
cd /etc/munin
nano munin.conf
en la primera parte definimos las carpetas que usará munin:
dbdir /var/lib/munin
htmldir /var/www/html/astmunin
logdir /var/log/munin
rundir /var/run/munin
Luego definimos una línea para indicar a munin a que correo enviar las alertas y/o notificaciones:
contact.admin.command sendmail -t "Munin notification" admin@voztovoice.org
Para terminar indicamos el servidor que queremos monitorizar:
[VozToVoice]
address 127.0.0.1
use_node_name yes
Guardamos los cambios. Todos los plugins para munin están en la carpeta /usr/share/munin/plugins. Lo que se hace para activarlos es crear un link simbólico en la carpeta /etc/munin/plugins. Como los plugins de Asterisk no vienen con la instalación de munin tendremos que seguir estos pasos:
Borrar los enlaces simbólicos presentes en la carpeta plugins:
cd plugins
rm *
Descargar algunos plugins de Asterisk en la carpeta /usr/share/munin/plugins:
cd /usr/share/munin/plugins
Para asterisk 1.6
wget http://www.voztovoice.org/tmp/munin-asterisk.1.6.tar
Para asterisk 1.4
wget http://www.voztovoice.org/tmp/munin-asterisk.1.4.tar
En mi caso la versión 1.6
Descomprimimos el archivo:
tar –xf munin-asterisk.1.6.tar
y borramos el archivo descargado
rm munin-asterisk.1.6.tar
Esta es la lista de archivos para asterisk 1.6:
ls –l
total 28
-rwxr-xr-x 1 root root 2906 Jul 12 08:28 asterisk_channels
-rwxr-xr-x 1 root root 3857 Jul 12 08:28 asterisk_channelstypes
-rwxr-xr-x 1 root root 3138 Jul 12 08:28 asterisk_meetme
-rwxr-xr-x 1 root root 3021 Jul 12 08:28 asterisk_meetmeusers
-rwxr-xr-x 1 root root 4667 Jul 12 08:28 asterisk_sippeers
-rwxr-xr-x 1 root root 3266 Jul 12 08:28 asterisk_voicemail
Ahora tenemos que activarlos en el munin-node de la siguiente forma:
nano /etc/munin/plugin-conf.d/munin-node
Añadimos las siguientes líneas:
[asterisk_*]
user root
Todos estos plugins para sacar las estadísticas se conectan al AMI (Asterisk Manager Interface) de asterisk. Para que esto funcione tenemos que modificar el archivo manager.conf de Asterisk:
nano /etc/asterisk/manager.conf
Añadimos las siguientes líneas al final del archivo:
[munin]
secret = password
deny=0.0.0.0/0.0.0.0
permit=127.0.0.1
write = system,call,log,verbose,command,agent,user
read = system,call,log,verbose,command,agent,user
Guardamos los cambios.
Ahora en todos los plugins de Asterisk modificamos las siguientes líneas:
my $username = $ENV{'username'};
my $secret = $ENV{'secret'};
para que queden
my $username = $ENV{'munin'};
my $secret = $ENV{'password'};
Guardamos los cambios y escogemos algunos plugins para las estadísticas de asterisk:
cd /etc/munin/plugins
ln –s /usr/share/munin/plugins/asterisk_channels asterisk_channels
ln –s /usr/share/munin/plugins/asterisk_sippeers asterisk_sippeers
Arrancamos munin-node:
/etc/init.d/munin-node start
Lo configuramos para que arranque en automático:
chkconfig munin-node on
El cron que recoge las estadísticas se ejecuta cada 5 minutos. Si queremos modificarlo hay que cambiar esta línea:
*/5 * * * * munin test -x /usr/bin/munin-cron && /usr/bin/munin-cron
en el archivo:
/etc/cron.d/munin
Después de un tiempo veremos como aparecen nuestros gráficos entrando en la pagina web http://www.miositio.org/astmunin
Instalación y configuración de munin-node en un segundo servidor con IP publica 111.222.111.222
Primero indicamos el segundo servidor en el archivo de configuración de Munin del primero:
nano /etc/munin/munin.conf
Añadimos bajo estas líneas:
[VozToVoice]
address 127.0.0.1
use_node_name yes
Las líneas del segundo servidor:
[VozOrg]
address 111.222.111.222
use_node_name yes
Luego seguimos el mismo procedimiento para la instalación de munin (en este caso solamente munin-node):
cd /usr/src
wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.1-1.el5.rf.i...
rpm -ivh rpmforge-release-0.5.1-1.el5.rf.i386.rpm
Actualizamos CentOS
yum upgrade
y seguimos con la instalación de munin-node:
yum install munin-node
En este servidor corre Asterisk 1.4 Bajamos los plugins de asterisk:
cd /usr/share/munin/plugins
wget http://www.voztovoice.org/tmp/munin-asterisk.1.4.tar
Descomprimimos el paquete:
tar –xf munin-asterisk.1.4.tar
Seguimos borrando los plugins configurados y activando los plugins de Asterisk:
rm /etc/munin/plugins/*
nano /etc/munin/plugin-conf.d/munin-node
[asterisk_*]
user root
Creamos la misma entrada en el manager.conf
nano /etc/asterisk/manager.conf
[munin]
secret = password
deny=0.0.0.0/0.0.0.0
permit=127.0.0.1
write = system,call,log,verbose,command,agent,user
read = system,call,log,verbose,command,agent,user
Abrimos el puerto estándar 4949 TCP en el firewall añadiendo esta línea:
-A INPUT -p tcp -m tcp --dport 4949 -j ACCEPT
Volvemos a arrancar iptables:
service iptables restart
Modificamos estas dos líneas en los plugins de Asterisk:
my $username = $ENV{'username'};
my $secret = $ENV{'secret'};
para que queden
my $username = $ENV{'munin'};
my $secret = $ENV{'password'};
y creamos los enlaces simbólicos para los plugins que queremos activar:
cd /etc/munin/plugins
ln –s /usr/share/munin/plugins/asterisk_channels asterisk_channels
ln –s /usr/share/munin/plugins/asterisk_sippeers asterisk_sippeers
Para terminar tenemos que dar acceso al servidor de munin para que se pueda conectar a este servidor. Suponiendo que la ip donde está instalado munin es 222.111.222.111 este es el procedimiento:
nano /etc/munin/munin-node.conf
Buscamos esta linea:
allow ^127\.0\.0\.1$
y la cambiamos:
allow ^222\.111\.222\.111$
Ahora podemos arrancar munin-node:
/etc/init.d/munin-node start
y configurarlo para que arranque en automático:
chkconfig munin-node on
Después de algún tiempo en la pagina web aparecerán los dos servidores:
Comentarios recientes