Añadir gráficas a Icinga2 con pnp4nagios

Hace un tiempo os hablé de Icinga2, un sistema de monitorización avanzado, que podía cumplir con todos las funcionalidades necesarias para una pequeña y mediana empresa, en lo que respecta a la monitorización de sistemas. Desde la publicación de dicho artículo ya pasado bastante tiempo, aún así todavía os puede servir como introducción, guía de instalación y primeros pasos, aunque la versión ya no es la misma. En la entrada de hoy os voy a enseñar como añadir gráficas, utilizando pnp4nagios. Herramienta que tal y como dice su nombre está pensada para Nagios pero que también puede servir perfectamente para Icinga2, que como sabéis es un fork del famoso sistema de monitorización.

Sobre pnp4nagios

Tal y como indican en su página web, se trata de un complemento que analiza los datos de rendimiento obtenidos por los plugins y los almacena en basos de datos RRD (Round Robin Databases)

Una de la prioridades del producto es facilitar su instalación y un mínimo de mantenimiento mientras esté en producción.  Al desarrollarlo han utilizado los principales estándares.

Su documentación es muy completa y está traducida a diversos idiomas, entre los que se encuentra el castellano.

Plugin pnp para Icinga2

Para poder utilizar la herramienta primero debemos instalar y habilitar el módulo pnp para Icinga2. Su instalación no es nada complicada. Lo primero es irnos a su página web de GitHub y descargar el fichero zip. Pero antes de esto, debemos instalar pnp4nagios, esto lo haremos utilizando los repositorios de nuestra distribución, en este caso CentOS 7.

  1. yum update
  2. #Añadimos el repositorio epel, si no lo tenemos ya
  3. yum install epel-release
  4. yum install pnp4nagios
  5. #Tambén habilitamos perfdata en icinga2
  6. icinga2 feature enable perfdata

Ahora ya podemos descargar el fichero zip del módulo pnp. Una vez descargado lo movemos a la carpeta /usr/share/icingaweb2/modules, que es donde se guardan los ficheros de los módulos. Una vez hecho esto creamos una carpeta llamada pnp, y descomprimimos los ficheros en dicha ubicación.

En mi caso el listado de directorios es el siguiente:

  1. [root@localhost modules]# pwd
  2. /usr/share/icingaweb2/modules
  3. [root@localhost modules]# ls -la
  4. total 4
  5. drwxr-xr-x. 9 root root  109 feb 25 12:44 .
  6. drwxr-xr-x. 7 root root   80 feb 25 10:22 ..
  7. drwxr-xr-x. 9 root root  216 feb 25 11:25 director
  8. drwxr-xr-x. 6 root root  124 feb 25 10:22 doc
  9. drwxr-xr-x. 7 root root  121 feb 25 10:22 monitoring
  10. drwxr-xr-x. 4 root root  131 feb 25 12:54 pnp
  11. drwxr-xr-x. 8 root root 4096 feb 25 13:02 reports
  12. drwxr-xr-x. 5 root root   71 feb 25 10:22 setup
  13. drwxr-xr-x. 5 root root   70 feb 25 10:22 translation

Ya tenemos esto listo, pero aún no hemos terminado. Para que todo funcione debemos modificar la configuración de pnp4nagios, su fichero de configuración principal es /etc/pnp4nagios/npcd.cfg, en esto fichero debemos hacer los siguientes cambios:

  1. user = icinga
  2. group = icinga
  3. #perfdata_spool_dir = /var/spool/pnp4nagios
  4. perfdata_spool_dir = /var/spool/icinga2/perfdata

Guardamos y salimos. Ahora modificamos el propietario y el grupo de la ubicación /var/lib/pnp4nagios, que es donde se guardarán los ficheros con los datos que utilizará el sistema para generar los gráficos.

  1. cd /var/lib
  2. chown -R icinga:icinga pnp4nagios

Ya he hablado antes del servicio esencial npcd, que debemos encender y añadir al arranque, de la siguiente manera:

  1. cd /etc/init.d/
  2. systemctl enable npcd
  3. systemctl start npcd
  4. systemctl restart icinga2

Abadonamos la consola y nos vamos a la web, en el apartado módulos, habilitamos el nuevo módulo pnp.

Al habilitarlo, ya tendríamos que poder visualizar las gráficas.

Se observa que junto a la información del servicio monitorizado aparece una miniatura de la gráfica, si marcamos sobre ella con el ratón la veremos con más detalle:

Por último os quería comentar que podemos acceder directamente al frontend de pnp4nagios, escribiendo el nombre en vez de icingaweb2, en el navegador. Tanto en dicho frontal como para visualizar las gráficas el sistema, nos pedirá una usuario y contraseña, para saber que usuario es o bien cambiarlo, debemos seguir los siguiente pasos. Primero de todo localizar el fichero de configuración del proyecto web de pnp4nagios, ubicado en el caso de CentOS /etc/httpd/conf.d/pnp4nagios.conf, en dicho fichero veremos la ruta del fichero de claves. Solo nos quedará buscarlo y ver el usuario por defecto. Por normal general suele ser como usuario ‘nagiosadmin’ y como contraseña ‘nagios’

Pues bien, esto es todo por hoy, espero que os haya parecido insteresante. Nos vamos leyendo.