PDF de programación - Monitorizando con Nagios

Imágen de pdf Monitorizando con Nagios

Monitorizando con Nagiosgráfica de visualizaciones

Actualizado el 21 de Marzo del 2018 (Publicado el 16 de Diciembre del 2017)
345 visualizaciones desde el 16 de Diciembre del 2017
362,4 KB
37 paginas
Creado hace 7a (15/05/2013)
Monitorizando con Nagios

 Antonio Mario Molina Saorín
 13 de Julio de 2011
 Talleres Caldum


Monitorizando con Nagios

Antonio Mario Molina Saorín

http://antonio-mario.com

Monitorización

 Concocer el estado de los recursos de un PC:

 CPU, RAM, SWAP, HD, procesos...

 Conocer el estado de servicios:

 Ssh, http, ftp, bbdd, dns...

 Queremos chequeos:

 Automáticos (no podemos ir nosotros cada 5 min.)
 Que se nos avise si pasa algo (mail, sms...)
 Posibilidad de autocorregir el fallo¿?

 Solución-->Sistema de monitorización

Monitorizando con Nagios

Antonio Mario Molina Saorín

http://antonio-mario.com

Sistemas de monitorización

 Existen muchos
 La mayoría de pago (de Cisco, Avaya, HP...)
 Pero hay gratuitos. El más conocido: nagios
 Comparación entre todos:

 http://en.wikipedia.org/wiki/Comparison_of_netwo

rk_monitoring_systems

 Nagios permite monitorizar servicios, equipo

local, equipos remotos.

 Extensible: plugins, comandos...

Monitorizando con Nagios

Antonio Mario Molina Saorín

http://antonio-mario.com

Instalación - Prerrequisitos

 Instalamos el servidor www:

 # aptitude install apache2

 Instalamos módulo php5 para apache2
 # aptitude install libapache2-mod-php5

(nos pedirá desinstalar apache2-mpm-worker -que es el que permite
multiprocesamiento híbrido proceso-hilo- a lo que diremos que sí)

 Instamos software para compilar

 # aptitude install build-essential

 Instalamos librería para crear X pixmap:

 # aptitude install libgd2-xpm-dev

Monitorizando con Nagios

Antonio Mario Molina Saorín

http://antonio-mario.com

Instalación – Usuarios (I)

 Creamos usuario nagios:

 # useradd -m -s /bin/bash nagios

o bien:

 # adduser nagios

 El grupo se habrá creado, si no:

 # /user/sbin/groupadd nagios
 # /user/sbin/usermod -G nagios nagios

Monitorizando con Nagios

Antonio Mario Molina Saorín

http://antonio-mario.com

Instalación – Usuarios (y II)

 Para permitir ejecución de comandos desde la

web → creamos grupo nagcmd.
 # /usr/sbin/groupadd nagcmd

 Metemos los usuarios nagios y www-data

(apache2) en dicho grupo.
 # /usr/sbin/usermod -a -G nagcmd nagios
 # /usr/sbin/usermod -a -G nagcmd www-data

Monitorizando con Nagios

Antonio Mario Molina Saorín

http://antonio-mario.com

Instalación – Nagios-core (I)

 Descargamos de www.nagios.org/download y

descomprimimos el fichero de nagios-core
 cd $HOME/downloads
 # tar zxvf nagios-3.2.3.tar.gz

 Creamos makefile adecuado a nuestro PC

 # ./configure –with-command-group=nagcmd

 Compilamos el programa

 # make all

Monitorizando con Nagios

Antonio Mario Molina Saorín

http://antonio-mario.com

Instalación – Nagios-core (II)

 Instalamos los binarios, scripts, ejemplos y

fichero de configuración de la web:
 # make install
 # make install-init
 # make install-config
 # make install-commandmode
 # make install-webconf

 Ya tenemos nagios instalado!!...
 … pero aún nos quedan unos pasos para

poder dejarlo operativo...

Monitorizando con Nagios

Antonio Mario Molina Saorín

http://antonio-mario.com

