Cómo instalar Nagios Core en Debian 9 Stretch

Cómo instalar Nagios Core en Debian 9 Stretch

En esta entrada vamos a ver cómo instalar Nagios Core en Debian 9 Stretch paso a paso, de forma que puedas monitorear tu servidor o VPS Debian 9 y sus servicios desde la interfaz web de Nagios.

Antes de instalar Nagios Core en Debian 9

Para poder completar esta guía de instalación de Nagios Core en Debian 9 Stretch necesitarás cumplir los siguientes requisitos mínimos:

  • Un sistema Debian 9 actualizado.
  • Herramientas de compilación, paquetes: gcc y make.
  • Otras herramientas: unzip.
  • Servidor web Apache con PHP.
  • Acceso a consola con un usuario con permisos de sudo o el mismo root.
  • Conexión a Internet.

Lo que vamos a hacer en esta guía básicamente es lo siguiente:

  • Instalar los plugins de Nagios, los comandos que obtienen información concreta de cada aspecto de los sistemas y servicios que monitorizaremos.
  • Instalar Nagios Core, el responsable de utilizar los plugins y analizar la información que recibe para mostrárnosla en pantalla.
  • Configurar los servicios que se van a monitorizar.

Debido a la antigüedad de Debian 9 no podemos usar los paquetes incluidos en la distribución, por lo que descargaremos y compilaremos el código fuente de los lanzamientos actuales.

Cómo instalar los plugins de Nagios en Debian 9

Vamos a descargar los plugins de Nagios para Debian 9 Stretch visitando la web oficial de los desarrolladores donde encontraremos el enlace de descarga de la última versión disponible en primer término.

descargar plugins nagios para debian 9 stretch

Copiamos el enlace y descargamos el paquete con el código fuente de los plugins de Nagios desde consola con el comando wget:

~$ wget https://nagios-plugins.org/download/nagios-plugins-2.2.1.tar.gz

Cómo compilar e instalar los plugins

Podemos descomprimir directamente el paquete en el directorio actual, ya que los archivos vienen organizados dentro de su propia carpeta:

~$ tar xzf nagios-plugins-2.2.1.tar.gz

Cambiamos el directorio de trabajo a la carpeta que se acaba de crear:

~$ cd nagios-plugins-2.2.1/

Antes de empezar con el proceso de compilación descargaremos los archivos de desarrollo SSL, el paquete libssl-dev, ya que se trata de un requerimiento obligatorio. En el archivo REQUERIMENTS se describe qué otras librerías de desarrollo son necesarias para ciertos plugins, por lo que puedes aprovechar para descargarlas también. Por ejemplo, si quieres un plugin para MySQL necesitarás también la librería default-libmysqlclient-dev:

$ sudo apt install -y libssl-dev default-libmysqlclient-dev

Y ya podemos ejecutar el script configure para comprobar los requisitos y configurar la compilación:

$ ./configure

Al terminar el configurador no deberías haber obtenido ningún error, así que pasamos a compilar:

$ make

Terminada la compilación de los plugins de Nagios ya los podemos instalar en nuestro sistema Debian 9:

$ sudo make install

Ahora tenemos una carpeta /usr/local/nagios/ bajo la que encontraremos el subdirectorio libexec/ donde residen todos los plugins compilados. Puedes comprobar que funcionan simplemente ejecutándolos con los parámetros necesarios.

Por ejemplo, puedes usar el plugin check_apt sin parámetros:

~$ /usr/local/nagios/libexec/check_apt
APT OK: 0 packages available for upgrade (0 critical updates). |available_upgrades=0;;;0 critical_updates=0;;;0

O el plugin check_disk indicando la partición principal:

~$ /usr/local/nagios/libexec/check_disk -x /dev/sda1
DISK OK - free space: /dev 487 MB (100,00% inode=100%); /run 98 MB (98,42% inode=100%); /dev/shm 498 MB (100,00% inode=100%); /run/lock 5 MB (100,00% inode=100%); /sys/fs/cgroup 498 MB (100,00% inode=100%); /run/user/1000 99 MB (100,00% inode=100%);| /dev=0MB;;;0;487 /run=1MB;;;0;99 /dev/shm=0MB;;;0;498 /run/lock=0MB;;;0;5 /sys/fs/cgroup=0MB;;;0;498 /run/user/1000=0MB;;;0;99

