Buscar este blog

martes, 23 de julio de 2013

Instalación de Nagios plugin para Cacti (sobre CentOS)


   En entradas anteriores (aquí, aquí y aquí), hemos explicado como instalar un servidor Centos, y sobre ese mismo servidor, instalar Nagios y Cacti. Hoy voy a explicaros como instalar el plugin de Nagios para Cacti. Este plugin, lo que hace es permitir que Cacti pueda leer datos de Nagios, proveyendo un dashboard para monitorizar Nagios desde la propia web de Cacti, así como poder importar los equipos que tenemos en Nagios de forma directa en Cacti. Podéis encontrar mas información sobre este plugin en su pagina.
   Para comenzar, nos posicionaremos en el directorio root, y descargaremos y descomprimiremos las ndoutils, que son prerrequisito para la instalación de NPC:
  • cd /root/ ; web http://sourceforge.net/projects/nagios/files/ndoutils-1.x/ndoutils-1.4b7/ndoutils-1.4b7.tar.gz ; tar -xvf ndoutils-1.4b7.tar.gz
   Entramos en el directorio que se acaba de crear con la descompresión del archivo, compilamos e instalamos. Comprobad que la ruta a las librerías de sql es la correcta:
  • cd /root/ndoutils-1.4b7 ; ./configure --disable-pgsql --with-mysql-lib=/usr/lib/mysql --with-ndo2db-user=nagios --with-ndo2db-group=nagios ; make
   Una vez hecho esto, tenemos que descargar el fichero del plugin de nagios for cacti desde mediafire: aquí. Cuando hayamos descargado el archivo con la ultima versión, lo copiamos en el directorio root del servidor, para ello podemos usar una herramienta como Winscp (si estamos instalando el servidor desde Windows y no tenemos interfaz grafica desde Linux (no se puede usar el comando wget en este caso). Para copiar el archivo con Winscp, seguid los siguientes pasos:
  • Ejecutamos Winscp y nos logamos con el usuario root
image
  • Localizamos el fichero tar.gz que acabamos de descargar de mediafire y lo arrastramos a la sección derecha (carpeta root)
image
  • Pulsamos copy y comenzara la copia del archivo
image
   Cuando hayamos copiado el archivo al servidor, continuamos la instalación descomprimiendo el fichero, y copiando su contenido al directorio de plugins de cacti (Acordaos de comprobar que las rutas son las correctas):
  • cd /root ; tar -xvf npc-2.0.4.tar.gz ; cp -R /root/npc /var/www/html/cacti/plugins
   Ahora debemos mover varios ficheros de ndoutils a las ubicaciones correctas. Es importante en este paso que todas las rutas sean las correctas:
  • cp /root/ndoutils-1.4b7/src/ndomod-3x.o /usr/local/nagios/bin/ndomod.o ; cp /root/ndoutils-1.4b7/config/ndomod.cfg /usr/local/nagios/etc/ndomod.cfg ; cp /root/ndoutils-1.4b7/src/ndo2db-3x /usr/local/nagios/bin/ndo2db ; cp /root/ndoutils-1.4b7/config/ndo2db.cfg /usr/local/nagios/etc/ndo2db.cfg
   Debemos configurar nagios para usar TCP en lugar de UDP, para ello, modificaremos el archivo ndomod.cfg que acabamos de copiar:
  • vi +/output=127.0.0.1 /usr/local/nagios/etc/ndomod.cfg
image
   Cambiamos el tipo de socket a TCP:
  • vi +/output_type=tcpsocket /usr/local/nagios/etc/ndomod.cfg
image
   También cambiaremos el tipo de socket en el fichero ndo2db.cfg:
  • vi +/socket_type=unix /usr/local/nagios/etc/ndo2db.cfg
image
   Ahora añadimos la configuración de ndomod al fichero nagios.cfg y modificamos la línea de process performance:
  • echo "broker_module=/usr/local/nagios/bin/ndomod.o config_file=/usr/local/nagios/etc/ndomod.cfg" >> /usr/local/nagios/etc/nagios.cfg ; sed -i 's/process_performance_data=0/process_performance_data=1/g' /usr/local/nagios/etc/nagios.cfg
   Modificamos el fichero ndo2db.cfg para adaptarlo a nuestro entorno. Si vas a copiar y pegar, acuérdate de modificar antes los datos para adaptarlos a tu entorno:
  • sed -i 's/db_host=localhost/db_host=127.0.0.1/g' /usr/local/nagios/etc/ndo2db.cfg ; sed -i 's/db_name=nagios/db_name=cacti/g' /usr/local/nagios/etc/ndo2db.cfg ; sed -i 's/db_prefix=nagios_/db_prefix=npc_/g' /usr/local/nagios/etc/ndo2db.cfg ; sed -i 's/db_user=ndouser/db_user=cacti/g' /usr/local/nagios/etc/ndo2db.cfg ; sed -i 's/db_pass=ndopassword/db_pass=Novadesk_Centos_Demo/g' /usr/local/nagios/etc/ndo2db.cfg ; chmod go+r /usr/local/nagios/etc/ndomod.cfg ; chmod go+r /usr/local/nagios/etc/ndo2db.cfg
   Ahora descargamos los plugins necesarios para Cacti, los movemos al directorio adecuado y los descomprimimos:
  • cd /var/www/html/cacti/plugins ; wget http://docs.cacti.net/_media/plugin:settings-v0.7-1.tgz ; mv plugin\:settings-v0.7-1.tgz settings-v0.7-1.tgz ; tar -xvf settings-v0.7-1.tgz ; cd /var/www/html/cacti/plugins ; wget http://docs.cacti.net/_media/plugin:monitor-v1.2-1.tgz ; mv plugin\:monitor-v1.2-1.tgz monitor-v1.2-1.tgz ; tar -xvf monitor-v1.2-1.tgz
  Una vez hecho todo esto, abrimos Cacti en el navegador, nos logamos y desde la opción Console, pulsamos en plugin management:
image
   Comprobamos que el plugin NPC es visible, pero no esta instalado. Para instalarlo, pulsamos el botón azul de la columna actions:
image
   Una vez instalado hay que habilitarlo, para lo cual tenemos que pulsar el botón verde de la columna actions:
image
   Ahora el status del plugin debería de ser “Active”
image
   Modificaremos las opciones de NPC entrando en la consola, opción settings y pestaña NPC:
image
   Ahora, vamos a cargar la base de datos con las tablas adecuadas, para ello, nos posicionamos en el directorio db de las ndoutils y las creamos usando el script installdb (modificar las opciones de acuerdo a nuestro entorno):
  • cd /root/ndoutils-1.4b7/db/ ; ./installdb -u root -p "Novadesk_Centos_Demo" -h localhost -d cacti
   Crearemos un script para que arranque la base de datos al inicio del sistema:
  • vi /etc/init.d/ndo2db
   Le copiamos el contenido de este script:
https://sites.google.com/site/ryanmelissari/home/nagios-on-centos-63/ndo2db-script
   Cambiamos los permisos del fichero que acabamos de crear:
  • chmod gou+x /etc/init.d/ndo2db
   Iniciamos el servicio de la base de datos y lo configuramos para que se inicie automáticamente con cada arranque del sistema.
  • /etc/init.d/ndo2db start ; chkconfig ndo2db on
   Si no estaba hecho ya, añadimos el usuario nagios al grupo apache
  • usermod -a -G nagios apache
   Modificamos la seguridad del directorio nagios:
  • chcon -R -t httpd_sys_content_t /usr/local/nagios
   Corregimos los permisos del directorio plugins de cacti y del directorio Nagios:
  • chown -R nagios:apache /var/www/html/cacti/plugins ; chown -R nagios:nagios /usr/local/nagios
   Si no estaba hecho ya, reiniciamos nagios y lo configuramos para que se arranque al inicio:
  • chkconfig nagios on ; service nagios restart
   Cambiamos la configuración del pooler de cacti para que se ejecute cada 60 seg. (esto es opcional):
  • crontab –e
    • */1 * * * * php /var/www/html/cacti/poller.php > /dev/null 2>&1
image
   Reiniciamos el servidor:
  • shutdown -r now
   Comprobamos que todo esta correcto y que desde cacti se monitoriza el localhost con NPC:
image
   En el caso de que la pestaña de NPC no sea visible (aunque debería serlo por defecto), en la consola de cacti, entramos en la opción User Management  y en la pestaña Realm Permissions comprobaremos que están marcadas las opciones NPC y NPC global commands:
image
   Por último, si NPC no dibuja correctamente el status map de Nagios, pero en Nagios si funciona, lo que hay que hacer es entrar en la opción settings de la consola de cacti, luego en la pestaña NPC y modificar la nagios URL cambiándola por algo que no sea localhost (por ejemplo, por la ip real del servidor nagios).
   Espero que este pequeño tutorial os haya sido de utilidad. Nos vemos en breve con mas tutoriales.
Un saludo a todos.

No hay comentarios:

Publicar un comentario