Instalación - Nagios-plugins

 Descargamos de www.nagios.org/download y

descomprimimos los plugins de nagios
 cd downloads
 tar zxvf nagios-plugins-1.4.11.tar.gz
 cd nagios-plugins-1.4.11

 Creamos el makefile

 # ./configure –with-nagios-user=nagios
–with-nagios-group=nagios

 Compilamos e instalamos

 # make
 # make install

Monitorizando con Nagios

Antonio Mario Molina Saorín

http://antonio-mario.com

Instalación – pasos finales!

 A partir de ahora nos logamos como el usuario

nagios

 Configuramos nagios para que los mails nos

los envíe a nuestra cuenta de e-mail
 emacs /usr/local/nagios/etc/objects/contacts.cfg
 Creamos la cuenta nagiosadmin (web nagios)

 htpasswd -c /usr/local/nagios/etc/htpasswd.users

nagiosadmin

 ”Recargamos” la configuración de nagios

 # /etc/init.d/apache2 reload

Monitorizando con Nagios

Antonio Mario Molina Saorín

http://antonio-mario.com

Ya tá!

 http://localhost/nagios

Monitorizando con Nagios

Antonio Mario Molina Saorín

http://antonio-mario.com

Post-instalación

 Para que nagios arranque automáticamente:

 # ln -s /etc/init.d/nagios /etc/rcS.d/S99nagios

 Verificar configuración de nagios
 /usr/local/nagios/bin/nagios -v
/usr/local/nagios/etc/nagios.cfg

 Si no hay errores iniciamos Nagios:

 /etc/init.d/nagios restart

 Ya tenemos nuestro nagios operativo!
 Ahora hay que ”decirle” que monitorice

cosas ;-)

Monitorizando con Nagios

Antonio Mario Molina Saorín

http://antonio-mario.com

Configuración de nagios

 Como casi cualquier servicio Unix/Linux:

 Se configura mediante ficheros de texto
 Nagios no iba a ser menos ;-)

 En etc/nagios.cfg tenemos la configuración

global de nagios

 Para este taller apenas vamos a modificarlo
 Lo importante:

 Ficheros de configuración de objetos

 Objetos son todo: hosts, servicios, contactos...

Monitorizando con Nagios

Antonio Mario Molina Saorín

http://antonio-mario.com

Ficheros de configuración

 Contacts
 ContactGroups
 TimePeriods
 Hosts
 HostGroups
 Services
 ServiceGroups

Monitorizando con Nagios

Antonio Mario Molina Saorín

http://antonio-mario.com

Monitorización de hosts (I)

 Añadimos un fichero en etc/objects.
 Hay que agregar dicho fichero en nagios.cfg, o

bien agregar un directorio (cfg_dir).
 IMPORTANTE: usamos plantillas:

 Previamente creadas
 1 para todos!
 Nos facilitan el trabajo
 Sólo tenemos que cambiar nombre e IP ;-)
 Veamos un ejemplo de fichero de host

Monitorizando con Nagios

Antonio Mario Molina Saorín

http://antonio-mario.com

Monitorización de hosts (II)

 LOCALHOST
 define host{

use linux-server
host_name localhost
alias localhost
address 127.0.0.1
}

 GRUPO PARA LOS EQUIPOS LINUX
 define hostgroup{

hostgroup_name linux-servers
alias Linux Servers
members localhost
}

Monitorizando con Nagios

Antonio Mario Molina Saorín

http://antonio-mario.com

Monitorización de servicios (I)

 En un host podemos monitorizar 0, 1 ó varios

servicios

 Se definen aparte del host
 Hay comandos para chequear casi muchos

tipos de servicios, pero:

 ¡Podemos crear nuestros propios comandos!
 Vamos a monitorizar dos servicios: http y ssh
 En la siguiente vemos fichero de ejemplo

Monitorizando con Nagios

Antonio Mario Molina Saorín

http://antonio-mario.com

Monitorización de servicios (II)

