Professional Documents
Culture Documents
Nagios 3
Monitorización de equipos
con Nagios 3 Jorge López
jlopez@iberprensa.com
N
agios es una herramienta almacenamiento, y recursos tipo el es miento de varios elementos a la vez
GPL que permite llevar un pacio en disco o la cantidad de memo con un mínimo de modificaciones.
completo control de la dis- ria utilizada. Mediante el uso del com Grabación y rotación automática
ponibilidad de los servicios, proce- plemento NRPE también es posible de los estados de los elementos
sos y recursos de un equipo, infor- monitorizar los recursos de un equipo monitorizados en archivos logs, su
mando al administrador por dife- remoto. contenido lo leemos desde cualquier
rentes medios como correo elec- Envío de notificaciones por correo editor de texto o mediante la interfaz
trónico o SMS de su bloqueo o electrónico o SMS, según su grave web.
carga excesiva. Estudiamos en dad, podemos definir que se envíen co Asignación de roles para los usua-
este taller práctico las caracterís- mo simples advertencias o marcados rios, permitiendo dividir las tareas en
ticas de esta utilidad y su configu- como urgentes. También se manda un distintos usuarios. Por ejemplo, unos
ración vía interfaz web. mensaje informando de la corrección encargados del estado de los servicios
Surgido con el nombre NetSaint y del problema originado, por ejemplo al y otros de los recursos del equipo, a los
transformado en el proyecto Nagios resolverse automáticamente. que se envían diferentes mensajes.
(http://www.nagios.org), se trata de una Interfaz web integrada, para ver los Ampliación de funciones mediante
herramienta para monitorizar los equipos estados actuales de monitorizado, su el uso de complementos, permitien
y servicios de una red. Mediante el uso de histórico, gráficos de la topología de red do el control de nuevos servicios como
distintos comandos, supervisa hasta el mí para revisar si algún nodo está caído, los gestores de bases de datos MySQL
nimo detalle de sus estados, informando a listado mensajes enviados y generar in o PostgreSQL. Para programarlos, po
los administradores en caso de detectar formes de disponibilidad. demos utilizar el lenguaje que prefira
se cualquier tipo de problema. Creación de eventos, para ejecutar mos, ya que Nagios funciona como una
Con respecto a versiones anteriores, los al producirse determinadas situacio pasarela transparente para enviar men
Nagios 3 está dividido en diferentes archi nes, por ejemplo reiniciar algún servicio sajes con las salidas de los programas.
vos para la configuración de los dispositi cuando la carga de los recursos del
vos y contactos, haciendo más sencilla su equipo sea muy alta.
administración. Además incluye numero
sas optimizaciones al poder monitorizar
múltiples elementos, generar un mayor
número de estadísticas para la interfaz
web y agregar nuevas funciones en el in
térprete de Perl integrado.
CARACTERÍSTICAS
Monitorizado de servicios de red, La interfaz web integrada en Nagios genera informes con
por ejemplo HTTP, SMTP o POP3, dis
positivos como impresoras o redes de el estado actual de los elementos monitorizados
www.studiopress.es Número 95 31
TALLER PRÁCTICO Nagios 3
INSTALACIÓN PASO 7
Como último paso nos faltaría copiar el ar
PASO 1 chivo de configuración de Nagios para el
Primero necesitamos un usuario junto a servidor web, para lo cual entramos en el
su respectivo grupo, que será el utilizado directorio nagios-3.0.3 y ejecutamos:
por Nagios para funcionar. Podemos
crearlos desde las herramientas provistas # make install-webconf
por nuestra distribución, o utilizar el co
mando: Para bloquear los intentos de lectura
de las páginas con la información y esta
# /usr/sbin/adduser nagios dísticas generadas, creamos un nuevo
Listado de módulos disponibles que se pueden utilizar. usuario, de nombre nagios_admin, y su
con los que añadimos el nuevo usuario y contraseña con el comando:
escribimos su contraseña.
Para crear el grupo, ejecutamos: PASO 5 # htpasswd -c /usr/local/nagios
Al finalizar, identificados como root, ejecu /etc/htpasswd.users nagios_admin
# /usr/sbin/groupadd nagiosgroup tamos cuatro comandos más para su ins
# /usr/sbin/usermod talación: reiniciando Apache para habilitar el nuevo
-G nagiosgroup nagios directorio web creado, ejecutando uno de
# /usr/sbin/usermod # make install los dos siguientes comandos según la dis
-G nagiosgroup www-data # make install-init tribución que utilicemos:
# make install-config
con los dos últimos comandos añadimos # make install-commandmode # /etc/init.d/apache2 reload
al grupo el usuario creado nagios y el uti # /etc/init.d/httpd reload
lizado por Apache, www-data. Este se copiando los archivos, librerías, ejecuta
gundo puede variar en algunas instala bles y archivos de configuración, y asig
ciones, estando definido en los archivos nando los permisos adecuados.
de configuración del servidor web.
PASO 6
PASO 2 A continuación, procedemos a instalar los
Entramos a la página: http://www.nagios. complementos descargados, descompri
org/download y descargamos los archi miendo su paquete:
vos de los dos primeros desplegables,
Get Nagios y Get Plugins, utilizando en $ tar xvzf
ambos el botón “Go”, y seleccionado para nagios-plugins-1.4.12.tar.gz
este último el paquete de nombre nagios-
plugins. El primero contiene el programa y dentro de este directorio:
en sí y el segundo los complementos
esenciales. $ cd nagios-plugins-1.4.12 Solicitando un usuario y su clave para entrar en Nagios.
32 Número 95 www.studiopress.es
Nagios 3 TALLER PRÁCTICO
cio en disco, la memoria swap libre, los contactos; linux-server, servidor GNU/ en caso de generarse un estado de alerta.
usuarios conectados o la disponibilidad de Linux; windows-server, servidor Windows; Para añadir un contacto utilizamos las lí
servicios como HTTP, FTP, SSH, SMTP o generic-printer, dispositivo de impresión neas:
POP. Estos comandos son proporciona en red; generic-switch, switchs o routers;
dos a los equipos para definir los controles y generic-service, común para los servi define contact{
que queremos asignar. cios. A su vez, las cinco primeras depen contact_name nagiosadmin
Por ejemplo, el control de acceso por den de otra plantilla de nombre generic- use generic-contact
ping tiene la siguiente sintaxis: host. alias Administrador Nagios
Para que un elemento que va a ser email admin@correo.com
define command{ monitorizado pueda hacer uso de los pa }
comand_name check_ping rámetros de una plantilla (ver Listado 1),
command_line por ejemplo linux-server, añadimos en sus donde utilizamos los parámetros: contact_
$USER1$/check_ping parámetros de configuración la línea name, nombre del contacto; use, plantilla
-H $HOSTADRESS$ -w $ARG1$ del contacto, definido en el archivo tem-
-c $ARG2$ -p 5 use linux-server plates.cfg; alias, nombre completo del
} usuario para identificarlo fácilmente; y
timeperiods.cfg: períodos de tiempo email, dirección de correo a la que enviar
donde el valor de command_name es utili en que los comandos definidos en com- las alertas. Para cada nuevo contacto,
zado para asignar a un equipo este con mand.cfg van a ejecutarse, y configura añadimos estos mismos datos pero cam
trol, y los parámetros de command_line ción de cuándo se enviarán los mensajes biando como mínimo su nombre y correo
también serán asignados automáticamen de alerta a los contactos de contacts.cfg. electrónico.
te con otros archivos CFG. Admite la definición de franjas temporales Para simplificar su configuración hace
Los comandos disponibles, a los que por día y hora, por ejemplo definiendo mos uso de los grupos, que unen más de
sumaremos los provistos por otros com alertas por período laboral para los proce un contacto, por ejemplo:
plementos, son suficientes para monitori sos menos importantes o las 24 horas pa
zar cualquier equipo o red, incluyendo sus ra los críticos. define contactgroup {
recursos y servicios. Para crear un nuevo período de tiem contactgroup_name
templates.cfg: colección de plantillas po, por ejemplo con la franja horaria de administradores
para ser utilizadas en contactos, equipos y Lunes a Jueves de 9:00 a 19:00, y los alias Administradores Nagios
servicios. Definen los períodos de tiempo, Viernes de 9:00 a 15:00, añadimos las lí members nagiosadmin
comandos de monitorizado o frecuencia neas: }
de reintentos en caso de error, entre otros
muchos parámetros. El uso de estas plan define timeperiod{ siendo: contactgroup_name, el nombre
tillas permite aplicar un conjunto común timeperiod_name hora_trabajo del nuevo grupo que asignamos a los ele
de opciones a los elementos que se van a alias Hora de trabajo mentos monitorizados; alias, descripción
controlar, haciendo más sencillo su cam monday 09:00-19:00 del grupo; y members, listado de contac
bio. tuesday 09:00-19:00 tos separados por comas que constituyen
El número de plantillas contenidas es wednesday 09:00-19:00 el grupo.
suficiente para casi cualquier equipo y thursday 09:00-19:00 Los tres últimos archivos solo nos sir
red, definida cada una por la opción na- friday 09:00-15:00 ven como ejemplos, ya que definen los
me. Encontramos seis plantillas de espe } equipos, dispositivos, topología de red y
cial utilidad: generic-contact, para los los comandos, plantillas y contactos aso
Dentro de este archivo, encontramos ciados:
otros ejemplos para añadir períodos de localhost.cfg: controla los procesos y
Listado 1. Opciones de la plantilla tiempo distintos, incluyendo filtros según servicios del equipo en el que Nagios
Linux-server el día y mes del año. está ejecutándose.
Aunque podemos añadir las configura printer.cfg: ejemplos de control de im
define host{ ciones de estos tres ficheros en un solo presoras.
name linux-server archivo, por ejemplo opciones.cfg, e inser switch.cfg: monitorizado de dispositi
use generic-host tarlo dentro de nagios.cfg, es preferible vos de red, como routers y switches.
check_period 24x7 conservar esta separación de ficheros, ya windows.cfg: monitorizado de equi
check_interval 5 que facilita su modificación al no mezclar pos y servicios Windows.
retry_interval 1 parámetros con distintas finalidades.
max_check_attempts 10 El cuarto fichero solo lo modificamos El uso de estos archivos se realiza
check_command check-host-alive para añadir al menos un contacto válido, desde el fichero nagios.cfg, mediante las
notification_period workhours junto a su nombre y dirección de correo líneas que comienzan por cfg_file. Así, si
notification_interval 120 electrónico: queremos obviar el uso de alguno, por
notification_options d,u,r contacts.cfg: contiene cada uno de ejemplo este último para equipos
contact_groups admins los contactos con su nombre y dirección Windows, añadimos a su inicio el carácter
register 0 de correo electrónico. A cada elemento “#”. En la configuración predeterminada
} monitorizado asignamos al menos un están desactivados: switch.cfg, printer.cfg
contacto, al cual se le remitirá un mensaje y windows.cfg.
www.studiopress.es Número 95 33
TALLER PRÁCTICO Nagios 3
34 Número 95 www.studiopress.es
Nagios 3 TALLER PRÁCTICO
www.studiopress.es Número 95 35