Es importante que conozcas los parámetros de los plugins que usarás para monitorizar los servicios que te interesen.

Por último, además del paquete oficial que hemos instalado, hay miles de plugins disponibles para controlar casi cualquier aspecto que nos interese del sistema. Es cuestión de buscar y realizar un proceso parecido.

Cómo instalar Nagios Core en Debian 9 Stretch

Al igual que en el paso anterior, vamos a descargar la última versión disponible de Nagios Core desde su sitio web oficial:

como descargar nagios core para debian 9 stretch

Visitando el proyecto Nagios Core acabaremos encontrando la página página con los enlaces de descarga de la última versión estable, la 4.4.5 en el momento de escribir esta guía. Copiaremos el enlace y lo descargaremos desde consola (se ha limpiado toda la parte de la URL tras el nombre del fichero):

~$ wget https://assets.nagios.com/downloads/nagioscore/releases/nagios-4.4.5.tar.gz

Cómo compilar e instalar Nagios Core

Como los archivos de este paquete vienen organizados en una carpeta, podemos descomprimir directamente en el directorio de trabajo:

~$ tar xzf nagios-4.4.5.tar.gz

Cambiamos el directorio de trabajo a la nueva carpeta:

~$ cd nagios-4.4.5/

Antes de configurar la compilación, instalaremos algún requisito importante previamente:

$ sudo apt install -y libgd-dev

Y ahora sí, lanzamos el configurador:

$ ./configure

Pasamos a compilar Nagios Core para Debian 9:

$ make all

Con Nagios Core compilado sólo queda instalarlo, pero los distintos pasos de la instalación están divididos en distintos objetivos de make. Habría que ejecutarlos secuencialmente:

$ sudo make install-groups-users
$ sudo make install
$ sudo make install-init
$ sudo make install-commandmode
$ sudo make install-config
$ sudo make install-webconf
$ sudo make install-daemoninit

Debemos instalar los módulos cgi y rewrite de Apache:

~$ sudo a2enmod cgi rewrite

Y reiniciaremos el servidor web para que cargue dichos módulos y la configuración de Nagios Core:

~$ sudo systemctl restart apache2

El acceso a la interfaz web de Nagios Core se realiza mediante usuario y contraseña, por lo que debemos crear dicho usuario y contraseña:

~$ sudo htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
New password:
Re-type new password:
Adding password for user nagiosadmin

Si queremos añadir más usuarios que puedan acceder a la interfaz ejecutaremos el mismo comando, pero sin el parámetro -c:

~$ sudo htpasswd /usr/local/nagios/etc/htpasswd.users nagiosadmin2

Ahora tenemos un nuevo servicio presente en Debian 9, llamado nagios.service o sencillamente nagios. Está activado, por lo que arrancará con el sistema, pero no está iniciado, por lo que debemos arrancarlo con el comando systemctl:

~$ sudo systemctl start nagios

Acceder a Nagios Core vía web en Debian 9

Si has llegado hasta aquí, es hora de comprobar que Nagios Core está funcionando en tu sistema Debian 9. Para ello utilizaremos un navegador y como URL indicaremos la dirección IP o nombre del servidor Debian 9 añadiendo el sufijo /nagios/. Por ejemplo, la máquina Debian 9 sobre la que se ha realizado esta guía responde al dominio debian9.local, por lo que una URL válida sería http://debian9.local/nagios/

como instalar nagios core en debian 9 stretch

Se nos pedirá que nos identifiquemos, para lo que usaremos el usuario que creamos anteriormente. Una vez facilitado usuario y contraseña accederemos a la pantalla principal de Nagios Core:

instalar nagios core en debian 9 stretch

Y podremos ver que el servicio de Nagios Core está en funcionamiento, mostrándose incluso su PID.

La configuración por defecto configura la monitorización de una serie de servicios que podemos ver desde la opción de menú Services:

nagios core en debian 9 stretch

Ahora sólo queda configurar uno a uno los comandos que accederán a los distintos plugins para monitorizar tus servicios.

Cómo configurar Nagios Core en Debian 9

Para configurar Nagios Core en Debian 9 Stretch debemos trabajar sobre el directorio de configuraciones, cuya ruta es /usr/local/nagios/etc/. El archivo principal es nagios.cfg:

~$ sudo nano /usr/local/nagios/etc/nagios.cfg

