lunes, 28 de enero de 2013

Cactiplug: Acceder a gráficas de Cacti desde Nagios


catiplug-logo

Cactiplug es un sencillo plugin hecho en php que sirve para enlazar Nagios con Cacti, de forma que desde el interfaz de Nagios se pueda acceder a las gráficas de Cacti con un solo click.

Este plugin nos vendrá muy bien si nuestro entorno de monitorización está basado en Cacti + Nagios y tenemos los clientes monitorizados en ambas plataformas.

Cactiplug  aprovecha la funcionalidad que ofrece Nagios de poder realizar acciones adicionales en sus clientes, a través del parámetro de configuración action_url. Para poder generar las url que servirán de enlaces a Cacti, el plugin consulta los id de los clientes en la base de datos de Cacti.

Preparación del entorno


Por defecto., así es como vemos el estado de un servidor desde la vista Host Groups del interfaz de Nagios:

cactiplug1


Para crear el enlace hacia Cacti, en el fichero hosts.cfg  añadiremos la siguiente línea en las definiciones de aquellos hosts que también tengamos definidos en Cacti:


define host {
    …
    action_url /nagios/cactiplug/cactiplug.php?ip=$HOSTADDRESS
}



Al aplicar este cambio y reiniciar o recargar Nagios, la vista del cliente será esta:

cactiplug2


Si además queremos cambiar el icono de action_url por el de Cacti, tendremos que crear una imagen de 20x20 pixels y guardarla como /usr/local/nagios/share/images/action.gif
Al aplicar este cambio y reiniciar o recargar Nagios, la vista del cliente será esta:


cactiplug3

Instalación de cactiplug.php


Para acceder a la base de datos de Cacti crearemos un usuario nuevo otórgandole únicamente permisos de lectura:


# mysql -u root -p
mysql> GRANT SELECT ON cacti.* TO 'cactiplug'@localhost IDENTIFIED BY 'cactiplug';


Ahora descargamos el script php y recargamos la configuración de Nagios:


# mkdir /usr/local/nagios/share/cactiplug
# cd /usr/local/nagios/share/cactiplug
# wget http://svn.nicolargo.com/cactiplug/trunk/cactiplug.php
# chown -R nagios:nagios /usr/local/nagios/share/cactiplug
# service nagios reload


Configuración de cactiplug.php


Por último, configuramos estas líneas del script para que se puedan hacer las consultas a la BD:


# vi cactiplug.php
$cactiurl="http://ServidorMonitorizacion/cacti";
$database_default = "cacti";
$database_hostname = "localhost";
$database_username = "cactiplug";
$database_password = "cactiplug";


Con estos pasos ya es posible acceder a las gráficas de Cacti desde el interfaz gráfico de Nagios.


Referencias

No hay comentarios: