Ir al contenido principal

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.

Comentarios

Entradas populares de este blog

Error id 12294, La base de datos SAM no pudo bloquear la cuenta de administrador...

Últimamente hemos estado teniendo un problema de esos que a todo administrador de sistemas le trae de cabeza... Al menos hasta que lo ha solucionado una vez. Para aquellos de vosotros que habéis llegado hasta aqui después de toparos con el en vuestro trabajo diario y no sabeis muy bien que hacer, voy a indicaros paso por paso como solucionarlo. El error consiste en el intento reptitivo de bloqueo de la cuenta de Administrador del dominio por parte de una maquina del dominio. Estos errores se generan en el registro de eventos de sistema con el id 12294 y con origen Directory-Services-SAM si es Windows 2008 o SAM si es Windows 2003 o anterior. El error en si no aunque parece grave, no debe preocuparnos tanto, ya que la cuenta de administrador de dominio nunca se bloquea. Lo que si nos molestara mas, es el hecho de que estos errores saturan nuestro log de eventos de sistema, así como el registro de seguridad del DC. El problema que nos encontramos cuando intentamos

Solucionar Error 8344 “Insufficient access rights to perform the operation.” En Azure AD connect

Ayer termine de instalar y configurar Azure AD connect. Para los que no lo sepáis, Azure AD connect es el programa que se utiliza para sincronizar objetos de tu directorio activo local con el directorio activo de azure. Podéis acceder a la estupenda documentación de Microsoft aquí. El caso es que después de terminar la configuración, estuve repasando que las primeras sincronizaciones fueran correctas cuando vi que aparecía una tarea con errores en Azure AD sync service. El fallo era el siguiente: Como podéis ver, esta tarea de export, que ya os voy diciendo que era una sincronización de contraseñas, falla por un problema de permisos. La verdad es que era un poco confuso, ya que había seguido la documentación de Microsoft para la implementación al pie de la letra y cumplido todos los prerrequisitos. ¿Se me escapaba algo? Al final, la respuesta era bastante sencilla. Este directorio activo no lo desplegué yo, así que hay algunas cosillas “heredadas”. Una de ellas es que una Unidad Organi

DNS y reenviadores condicionales...

Resulta que estamos migrando a Windows 2008 R2 para poder poner GPOs personalizadas por OU, y el otro día nos surgió un problemilla relacionado con los reenviadores condicionales del servicio DNS en 2008 (anteriormente, los teníamos en 2003 R2). Se nos paso configurar el reenvío de las peticiones de nuestro subdominio principal a nuestro dominio raíz, lo cual, teníamos hecho mediante el uso de reenviadores condicionales. Entramos en el nuevo servidor DNS para configurarlos y @_@ ¡¡no estaban!! Resulta que los amigos de Microsoft han cambiado las pestañas de opciones del servidor DNS y las han dejado así: Como podéis ver, el reenvío de peticiones basado en sufijo, ha desaparecido. Aparentemente solo se permite el reenvío global de peticiones, ¿no? Bueno, pues no, solo lo han cambiado de sitio. Con Windows 2003, cuando querías configurar el reenvío de peticiones DNS basado en dominio, tenias que hacerlo servidor por servidor, ya que la pestaña correspondiente, se encontraba dent