define service{

use local-service
host_name localhost
service_description HTTP

check_command
notifications_enabled
}

check_http

1

define service{

use local-service
host_name localhost
service_description SSH
check_command
notifications_enabled

check_ssh
1

}

Monitorizando con Nagios

Antonio Mario Molina Saorín

http://antonio-mario.com

Notificaciones (I)

 Queremos que nagios nos avise:

 Si detecta que un servicio cae
 Si detecta que vuelve a quedar operativo
 Si detecta un servicio en estado crítico
 …

 Puede avisarnos, fundamentalmente,

 Mediante e-mail
 Mediante SMS

 Hay otros métodos de aviso (jabber, por ej.).

Monitorizando con Nagios

Antonio Mario Molina Saorín

http://antonio-mario.com

Notificaciones (II)

 Vamos a configurarlo para aviso por e-mail
 Opciones hay varias. Entre otras:



Instalar Postfix para el envío de mails

 Usar una MTA externa (gmail, por ejemplo)

 La primera es sencilla y útil si:
 No queremos enviar mails fuera

 Por tanto, nos dará problemas si:

 Queremos que nos envíe un mail a nuestro gmail

 Solución: usar MTA externo

Monitorizando con Nagios

Antonio Mario Molina Saorín

http://antonio-mario.com

Notificaciones (III) – Inciso: gmail

 Para enviar mail desde línea de comandos

usando gmail:
 # aptitude install heirloom-mailx
 mailx -v -a copiaseguridad.tar.gz

-S smtp=smtp.gmail.com:587
-S smtp-auth-starttls
-S smtp-auth-user=usuario@gmail.com
-S smtp-auth-password="XXXXXXX"
-S from=remitente@gmail.com
destinatario@gmail.com

 Recibimos en nuestro Android las

notificaciones de nagios!!!

Monitorizando con Nagios

Antonio Mario Molina Saorín

http://antonio-mario.com

Notificaciones (IV)

 Editamos contacts
 Colocamos nuestra dirección de e-mail:
 Donde queremos recibir las notifiacciones

 Podemos crear un contactgroup para meter

más de una dirección

 Ahora: modificamos commands.cfg



/usr/bin/mailx -s "** $NOTIFICATIONTYPE$ Host Alert:
$HOSTNAME$ is $HOSTSTATE$ **" -S smtp=smtp.gmail.com:587
-S smtp-use-starttls -S smtp-auth-user=USER@gmail.com -S
smtp-auth-password="PASSWORD" -S smtp-auth=login -S
from=USER@GMAIL.com $CONTACTEMAIL$

Monitorizando con Nagios

Antonio Mario Molina Saorín

http://antonio-mario.com

Notificaciones (V) – Ejemplo

 Subject

 ** PROBLEM Host Alert: winserver is DOWN **

 Cuerpo del mensaje
 ***** Nagios *****

Notification Type: PROBLEM
Host: winserver
State: DOWN
Address: 192.168.1.2
Info: CRITICAL - Host Unreachable
(192.168.1.2)

Date/Time: Tue Jul 12 14:34:26 CEST 2011

Monitorizando con Nagios

Antonio Mario Molina Saorín

http://antonio-mario.com

Chequeo de equipos GNU/Linux

 Usaremos NRPE
 Funcionamiento:

Monitorizando con Nagios

Antonio Mario Molina Saorín

http://antonio-mario.com

NRPE – Instalación cliente (I)
 Instalamos nagios-plugins

 tar zxvf nagios-plugins-1.4.15.tar.gz

 ./configure ; make ; make install

 chown nagios.nagios /usr/local/nagios

 chown -R nagios.nagios /usr/local/nagios/libexec

 Instalamos tcp wrapper: xinetd

 # aptitude install xinetd

 Instalamos nrpe:

 # aptitude install libssl-dev

 tar zxvf nrpe-2.12.tar.gz

 ./configure ; make all ; make install-plugin ; mak
  • Links de descarga
http://lwp-l.com/pdf7931

Comentarios de: Monitorizando con Nagios (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad