Post on 12-Jun-2015
description
Monitoreando servidores Elastix
con Nagios
Fernando Montiel
Support Manager
Nagios
- Aplicación de código abierto para monitoreo de
redes y sistemas.
- Monitoreo de servidores y servicios.
- Acciones ante inconvenientes y recuperaciones.
Características de Nagios - Monitoreo de recursos de servidores.
- Monitoreo de servicios.
- Diseño simple de plugins, que le permite a los usuarios desarrollar fácilmente sus propios chequeos de
servicios.
- Chequeo de servicios en paralelo.
- Habilidad de definir jerarquía de hosts, permitiendo la detección y distinción entre hosts que están
caídos y aquellos que están inalcanzables.
- Notificaciones ante inconvenientes/recuperaciones.
- Handlers para resolución proactiva de incidentes.
- Interfaz web para control de estado de los distintos servidores y servicios, historial de notificaciones y
problemas, archivo de log, etc.
Métodos de monitoreo
- NRPE (Nagios Remote Plugin Executor)
- NSCA (Nagios Service Check Acceptor)
NRPE
NSCA
Solución de monitoreo propuesta
sobre servidores Elastix
Nagios + NRPE (+ Scripting)
Ejemplo: Verificación de llamadas
activas en el servidor Elastix (1)
1) Desarrollo de un script, en el servidor remoto.
2) Instalación de NRPE y configuración, en el servidor remoto.
3) Configuración del servicio, en el servidor Nagios.
Ejemplo: Verificación de llamadas
activas en el servidor Elastix (2)
1) Desarrollo de un script, en el servidor remoto.
[root@servidor-remoto /usr/lib/nagios/plugins]# vim check_llamadas_activas.sh #!/bin/bash LlamadasActivas=`sudo asterisk -rx 'core show channels‘ | grep "active calls“ | awk '{print $1}'` echo "Llamadas activas = ${LlamadasActivas}" exit 0 [root@servidor-remoto /usr/lib/nagios/plugins]# chmod +x check_llamadas_activas.sh
Ejemplo: Verificación de llamadas
activas en el servidor Elastix (3)
2) Instalación de NRPE y configuración, en el servidor remoto. [root@servidor-remoto ~]# yum install nrpe nagios-plugins-all [root@servidor-remoto ~]# vim /etc/nagios/nrpe.cfg … … … command[check_llamadas]=/usr/lib/nagios/plugins/check_llamadas_activas.sh [root@servidor-remoto ~]# service nrpe restart
Dar permisos al usuario NRPE para ejecutar comandos Asterisk.
Ejemplo: Verificación de llamadas
activas en el servidor Elastix (4)
3) Configuración del servicio, en el servidor Nagios. define host { use generic-host host_name Servidor Elastix alias Servidor Elastix address 10.9.0.206 contacts testing } define contact { contact_name testing alias Testing use generic-contact email fernando.montiel@freetechsolutions.com.ar }
Ejemplo: Verificación de llamadas
activas en el servidor Elastix (5)
3) Configuración del servicio, en el servidor Nagios. define service { use generic-service host_name Servidor Elastix service_description Llamadas activas check_command check_llamadas_activas normal_check_interval 1 } define command { command_name check_llamadas_activas command_line /usr/lib/nagios/plugins/check_nrpe -H $HOSTADDRESS$ -c "check_llamadas" }
Alternativas de plugins
- Utilización de plugins personalizados (scripts).
- Utilización de plugins desarrollados por la comunidad Nagios:
exchange.nagios.org
exchange.nagios.org/directory/Plugins/Telephony/Asterisk
Alcance
PNP4Nagios
- Complemento para Nagios.
- Muy fácil instalación.
- Análisis de datos de rendimiento obtenidos por los plugins.
- Almacenamiento en bases de datos RDD (Round Robin Databases).
PNP4Nagios
PNP4Nagios
Ejemplo: Verificación de llamadas
activas en el servidor Elastix
1) Desarrollo de un script, en el servidor remoto.
[root@servidor-remoto /usr/lib/nagios/plugins]# vim check_llamadas_activas.sh #!/bin/bash LlamadasActivas=`sudo asterisk -rx 'core show channels‘ | grep "active calls“ | awk '{print $1}'` echo "Llamadas activas = ${LlamadasActivas} | LlamadasActivas=${LlamadasActivas}" exit 0 [root@servidor-remoto /usr/lib/nagios/plugins]# chmod +x check_llamadas_activas.sh
¡Muchas gracias por su atención!
Correo: fernando.montiel@freetechsolutions.com.ar
Skype: fermontiel_87
www.freetechsolutions.com.ar