How-to sobre Nagios Realizado por Eugenio Fuentefría Oróns Índice. ¿Qué es Nagios? Funcionalidades de Nagios Equipos usados para las pruebas Instalación de Nagios. Uso de Nagios Modos de extraer información de Nagios Ficheros de configuración de Nagios (ejemplo con nrpe y snmp) Configuración del nrpe Interfaz de Nagios Conclusiones Introducción Realizaré este documento sobre el sistema de monitorización Nagios. Para ello lo configuré y probé en dos equipos (uno como cliente y otro como servidor). Una vez entendido el proceso de configuración, sería fácil configurar y añadir nuevos equipos a la red de vigilancia de Nagios. Contenido. ¿Qué es Nagios? Nagios es un sistema de monitorización que permite vigilar las características y propiedades de los equipos en red y alertar si alguna de ellas excede algún límite o está en trámites de hacerlo (por ejemplo, si se llena el disco duro, o si hay más de X usuarios conectados). Funcionalidades de Nagios Nagios permite: Monitorizar servicios como HTTP, SMTP, SNMP, ICMP, etc. Monitorizar recursos hardware (discos duros, procesador, etc.). Prácticamente se puede configurar enteramente como nosotros queramos, y escribir fácilmente nuevos plugins. Notifica al administrador mediante email, teléfono, o realmente lo que queramos si existe el plugin o lo sabemos programar. Equipos usados para las pruebas En primer lugar para las pruebas he usado una máquina Ubuntu 10.10 (equipo a monitorizar) y una máquina Debian 6 (equipo con el servidor Nagios instalado). El equipo con Ubuntu 10.10 tiene el servidor de SNMP montado y dado acceso al PC con Debian. Instalación de Nagios. En Debian es tan sencillo como “apt-get install nagios3”. Nos pedirá una contraseña para el administrador. Con esto Nagios ya quedaría instalado y funcionando. Uso de Nagios Para entrar en el panel de administración de Nagios tenemos que abrir el explorador, ir a http://127.0.0.1/nagios3, user:nagiosadmin y password la que pusimos antes. Con esto veremos que está configurado por defecto localhost, que analiza servicios como ssh o http(dando error si está desactivado), el espacio usado en disco (y nos alertaría si fuera inferior a los límites establecidos en el archivo de configuración) y el número de usuarios logueados en ese momento, entre otras cosas. Modos de extraer información de Nagios Lo que hemos visto arriba vale para localhost, ya que Nagios puede ejecutar lo que quiera en nuestro propio equipo, ¿pero cómo hace Nagios para sacar dicha información de otros equipos de red? Hay varias posibilidades: • Para los servicios como SSH o HTTP, puede comprobarse sin ningún tipo de privilegios que están activos y funcionando, como podríamos hacer nosotros manualmente conectándonos al SSH o entrando a la web alojada en el ordenador analizado. • Para el resto, podemos usar el plugin nrpe, que permite ejecutar comandos de nagios de forma remota, al igual que hacemos en localhost. • Otra opción es usar SNMP, en cuanto esté configurado podemos decirle a Nagios que nos compruebe diversos parámetros de SNMP. Algunos comandos ya vienen por defecto (por ejemplo snmp_disk o snmp_procname), pero crear uno personalizado es tan fácil como saber el OID de lo que queremos leer. Ficheros de configuración de Nagios Los ficheros de configuración de Nagios se encuentran en mi instalación en “/etc/nagios3/conf.d/”. Dentro de esta carpeta tenemos los archivos de los host. El que configura por defecto el localhost es el archivo “localhost_nagios2.cfg”, para auditar otro host podemos simplemente copiar ese archivo y ponerle otro nombre, por ejemplo, “mihost.cfg” y editarlo. Podemos asimismo quitar, añadir y personalizar servicios. Por ejemplo, dos formas de comprobar y monitorizar el número de usuarios sería: define service{ use generic-service host_name ubunto-vbox service_description Current Users check_command check_users!20!50 } define service{ use generic-service ; Name of service template to use host_name ubunto-vbox service_description snmp: Usuarios en maquina check_command snmp_users!public!20!50 } En el primer caso lo realizamos a partir del nrpe, el 20 indica a partir de cuántos usuarios habrá una advertencia y el 50 a partir de cuántos usuarios el estado será crítico. En el segundo caso hacemos la consulta a partir del SNMP, el único cambio es el “public”, que indica la comunidad usada para conectarnos por SNMP. Configuración del nrpe En el ordenador donde tenemos montado nagios, simplemente con un “apt-get install nagiosnrpe-plugin” quedaría instalado y configurado. En el ordenador a auditar, hacemos “apt-get install nagios-nrpe-server”. Luego tenemos que editar el fichero “/etc/nagios/nrpe.cfg” y añadir una línea “allowed_hosts=IP DEL SERVIDOR NAGIOS” Interfaz de Nagios Lo más complicado de Nagios es la configuración. Una vez configurado todo correctamente el manejo de la interfaz es muy intuitiva En esta imagen vemos la lista de hosts configurados en Nagios, con sus servicios y los estados de cada servicio. Aquí vemos el estado de los servicios en general. En esta imagen los procesos que tienen estado crítico o de alerta aparecen destacados, en el primer caso tenemos el disco que está en estado crítico porque el espacio está por debajo de un 6%, y en el segundo caso estado de alerta en los servicios porque pasan de 100 (lo que configuré, si pasaran de 200 estaría en estado crítico). Hay una diferencia de procesos entre el SNMP y el NRPE debido a que el número de procesos anda variando continuamente, y parece ser que el plugin NRPE accede más rápido a la información de lo que SNMP actualiza el MIB2. Aquí vemos el tiempo que los pcs han estado inalcanzables o caídos. Conclusión Nagios es una herramienta muy versátil y útil. Además de ello es libre y gratuita, con lo que a falta de una alternativa mejor debería ser vital para cualquier administrador de sistemas. La configuración es lo más complejo del proceso, sin duda alguna, ya que no hay nada que te ayude ya sea en forma de menús, y la ayuda no es que sea muy orientadora al principio Bibliografía Páginas de manual de Linux http://www.nagios.org/documentation