1. Pedro Alcaraz Díaz Página 18 de 18
Instalación y configuración de Nagios
Instalación y configuración de
Nagios
Nagios core versión 4.0.4
Pedro Alcaraz Díaz
Abril de 2014
2. Pedro Alcaraz Díaz Página 1 de 18
Instalación y configuración de Nagios
Contenido
Introducción............................................................................................... 2
¿Qué es Nagios? ¿Para qué sirve? ............................................................................................ 2
Antes de empezar ...................................................................................... 2
Instalación de apache2.............................................................................................................. 2
Instalación de php5................................................................................................................... 2
Librerías necesarias................................................................................................................... 2
Instalación de Nagios ................................................................................. 3
Creamos usuarios y grupos ....................................................................................................... 3
Instalación de Nagios Core........................................................................................................ 4
Instalación de Nagios Plugins.................................................................................................... 5
Añadir nagios al inicio del sistema ............................................................................................ 6
Configuración de la interfaz Web.............................................................................................. 6
Configuración de los equipos ................................................................... 10
Configuración de equipos Windows ....................................................................................... 10
Agregar el equipo al servidor.................................................................................................. 10
Añadir los grupos .................................................................................................................... 11
Agregarle servicios para monitorizar ...................................................................................... 11
Crear nuevos tipos de servicios............................................................................................... 13
Periodos de tiempo................................................................................................................. 14
Activar las alertas por correo electrónico................................................. 14
Instalación de mailutils............................................................................................................ 14
Instalación y configuración de SSMTP..................................................................................... 14
Comprobación del correcto funcionamiento.......................................................................... 15
Utilización de nagios ................................................................................ 16
Visualizar por grupos............................................................................................................... 16
Bibliografía:................................................................................................ 0
Creative Commons..................................................................................... 0
3. Pedro Alcaraz Díaz Página 2 de 18
Instalación y configuración de Nagios
Introducción
Antes de nada deciros que este documento está basado en gran parte de un tutorial
desarrollado por “Guille Rodríguez” el cual dio permiso para modificar y publicar su obra.
Podéis encontrar un enlace al final del documento en la bibliografía.
En este documento, explicaremos como instalar y configurar un servidor Nagios core, con los
plugins necesarios corriendo sobre un debían 7.4 desde cero.
¿Qué es Nagios? ¿Para qué sirve?
Nagios es un sistema de monitorización de redes de código abierto ampliamente utilizado, que
vigila los equipos (hardware) y servicios (software) que se especifiquen, alertando cuando el
comportamiento de los mismos no sea el deseado. Entre sus características principales figuran
la monitorización de servicios de red (SMTP, POP3, HTTP, SNMP, etc.), la monitorización de los
recursos de sistemas hardware (carga del procesador, uso de los discos, memoria, estado de
los puertos, etc.), independencia de sistemas operativos, posibilidad de monitorización remota
mediante túneles SSL cifrados o SSH, y la posibilidad de programar plugins específicos para
nuevos sistemas.
Antes de empezar
Antes de la instalación de Nagios, deberemos de instalar los siguientes paquetes. Además de
configurarle una IP estática.
Instalación de apache2
Comprobamos que la instalación funciono correctamente escribiendo en nuestro navegador
“http://ip_de_nuestro_equipo” y veremos una página web que dice “It works!”.
Instalación de php5
Ahora procedemos a instalar una librería para php, que necesitaremos para ver correctamente
el contenido php de las páginas:
Librerías necesarias
También necesitaremos la librería gd que la descargaremos de su source, la compilaremos e
instalaremos. Crearemos una carpeta donde guardar todo lo necesario.
:~# apt-get install apache2
:~# apt-get install php5
:~# apt-get install libapache2-mod-php5
:~# apt-get install make gcc g++ sudo libgd2-xpm libgd2-xpm-
dev libpng12-dev libjpeg62-dev libgd-tools libpng3-dev
4. Pedro Alcaraz Díaz Página 3 de 18
Instalación y configuración de Nagios
Ahora procedemos a instalar la librería gd
Procedemos a su instalación
Instalación de Nagios
Creamos usuarios y grupos
Como siempre en Linux, es mejor crear un usuario para cada servicio, de manera que si
por algún motivo un usuario llegara a poder acceder al sistema a través de Nagios,
solamente afectaría al usuario Nagios y tendría solo los permisos de este usuario. Creamos el
usuario:
A continuación nos pedirá unos datos, a nivel de información, se pueden dejar en blanco sin
problemas (excepto la contraseña que la deberemos de recordar)
Procedemos a crear el grupo, para añadir al usuario Nagios y también al usuario www-
data (servidor web) al grupo. Generalmente el grupo se crea al crear el usuario y este
estará en él, pero aun así lo haremos, en el caso de que exista solo nos avisará
:~# mkdir /temporales
:~# cd /temporales
:~# wget http://www.boutell.com/gd/http/gd-2.0.33.tar.gz
:~# tar -zxvf gd-2.0.33.tar.gz
:~# cd gd-2.0.33/
:~# ./configure
:~# make && make install
:~# cd ..
:~# adduser nagios
:~# groupadd nagios
:~# usermod -G nagios nagios
:~# usermod -G www-data,nagios www-data
5. Pedro Alcaraz Díaz Página 4 de 18
Instalación y configuración de Nagios
Instalación de Nagios Core
Lo primero que vamos a hacer es entrar en la web de Nagios y buscar su última versión de
Nagios Core, así que entramos en www.nagios.org/download/core/thanks donde encontramos
la versión Latest stable release y la Previous stable release, copiamos el enlace de la Latest
stable release.
En nuestro caso vamos a elegir la versión gratuita y nos pedirán unos datos opcionales que
nosotros nos saltaremos.
Ahora copiaremos la ruta del enlace a la versión estable más reciente
Nos vamos al servidor y descargamos, descomprimimos e instalamos
Y ya tenemos instalado Nagios Core
:~# wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-
4.0.4.tar.gz
:~# tar zvfx nagios-3.4.3.tar.gz
:~# cd nagios
:~#./configure –prefix=/usr/local/nagios –with-
cgiurl=/nagios/cgi-bin –with-htmurl=/nagios/ –with-nagios-
user=nagios –with-nagios-group=nagios –with-command-
group=nagios
:~# make all
:~# make install
:~# make install-init
:~# make install-commandmode
:~# make install-config
:~# cd ..
6. Pedro Alcaraz Díaz Página 5 de 18
Instalación y configuración de Nagios
Instalación de Nagios Plugins
Nagios plugins es un añadido que nos permite conectar con servicios más específicos si
queremos conectar con un ordenador Windows y saber su carga de CPU, RAM, disco duro y
otros muchos más servicios o dispositivos.
Volvemos a la web de Nagios pero en su sección http://nagios.org/download/plugins y
repetimos los mismos pasos que con el nagios core. Descargándonos la última estable.
Una vez terminado, comprobaremos si se han instalado correctamente en el
directorio /usr/local/nagios/libexec/
Si nos muestra una lista de archivos, en principio todo está correcto, en el caso de que esté
vacía significará que no se instaló correctamente1
También podemos probar insertando el siguiente comando
1
Durante la instalación de los plugins, la pantalla se queda parada varias veces, no tocad nada o no se
instalará correctamente (lo digo por experiencia)
:~# wget http://nagios-plugins.org/download/nagios-plugins-
2.0.tar.gz
:~# tar -zxvf nagios-plugins-HEAD.tar.gz
:~# cd nagios-plugins-<presionar tabulacion>
:~#./configure
:~# make && make install
:~# ls/usr/local/nagios/libexec
:~# /usr/local/nagios/libexe/check_ssh -h
7. Pedro Alcaraz Díaz Página 6 de 18
Instalación y configuración de Nagios
Y nos saldrá una pantalla como esta:
Añadir nagios al inicio del sistema
Crearíamos un enlace simbólico, por si algún día el archivo se borra quede inservible este
enlace. Para ello ejecutamos la siguiente orden.
Y para evitar que nos salga un error como este: “insserv: warning: script ‘S99nagios’ missing
LSB tags and overrides” editamos /etc/init.d/nagios y añadimos lo siguiente debajo de
#!/bin/sh
Ahora al ejecutar “insserv nagios”, no debería salirnos ningún error
Configuración de la interfaz Web
Ya lo tenemos instalado, ahora nos queda poder ver o monitorizar los servicios. Para ello,
debemos de crear un sitio en apache2
Al no existir, nos lo creare y dentro deberemos de pegar el siguiente texto, no hace falta
cambiar las rutas siempre y cuando no las hayamos modificado durante la instalación.
:~# ln –s /etc/init.d/nagios /etc/rcS.d/S99nagios
### BEGIN INIT INFO
# Provides: Nagios
# Required-Start: $syslog
# Required-Stop: $syslog
# Default-Start: 2 3 4 5 S
# Default-Stop: 0 1 6
# Short-Description: Nagios Boot Script
# Description:
#
### END INIT INFO
:~# nano /etc/apache2/sites-available/nagios
8. Pedro Alcaraz Díaz Página 7 de 18
Instalación y configuración de Nagios
Guardamos el archivo y activamos el sitio mediante la siguiente orden.
Definimos la contraseña para el usuario “nagiosadmin” que es el usuario que viene por
defecto. La usaremos después para acceder al panel web de Nagios.
Y revisamos que el archivo “/usr/local/nagios/etc/cgi.cfg” disponga de “use_authentication=1”
La manera más rápida y sencilla con nano, seria pulsar “Ctrl” + “w” y escribir
“use_authentication” pulsamos Intro y si aparece más de una vez, solo tendríamos que pulsar
“Ctrl” + “w” y luego Intro.
ScriptAlias /nagios/cgi-bin /usr/local/nagios/sbin
<Directory “/usr/local/nagios/sbin”>
Options ExecCGI
AllowOverride None
Order allow,deny
Allow from all
AuthName “Nagios Access”
AuthType Basic
AuthUserFile /usr/local/nagios/etc/htpasswd.users
Require valid-user
</Directory>
Alias /nagios /usr/local/nagios/share
<Directory “/usr/local/nagios/share”>
Options None
AllowOverride None
Order allow,deny
Allow from all
AuthName “Nagios Access”
AuthType Basic
AuthUserFile /usr/local/nagios/etc/htpasswd.users
Require valid-user
</Directory>
:~# a2ensite nagios
:~# nano /usr/local/nagios/etc/cgi.cfg
9. Pedro Alcaraz Díaz Página 8 de 18
Instalación y configuración de Nagios
En caso de no tener previamente configurado el servidor apache2. Procederemos a crear un re
direccionamiento de la página por defecto (Esa que nos aparece si ponemos en el navegador la
IP de nuestro equipo) hacia la de Nagios
Y escribimos lo siguiente:
Con esto lo que conseguimos es que en un periodo de 5 segundos redirija automáticamente a
httl://ip_del_equipo/nagios
Y ahora reiniciamos Apache2
Ya podemos abrir nuestro navegador y comprobar su funcionamiento
:~# nano /var/www/index.html
<html>
<head>
<title> Redirigiendo a nagios...</title>
</head>
<body>
<h1>Redirigiendo a nagios...</h1>
<p>En el caso de no llegar a la siguiente página, avise
al administrador del sitio </p>
<META HTTP-EQUIV="REFRESH"
CONTENT="5;URL=http://ip_del_equipo/nagios">
</body>
</html>
:~# service apache2 restart
:~# service nagios restart
10. Pedro Alcaraz Díaz Página 9 de 18
Instalación y configuración de Nagios
Veremos algo como lo siguiente:
Ya solo nos queda configurar los equipos a configurar.
11. Pedro Alcaraz Díaz Página 10 de 18
Instalación y configuración de Nagios
Configuración de los equipos
Configuración de equipos Windows
Antes de nada necesitamos descargarnos un cliente para nagios. Para ellos vamos a la página
http://www.nsclient.org/download/ y nos descargamos la versión que nos interese (x86 o x64)
siempre que podamos deberíamos instalarnos la última estable, ya que en ella suelen
corregirse bugs y fallos de seguridad. En nuestro caso la versión “0.4.0.102”, pero todas son
muy parecidas.
Le damos a siguiente, luego aceptamos los términos. Y elegimos en nuestro caso la instalación
completa.
Agregar el equipo al servidor
Una vez hemos instalado el cliente solo nos faltaría agregarlo al servidor.
Para ello a “/usr/local/nagios/etc/objects/windows.cfg” (en el caso de que sea un Windows) o
“/usr/local/nagios/etc/objects/switch.cfg” en el caso de que sea un Linux, un switch
En nuestro caso configuraremos un Windows. Por eso vamos a editar el fichero
“/usr/local/nagios/etc/objects/windows.cfg”, le realizamos una copia antes de modificar nada
con el comando
:~# cd /usr/local/nagios/etc/objects/
:~# cp windows.cfg windows.cfg_ORIGINAL
12. Pedro Alcaraz Díaz Página 11 de 18
Instalación y configuración de Nagios
Ahora ya podemos proceder a modificar el archivo
Vemos unos serie de recuadros hechos con “#”, que nos indican que solo son para organizar ya
que son comentarios. Nos vamos debajo de “HOST DEFINITION” y definimos el host al que
acabamos de instalar el NSCLIENT++
1. Hereda los valores por defecto de una plantilla llamada windows-server
2. En el definimos un nombre para referirnos al equipo (no tiene por qué ser el real)
3. Es lo que nos mostrará en la web
4. Escribimos la dirección de nuestro servidor
5. Es el nombre del grupo donde lo queremos meter (la definiremos después)
Añadir los grupos
Para añadir los grupos, debemos de añadir la siguiente información en el archivo switch.cfg o
Windows.cfg ( o en los dos)
1. Definimos el nombre del grupo (Es el que utilizaremos para agregarlos al grupo)
2. Le decimos el nombre del grupo que nos mostrará en la web
Agregarle servicios para monitorizar
Ahora pasamos a configurar los servicios que queremos monitorizar.
1. Es el servicio que vamos a utilizar, en todos nuestros casos serán “generic-service”
2. El nombre que le pusimos anteriormente al servidor
3. Podemos poner una pequeña descripción
4. Escribimos el comando que se va a ejecutar para ver el recurso
:~# nano windows.cfg
13. Pedro Alcaraz Díaz Página 12 de 18
Instalación y configuración de Nagios
Nosotros queremos definiremos los siguientes servicios, podemos encontrar más información
en la siguiente dirección web: http://nagios.sourceforge.net/docs/3_0/monitoring-
windows.html
define service{
use generic-service
host_name winserver
service_description NSClient++ Version
check_command check_nt!CLIENTVERSION
}
define service{
use generic-service
host_name winserver
service_description Uptime
check_command check_nt!UPTIME
}
define service{
use generic-service
host_name winserver
service_description CPU Load
check_command check_nt!CPULOAD!-l 5,80,90
}
define service{
use generic-service
host_name winserver
service_description Memory Usage
check_command check_nt!MEMUSE!-w 80 -c 90
}
define service{
use generic-service
host_name winserver
service_description C: Drive Space
check_command check_nt!USEDDISKSPACE!-l c -w 80 -c 90
}
14. Pedro Alcaraz Díaz Página 13 de 18
Instalación y configuración de Nagios
Y tenemos todo completamente configurado. Ahora podemos retocarlos a nuestro gusto, por
ejemplo a la hora de que nos alerte con el espacio de disco. “check_command
check_nt!USEDDISKSPACE!-l c -w 80 -c 90”, podemos poner
diferentes porcentajes (80,90 son los porcentajes por defecto).
Crear nuevos tipos de servicios
También podemos crear otro tipo de servicios en lugar de “generic-
service”, para ello editamos el archivo
Buscamos la definición de generic service y la copiamos entera,
modificándole el nombre por el que nos guste, en mi caso lo llamaré
“generic-services-low-priority”
Y modificamos por ejemplo “notification_option” para que solo nos
notifique “u,c,r”
Opciones:
- o: Funcionando correctamente
- w: Alerta
- u: Estado desconocido
- c: Estado critico
- r: Recuperación del servicio
- f: Flapping (cuando se inicia y se detiene)
- n: Ninguna notificación
Procedemos a modificar notification_interval a 120 minutos, esto hará que avise solo cada 2
horas, además, como se trata de unos servicios de baja prioridad, cambiamos
notification_period, de “24x7” a “workhours”. Para que solo nos avise en horario de trabajo.
(Lo veremos en el siguiente paso)
define service{
use generic-service
host_name winserver
service_description W3SVC
check_command check_nt!SERVICESTATE!-d SHOWALL -l
W3SVC
}
define service{
use generic-service
host_name winserver
service_description Explorer
check_command check_nt!PROCSTATE!-d SHOWALL -l
Explorer.exe
}
nano /usr/local/nagios/etc/objects/templates.cfg
15. Pedro Alcaraz Díaz Página 14 de 18
Instalación y configuración de Nagios
Periodos de tiempo
En este apartado, podremos modificar las horas y días que queremos recibir notificaciones,
pudiendo adaptarlos a nuestro horario de trabajo, días de vacaciones, etc.
Para esto, modificaremos “timeperiods.cfg”.
Aquí podremos definir un nuevo periodo de tiempo, o modificar los existentes. En nuestro
caso y puesto que en el punto anterior lo utilizamos, adaptaremos “workshours”.
Modificándole las horas, para que deje de notificar a las 21:00
En el archivo, podemos ver otros muchos ejemplos de configuración.
Activar las alertas por correo electrónico
Para activar las alertas por correo electrónico, deberemos instalar y configurar los siguientes
paquetes:
- mailsutils
- ssmtp
Instalación de mailutils
Instalación y configuración de SSMTP
:~# apt-get install mailutils
nano /usr/local/nagios/etc/objects/timeperiods.cfg
16. Pedro Alcaraz Díaz Página 15 de 18
Instalación y configuración de Nagios
Una vez instalado, procedemos a configurar los archivos “/etc/ssmtp/revaliases” y
“/etc/ssmtp/smtp.conf”
En revaliases, debemos de escribir la siguiente línea:
Por ejemplo:
Y ssmtp.conf de la siguiente manera (leed las líneas del fichero original comentadas, por si
cambia mucho la configuración de vuestro caso en particular):
Comprobación del correcto funcionamiento
Podemos comprobar el correcto funcionamiento del envío de mensajes mediante el comando:
- Nos pedirá un “CC.” el cual podemos dejar en blanco
- Un asunto
- Y luego escribimos el mensaje
- Acabamos con un Intro
- Un punto y otro Intro
Por cada error nos dará un mensaje como el siguiente:
:~# apt-get install ssmtp
local_account:outgoing_address:mailhub
Nagios:nagios@midominio.com:smtp:midominio.com:25
root=nagios@midominio.com
mailhub=ssmtp.midominio.com:25
rewriteDomain=
hostname=localhost
UseTLS=Yes
UseSTARTTLS=Yes
AuthUser=nagios@midominio.com
AuthPass=1q2w3e4r5t
FromLineOverride=No
mail direccion@midominio.com
17. Pedro Alcaraz Díaz Página 16 de 18
Instalación y configuración de Nagios
Como podéis ver, yo me lo he enviado a mí mismo, cada uno ya lo envía a quien quiera.
Utilización de nagios
Para comenzar a utilizar nagios, abriremos el navegador, he ingresaremos
http://ip_del_servidor/nagios
Visualizar por grupos
La manera más fácil de tener controlados todos los equipos es dándole en la parte izquierda de
la pantalla a “GrId”, dentro de “Hostgroups”
18. Pedro Alcaraz Díaz Página 17 de 18
Instalación y configuración de Nagios
Y veremos algo así, pero con los servidores que hayas montado:
El resto está en las manos de cada uno de seguir investigando.
19. Pedro Alcaraz Díaz Página 18 de 18
Instalación y configuración de Nagios
Bibliografía:
Tutorial de Guille Rodríguez: http://www.driverlandia.com/instalar-nagios-core-y-nagios-
plugins-en-debian-paso-a-paso-desde-source/
http://www.wikipedia.org
http://www.nagios.org/
http://www.desarrolloweb.com
Creative Commons
Este documento está protegido, por licencia Creative Commons, para más información visite el
siguiente link:
http://creativecommons.org/licenses/by-nc-sa/4.0/