Dentro de este archivo encontraremos información de muchas opciones de la configuración actual. Algunas directivas interesantes son las cfg_file y cfg_dir, que permiten incluir archivos y directorios de archivos de configuración, respectivamente. Entre los archivos que se incluyen podremos ver el que se ocupa de la configuración de la monitorización de la máquina local:

...

# Definitions for monitoring the local (Linux) host
cfg_file=/usr/local/nagios/etc/objects/localhost.cfg

...

Si cerramos este archivo y abrimos el archivo localhost.cfg:

~$ sudo nano /usr/local/nagios/etc/objects/localhost.cfg

Encontraremos los bloques que definen:

  • La máquina local, define host.
  • El grupo al que pertenece la máquina local, define group.
  • Los distintos servicios configurados, define service.

Dentro de las definiciones de los servicios encontramos directivas que podemos personalizar. Por ejemplo, la definición del servicio que comprueba el estado del disco duro:

define service {

    use                     local-service           ; Name of service template to use
    host_name               localhost
    service_description     Root Partition
    check_command           check_local_disk!20%!10%!/
}

Podemos ver que la directiva service_description es la que sirve para etiquetar el nombre del servicio, tal como se muestra en la interfaz web de Nagios Core.

Por otro lado, la directiva check_command indica el comando que se ejecuta para chequear el servicio, incluyendo los distintos parámetros, separados por el carácter !. Hay que tener en cuenta que el comando en sí no es un comando físico o llamada real al plugin de Nagios, sino una definición. Esto quiere decir que no existe el comando check_local_disk en la carpeta libexec/ de Nagios. En realidad check_local_disk es una definición incluida en otro archivo de configuración, /usr/local/nagios/etc/objects/commands.cfg:

~$ sudo nano /usr/local/nagios/etc/objects/commands.cfg

Encontraremos que este archivo está repleto de definiciones de comandos, a través de bloques define command. Siguiendo con el ejemplo anterior no será difícil encontrar la definición del comando check_local_disk:

...

define command {

    command_name    check_local_disk
    command_line    $USER1$/check_disk -w $ARG1$ -c $ARG2$ -p $ARG3$
}

...

Vemos que la directiva command_name es la que define el nombre del comando como lo hemos visto antes, check_local_disk, mientras que la directiva command_line especifica la sintaxis real del comando. La variable $USER1$ contendría la ruta de los plugins (/usr/local/nagios/libexec), check_disk es el nombre del plugin que sí existe y los parámetros especificados incluyen variables ($ARG1$, $ARG2$ y $ARG3$) que se sustituirán por los valores usados en localhost.cfg (20%, 10% y /, respectivamente) o cualquier otro archivo que use esta definición de comando. Podemos comprobar que funciona usando el comando directamente en consola, sustituyendo las variables por los valores correspondientes que ya hemos visto en el ejemplo:

~$ /usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /
DISK OK - free space: / 1482 MB (53,14% inode=73%);| /=1306MB;2366;2662;0;2958

Por lo tanto puedes modificar o crear tus propias definiciones de servicios usando las definiciones de comandos ya existentes, pero cambiando los valores de los parámetros. Y por otro lado puedes crear tus propios comandos en command.cfg especificando los plugins y sus parámetros de forma similar.

Cualquier cambio que hagas en las configuraciones no entrará en funcionamiento hasta que recargues la configuración del servicio nagios:

~$ sudo systemctl reload nagios

Conclusión

Ahora ya sabes cómo instalar Nagios Core en Debian 9 Stretch, por lo que puedes empezar a controlar el estado de tu servidor o VPS Debian 9 de forma sencilla gracias a su interfaz web. Sólo tienes que establecer qué parámetros del sistema quieres controlar y configurar los comandos adecuados mediante los plugins para mantenerlos vigilados. De hecho, el aspecto más importante de Nagios Core podría decirse que es saber qué plugin puede usarse para cierta tarea y cómo usarlo.

Si tienes alguna pregunta, duda, sugerencia o quieres notificar algún error, etc. puedes dejar un comentario.

¡Ah!, y si has conseguido realizar la instalación de Nagios Core en Debian 9 Stretch gracias a este tutorial, ¡puedes invitarme a un café cuando quieras!

1 estrella2 estrellas3 estrellas4 estrellas5 estrellas (1 votos, promedio: 5,00 de 5)
Cargando…

Deja un comentario

Cerrar menú

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información

ACEPTAR
Aviso de cookies