Nagios es un sistema open source de monitorización de redes 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, FTP, 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 ó SSH, y la posibilidad de programar plugins específicos para nuevos sistemas.
Se trata de un software que proporciona una gran versatilidad para consultar prácticamente cualquier parámetro de interés de un sistema, y genera alertas, que pueden ser recibidas por los responsables correspondientes mediante (entre otros medios) correo electrónico y mensajes SMS, cuando estos parámetros exceden de los márgenes definidos por el administrador de red.
Nagios fue originalmente diseñado para ser ejecutado en GNU/Linux, pero también se ejecuta bien en variantes de Unix. Está licenciado bajo la GNU General Public License Version 2.
Este manual de instalación y configuración básica para monitorizar la maquina donde instalemos el mismo Nagios (localhost) esta extraído de la guía oficial de Nagios, asi como de diversas paginas web, la guia de net-SNMP y la guia de NRPE entre otros.
Se trata de un software que proporciona una gran versatilidad para consultar prácticamente cualquier parámetro de interés de un sistema, y genera alertas, que pueden ser recibidas por los responsables correspondientes mediante (entre otros medios) correo electrónico y mensajes SMS, cuando estos parámetros exceden de los márgenes definidos por el administrador de red.
Nagios fue originalmente diseñado para ser ejecutado en GNU/Linux, pero también se ejecuta bien en variantes de Unix. Está licenciado bajo la GNU General Public License Version 2.
Este manual de instalación y configuración básica para monitorizar la maquina donde instalemos el mismo Nagios (localhost) esta extraído de la guía oficial de Nagios, asi como de diversas paginas web, la guia de net-SNMP y la guia de NRPE entre otros.
Instalacion del Servidor Nagios
http://adf.ly/1emZR5
Primero instalaremos Apache2 y las librerías necesarias para utilizar Nagios.
Instalamos Apache2 y el paquete essential con librerías para compilar y desarrollar:
Los copiamos al directorio donde desempaquetamos los plugins.
Compilamos e instalamos los plugins:
Una vez dentro, podemos realizar un click en “Service Detail” y monitorizar nuestro servidor. Recordatorio: La ubicación de todos los ficheros de configuración están ubicados en “/usr/local/nagios”.
Entonces, hasta ahora tenemos un servidor nagios, levantado, pero solo podemos ver los servicios de nuestro localhost (servidor o desktop) con el nagios instalado, debemos hacer ciertas configuraciones para poder monitorear servicios de hardware de Red asi como de otros Servidores (en Linux, Unix o Windows) y podemos monitorizar varias cosas, como ser uso de la CPU, uso de Memoria, uso de Disco Duro, etc.
Instalamos Apache2 y el paquete essential con librerías para compilar y desarrollar:
#apt-get install apache2 #apt-get install build-essentialInstalamos la librería gd2:
#apt-get install libgd2-xpm-devCreamos una cuenta de usuario ‘nagios’ y le modificamos la contraseña:
#useradd -m nagios #passwd nagiosCrearemos la cuenta de usuario para comandos externos subministrados a través de la interfaz web. Añadiremos al usuairo ‘nagcmd’ al grupo ‘nagios’ y al ‘www-data’:
#groupadd nagcmd #usermod -a -G nagcmd nagios #usermod -a -G nagcmd www-dataAhora vamos al directorio /home/mi_home/ para realizar las descargas de nagios y los plugins de la página http://www.nagios.org/download/:
#cd /home/mi_home/ #wget http://osdn.dl.sourceforge.net/sourceforge/nagios/nagios-3.0.6.tar.gz #wget http://osdn.dl.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.11.tar.gzDesempaquetamos el tar y accedemos a la carpeta del mismo:
#tar xzf nagios-3.0.6.tar.gz #cd nagios-3.0.6Ejecutamos el script para configurar con los siguientes parámetros:
#./configure --with-command-group=nagcmdCompilamos el código fuente de nagios e instalamos:
#make all #make install #make install-init #make install-config #make install-commandmodePersonalizamos nuestra configuración insertando nuestra dirección de correo para que nagios se pueda comunicar con nosotros y podamos recibir las alertas en el fichero /usr/local/nagios/etc/objects/contacts.cfg
#vi /usr/local/nagios/etc/objects/contacts.cfgConfiguramos la interfaz Web e instalamos el fichero de configuración de Apache2 en conf.d:
#make install-webconfCreamos la cuenta de usuario ‘nagiosadmin’ para hacer login al interfaz web y nos pida autenticación:
#htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadminRecargamos Apache2 para que modifique los cambios realizados:
#/etc/init.d/apache2 reloadDesempaquetamos los plugin e ingresamos en el directorio:
#cd /home/mi_home/ #tar xzf nagios-plugins-1.4.11.tar.gz #cd nagios-plugins-1.4.11Antes de compilar e instalar los plugins, nagios por defecto no tiene los plugins de SNMP (los cuales son muy importante para revisar equipos por la red), entonces debemos bajarlos de su web: http://www.net-snmp.org/download.html (ojo, son paquetes binarios en rpm, no importa ya que no debemos hacerles nada a los paquetes)
Los copiamos al directorio donde desempaquetamos los plugins.
Compilamos e instalamos los plugins:
#./configure --with-nagios-user=nagios --with-nagios-group=nagios #make #make installConfiguramos Nagios para que arranque automaticaménte:
#ln -s /etc/init.d/nagios /etc/rcS.d/S99nagiosVerificamos que la configuración que tenemos es toda correcta con el siguiente comando:
#/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfgFinalmente, y si todo ha salido bien, procedemos a arrancar Nagios:
#/etc/init.d/nagios startCon todo esto, ya tenemos instalado y configurado Nagios para funcionar y recibir alarmas del mismo servidor nagios (localhost). Abrimos un explorador e ingresamos la dirección ‘http://localhost/nagios/’ (o http://IP_maquina/nagios/) y cuando nos pida autenticación, ingresamos el usuario creado anteriormente ‘nagiosadmin’ con su correspondiente contraseña.
Una vez dentro, podemos realizar un click en “Service Detail” y monitorizar nuestro servidor. Recordatorio: La ubicación de todos los ficheros de configuración están ubicados en “/usr/local/nagios”.
Entonces, hasta ahora tenemos un servidor nagios, levantado, pero solo podemos ver los servicios de nuestro localhost (servidor o desktop) con el nagios instalado, debemos hacer ciertas configuraciones para poder monitorear servicios de hardware de Red asi como de otros Servidores (en Linux, Unix o Windows) y podemos monitorizar varias cosas, como ser uso de la CPU, uso de Memoria, uso de Disco Duro, etc.
Monitorizando un Servidor en Linux
http://adf.ly/1emZR5
Para monitorizar otros servidores o maquinas con Linux que no sea nuestra Localhost, debemos usar el plugin NRPE, esre plugin, tiene dos partes:
El plugin NRPE check_nrpe que reside en el Servidor Nagios. el demonio NRPE, que reside en la maquina a monitorizar.
La forma en que funcionan es la siguiente:
Entramos a la consola y tomamos privilegios de root.
primero verificamos que el demonio NRPE este corriendo en xinetd
Ahora, revisamo que el demonio NRPE este funcionando correctamente
Cabe recalcar que se puede editar el archivo de configuracion por el cual corre el nrpe en la maquina local:
Ahora, pasemos a la configuracion del Servidor Nagios:
debemos instalar el plugin check_nrpe
Ahora debemos crear definiciones de comandos (command definitions), para eso editamos el commands.cfg Nagios ejecuta check_nrpe y le dice que servicio necesita revisar.
Entonces creamos las definiciones del servicio para maquinas Linux/Unix, esto crando un archivo con TODO lo que pondra a continuacion en:
Ahora definimos el el nuevo host (podemos definir varios hosts, dependiendo el numero de servers Linux que necesitemos monitorear)
Revisamos que todo este bien
Debemos ingresar al host remoro como usuario nagios (que se creo en la instalacion del NRPE), y digamos que queremos que nos de un Warning con el 25% de espacio disponible y que nos de un Critical con el 10% entonces:
El plugin NRPE check_nrpe que reside en el Servidor Nagios. el demonio NRPE, que reside en la maquina a monitorizar.
La forma en que funcionan es la siguiente:
- Nagios ejecuta check_nrpe y le dice que servicio necesita revisar.
- check_nrpe se contacta con el demonio NRPE en el host remoto (una opcion es hacerlo por SSL.
- El demonio NRPE corre y revisa el servicio requerido
- El resultado es pasado del demonio NRPE a check_nrpe y este enviado y procesado a Nagios.
Entramos a la consola y tomamos privilegios de root.
$sudo -screamos un usuario nagios con su contraseña:
#/usr/sbin/useradd nagios #passwd nagiosInstalamos los plugins de nagios (los mismos que instalamos en el Servidor Nagios).
#cd /home/mi_home/ #wget http://osdn.dl.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.11.tar.gz #tar xzf nagios-plugins-1.4.11.tar.gz #cd nagios-plugins-1.4.11Compilamos e Instalamos los plugins
#./configure #make #make installLos permisos al directoria del plugin deben ser configurados de la siguiente manera
#chown nagios.nagios /usr/local/nagios #chown -R nagios.nagios /usr/local/nagios/libexecAhora instalamos en demonio NRPE, para eso lo debemos bajar, lo estraemas
#cd ~/downloads #wget http://osdn.dl.sourceforge.net/sourceforge/nagios/nrpe-2.8.tar.gz #tar xzf nrpe-2.8.tar.gz #cd nrpe-2.8Antes de compilarlo, vemos si tenemos todo lo necesario y hacemos:
#apt-get install build-essential #apt-get install xinetd #apt-get install libssl-devLo compilamos
#./configure #make allInstalamos el pulgin NRPE (para pruebas), el demonio y el archivo de configuracion del demonio
#make install-plugin #make install-daemon #make install-daemon-configInstalamos el demonio NRPE como un servicio en xinetd
#make install-xinetdeditamos el archivo /etc/xinetd.d/nrpe y le añadimos la direccion IP del servidor Nagios en la linea only_from
only_from=192.168.0.205Añadimos la siguiente entrada del demonio NRPE a /etc/services
nrpe 5666/tcp #nrpeReiniciamos el servicio xinetd
#/etc/init.d/xinetd restartAhora probamos de manera local el demonio NRPE
primero verificamos que el demonio NRPE este corriendo en xinetd
#netstat -at | grep nrpela salida deberia ser:
tcp 0 0 *:nrpe *:* LISTENSi esa es la salida, perfecto, esta funcionando el demonio. Si no, se debe revisar lo siguiente: haber añadido nrpe en el archivo /etc/services Que la directiva only_from rn /etc/xinetd.d/nrpe contenga una direccion IP valida que xinetd este instalado y corriendo
Ahora, revisamo que el demonio NRPE este funcionando correctamente
#/usr/local/nagios/libexec/check_nrpe -H ip_de_la_maquina_localdeberiamos tener el siguiente resultado
NRPE v2.8Ahora nos aseguramos de que el firewall deje que el demonio NRPE sea accesado de forma remota abriendo el puerto tcp 5666 dentro de iptables
Cabe recalcar que se puede editar el archivo de configuracion por el cual corre el nrpe en la maquina local:
#vi /usr/local/nagios/etc/nrpe.cfgAsi como esta la actualizacion lo que hara el NRPE es el monitoreo de usuarios, carga del Procesador, uso del Disco Duro, Listar los Todos los Procesos y ver si existen procesos “Zombies”
Ahora, pasemos a la configuracion del Servidor Nagios:
debemos instalar el plugin check_nrpe
$sudo -snos vamos al directorio con los archivos bajados
#cd ~/downloads #wget http://osdn.dl.sourceforge.net/sourceforge/nagios/nrpe-2.8.tar.gzExtraemos el NRPE
#tar xzf nrpe-2.8.tar.gz #cd nrpe-2.8Compilamos el NRPE
#./configure #make allinstalamos el plugin
#make install-pluginNos aseguramos que el check_nrpe se puede comunicar con el demonio NRPE en el linux remoto, (La IP de mi maquina linux remota es 192.168.0.1)
#/usr/local/nagios/libexec/check_nrpe -H 192.168.0.1Deberia respondernos:
NRPE v2.8Si no da esa respuesta, debemos revisar de que el firewall del host remoto no nos bloquee, verificar que el demonio este instalado en xinetd (Ver todo eso mas arriba)
Ahora debemos crear definiciones de comandos (command definitions), para eso editamos el commands.cfg Nagios ejecuta check_nrpe y le dice que servicio necesita revisar.
- check_nrpe se contacta con el demonio NRPE en el host remoto (una opcion es hacerlo por SSL.
- El demonio NRPE corre y revisa el servicio requerido
- El resultado es pasado del demonio NRPE a check_nrpe y este enviado y procesado a Nagios.
#vi /user/local/nagios/etc/commands.cfgy añadimos:
define command{ command_name check_nrpe command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$ }ya estamos listos para añadir servicios que seran monitorizados por la configuracion de Nagios
Entonces creamos las definiciones del servicio para maquinas Linux/Unix, esto crando un archivo con TODO lo que pondra a continuacion en:
#vi /usr/local/nagios/etc/objects/linux-box.cfgDonde ponemos:
Define host{name linux-box ;name of this template
use generic-host ;Inherit default values check_period 24x7 check_interval 5 retry_interval 1 max_check_attemps 10 check_command check-host-alive notification_period 24x7 notification_interval 30 notification_options d, r cotact_groups admins register 0 ;DONT REGISTER THIS – ITS A TEM }cabe recalcar que las definiciones que usa este template (linux-box), hereda los valores por defecto del template generic-hosts, el cual esta definido en localhost.cfg
Ahora definimos el el nuevo host (podemos definir varios hosts, dependiendo el numero de servers Linux que necesitemos monitorear)
define host{ use linux-box ;Inherit default values from tempate host_name host_remoto_1 ;The name we're giving this server alias Firewall ;A longer name for the Server address 192.168.0.1 ;IP address of the Server }Ahora definimos las funciones que se monitorizaran, por ejemplo empecemos con el CPU. Recuerden que check_load es enviado a check_nrpe y este le dice al demonio NRPE que corra un comando “check_load” definido en el archivo nrpe.cfg, y asi, esto se hace a todos los servicios que revisemos que esten dentro del nrpe.cfg
define service { use generic-service host_name host_remoto_1 service_description CPU Load check_command check_nrpe!check_load }Ahora para saber el numero de usuarios conectados:
define service{ use generic-service host_name host_remoto_1 service_description Current Users check_command check_nrpe!check_users }Ahora para saber el espacio de disco en /dev/hda1
define service{ use generic-service host_name host_remoto_1 service_description /dev/hda1 Free Space check_command check_nrpe!check_hda1 }Ahora para saber el numero total de procesos
define service{ use generic-service host_name host_remoto_1 service_description Total Processes check_command check_nrpe!check_total_procs }Ahora para saber el numero de procesos zombies
define service{ use generic-service host_name host_remoto_1 service_description Zombie Processes check_command check_nrpe!check_zombie_procs }Finalmente, añadimos la siguiente linea al archivo nagios.cfg
cfg_file=/usr/local/nagios/etc/objects/linux-box.cfgEsto para que nagios sepa que cosas hacer correr.
Revisamos que todo este bien
#/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfgSi hay errores, los arreglamos, si todo esta bien, reiniciamos Nagios
#/etc/init.d/nagios restartListo, esa es la configuracion para monitorizar Servidores Linux de forma basica, tambien se pueden añadir mas comandos como el check_swap
Debemos ingresar al host remoro como usuario nagios (que se creo en la instalacion del NRPE), y digamos que queremos que nos de un Warning con el 25% de espacio disponible y que nos de un Critical con el 10% entonces:
#/usr/local/nagios/libexec/check_swap -w 25% -c 10%entonces, añadimos ese comando al nrpe:
#vi /usr/local/nagios/etc/nrpe.cfgy añadimos:
command[check_swap]=/usr/local/nagios/libexec/check_swap -w 25% -c 10%Ahora, volvemos a nuestro servidor Nagios y ahi definimos el servicio en linux-box.cfg
define service{ use generic-service host_name host_remoto_1 service_description Swap Usage check_command check_nrpe!check_swap }Listo, nos aseguramos que no hayan errores y reiniciamos nagios
#/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg #/etc/init.d/nagios restart
Monitorizando Servidores en Windows
http://adf.ly/1emZR5
Ahora, como se vio en algun momento, no solo podemos monitorizar maquinas en Linux/Unix, sino tambien en Windows.
Nagios recomienda usar el plugin NSClient++, asi como en Linux hay que instalar ciertas cosas en la maquina a ser monitorizada, lo mismo pasa con windows.
La forma de funcionar es la siguiente, en los paquetes de plugin de Nagios viene por defecto el check_nt, este se comunica con el host remoto (mas especificamente al NSClient++) y este ultimo, es el que revisa informacion como ser CPU, Memoria, Espacio de Disco, etc.
Primero debemos abrir para editar:
Ahora debemos instalar el agente en Windows, para eso vamos y descargamos de la pagima http://sourceforge.net/projects/nscplus.
Descargamos la ultima version, la que es RC (realise candidate), ya que hice pruebas con la mayoria, y el ultimo realise candidate fue el que menos bugs tiene (NSClient 0.3.6 RC8)
Lo Instalamos (una interfac grafica), elegimos que la carpeta sea C:\NSClient++, todas las demas opciones las dejamos en blanco.
Una vez instalado, abrimos el archivo NSC.INI y lo editamos:
Ahora paramos el servicio con
De vuelta a nuestro servidor Nagios ahora definimos los objetos editando el windows.cfg en
Monitoreamos la version del NSClient
Nagios recomienda usar el plugin NSClient++, asi como en Linux hay que instalar ciertas cosas en la maquina a ser monitorizada, lo mismo pasa con windows.
La forma de funcionar es la siguiente, en los paquetes de plugin de Nagios viene por defecto el check_nt, este se comunica con el host remoto (mas especificamente al NSClient++) y este ultimo, es el que revisa informacion como ser CPU, Memoria, Espacio de Disco, etc.
Primero debemos abrir para editar:
#vi /usr/local/nagios/etc/nagios.cfgAhi descomentamos (borramos) numeral (#) de la siguiente linea.
#cfg_file=/usr/local/nagios/etc/objects/windows.cfgGuardamos y salimos.
Ahora debemos instalar el agente en Windows, para eso vamos y descargamos de la pagima http://sourceforge.net/projects/nscplus.
Descargamos la ultima version, la que es RC (realise candidate), ya que hice pruebas con la mayoria, y el ultimo realise candidate fue el que menos bugs tiene (NSClient 0.3.6 RC8)
Lo Instalamos (una interfac grafica), elegimos que la carpeta sea C:\NSClient++, todas las demas opciones las dejamos en blanco.
Una vez instalado, abrimos el archivo NSC.INI y lo editamos:
- Descomentando (borrando ;) todos los modulos en la seccion [modules], menos CheckWMI.dll
- En la seccion [setting], ponemos un password, ya que si se lo deja en blanco, el bug se activa y el agente no funciona.
- En la misma seccion [setting], si queremos dejamos en blanco la ip de allowed_hosts (para que cualquier server se conecte) o ponemos la IP del Servidor Nagios (mejor).
- Y en la seccion [NSClient], nos aseguramos de descomentar el puerto y que este en 12489
Ahora paramos el servicio con
nsclient++ /stopy lo iniciamos con
nsclient++ /startAhora todos los cambios surtieron efecto.
De vuelta a nuestro servidor Nagios ahora definimos los objetos editando el windows.cfg en
#vi /usr/local/nagios/etc/objects/windows.cfgDonde ponemos:
define host{ use windows-server ; Inherit default values from a Windows server template host_name winserver ;Nombre que le damos al host alias Servidor Windows SQL address 192.168.0.2 }Listo, ahora podemos añadir definiciones de servicio en el mismo archivo
Monitoreamos la version del NSClient
define service{ use generic-service host_name winserver service_description NSClient++ Version check_command check_nt!CLIENTVERSION }Monitoreamos el tiempo que el Servidor esta “en linea” (up time)
define service{ use generic-service host_name winserver service_description Uptime check_command check_nt!UPTIME }Monitorizamos la carga del CPU, donde nos dara un Warning al 80% y Critico al 90% si se mantienen con esa carga por mas de 5 minutos
define service{ use generic-service host_name winserver service_description CPU Load check_command check_nt!CPULOAD!-l 5,80,90 }Monitorizamos el uso de memoria, donde nos da un warning con el 80% alcanzado un Critical con el 90 %
define service{ use generic-service host_name winserver service_description Memory Usage check_command check_nt!MEMUSE!-w 80 -c 90 }Monitorizamos el uso del Disco C:\ (nota, esto se puede hacer para todos los discos que necesitemos)
define service{ use generic-service host_name winserver service_description C:\ Drive Space check_command check_nt!USEDDISKSPACE!-l c -w 80 -c 90 }Finalmente revisamos si el proceso Explorer.exe esta corriendo
define service{ use generic-service host_name winserver service_description Explorer check_command check_nt!PROCSTATE!-d SHOWALL -l Explorer.exe }Ahora, le ponemos el password al archivo commands.cfg para que el NSClient pueda ser accedido:
#vi /usr/local/nagios/etc/commands.cfgDonde:
define command{ command_name check_nt command_line $USER1$/check_nt -H $HOSTADDRESS$ -p 12489 -s Contraseña_Configurada -v $ARG1$ $ARG2$ }Listo, nos aseguramos que no hayan errores y reiniciamos nagios
#/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg #/etc/init.d/nagios restart
Monitorizando Hardware de Red
http://adf.ly/1emZR5
Ahora pasaremos al monitoreo de Hardware de Red, como ser Switches y Routers. Cabe recalcar que este hardware debe poder soportar SNMP, generalmente, el hardware al que se le asigna una IP, soporta SNMP, ya que se usa este protocolo y plugins del net-SNMP (que se instalaron al principio del tutorial).
En caso de que nuestro Hardware no Soporte SNMP, verificar si con un upgrade al firmware lo puede hacer y si no, solo nos limitaremos a saber que esta en linea mediante PING.
Primero debemos editar:
Ahora, debemos crear la definicion del objeto para monitorear un switch o un router
abrimos para editar
Listo, ahora podemos añadir servicios a ser monitorizados, como ser la perdida de paquetes y el Round Trip Average:
Listo, nos aseguramos que no hayan errores y reiniciamos nagios
Pero, hay una partecita que no se ve bien, que es la del mapa, ya que en todos los dispositivos que pongamos, nos saldra un horrible signo de interrogacion.
Pero eso lo podemos cambiar.
Bueno, esto es facil, basicamente, entramos a www.nagiosexchange.org , buscamos los packs o el pack de imagenes que mas nos guste, por ejemplo a mi me gusta Fnagios, ya que puedo personalizar incluso la imagen de cada una de mis maquinas Linux, segun su distribucion, impresoras, wi-fi, etc.
Lo bajo, lo desempaqueto (porque es un .tar.gz) y copio todas las imagenes que quiro en:
Ahora enlazamos la imagen que queremos con cada uno de nuestros hosts, esto en donde este defino el host, por ejemplo
Y asi en cada uno de los hosts que estemos monitorizando, saldra su logo, en el mapa asi como en la lista.
Creo que con eso se termino este pequeño tutorial, cualquier consulta, revisen la documentacion de Nagios que esta disponible en el sitio web oficial www.nagios.org.
En caso de que nuestro Hardware no Soporte SNMP, verificar si con un upgrade al firmware lo puede hacer y si no, solo nos limitaremos a saber que esta en linea mediante PING.
Primero debemos editar:
#vi /usr/local/nagios/etc/nagios.cfgahi, descomentamos borrando el numeral (#) de la siguiente fila
#cfg_file=/usr/local/nagios/etc/objects/switch.cfgGuardamos y salimos.
Ahora, debemos crear la definicion del objeto para monitorear un switch o un router
abrimos para editar
#vi /usr/local/nagios/etc/objects/switch.cfgy ahi modificamos
define host{ use generic-switch ; Inherit default values from a template host_name Switch_1 ; The name we’re giving to this switch alias TrendNet TEG-240WS ; A longer name associated with the switch address 192.168.0.20 ; IP address of the switch hostgroups allhosts,switches ; Host groups this switch is associated with }(hay que añadir la cantidad de switches, routers o hubs que tengamos en esta seccion, un “define host” para cada uno)
Listo, ahora podemos añadir servicios a ser monitorizados, como ser la perdida de paquetes y el Round Trip Average:
define service{ use generic-service ; Inherit values from a template host_name Switch_1 ; The name of the host the service is associated with service_description PING ; The service description check_command check_ping!200.0,20%!600.0,60% ; The command used to monitor the service normal_check_interval 5 ; Check the service every 5 minutes under normal conditions retry_check_interval 1 ; Re-check the service every minute until its final/hard state is determined }Si el hardware soporta SNMP, podemos monitorear el Status de dicho protocolo:
define service{ use generic-service ; Inherit values from a template host_name Switch_1 service_description Uptime check_command check_snmp!-C public -o sysUpTime.0 }Tambien podemos monitorizar un puerto o interface en especifico del switch:
define service{ use generic-service ; Inherit values from a template host_name Switch_1 service_description Port 12 Link Status check_command check_snmp!-C public -o ifOperStatus.1 -r 1 -m RFC1213-MIB }(Hay que añadir la cantidad de servicios a ser monitorizados por cada host que hayamos añadido, todo eso dentro de este archivo).
Listo, nos aseguramos que no hayan errores y reiniciamos nagios
#/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg #/etc/init.d/nagios restartAhora, lo que tenemos es un Servidor Nagios de monitorizacion un poco basico, el cual nos da informacion medianamente basica, leyendo el Manual de Nagios (www.nagios.org) podemos hacer mas cosas o aumentarle mas cosas.
Pero, hay una partecita que no se ve bien, que es la del mapa, ya que en todos los dispositivos que pongamos, nos saldra un horrible signo de interrogacion.
Pero eso lo podemos cambiar.
Bueno, esto es facil, basicamente, entramos a www.nagiosexchange.org , buscamos los packs o el pack de imagenes que mas nos guste, por ejemplo a mi me gusta Fnagios, ya que puedo personalizar incluso la imagen de cada una de mis maquinas Linux, segun su distribucion, impresoras, wi-fi, etc.
Lo bajo, lo desempaqueto (porque es un .tar.gz) y copio todas las imagenes que quiro en:
/usr/local/nagios/share/images/logosCada icono suele venir en formatos .png, .jpg, .gif y .gd2, esto porque se usan diferentes formatos para diferentes lugares.
Ahora enlazamos la imagen que queremos con cada uno de nuestros hosts, esto en donde este defino el host, por ejemplo
#vi /usr/local/nagios/etc/objects/localhost.cfgy ponemos:
define host{ use linux-server ; Name of host template to use host_name localhost alias localhost icon_image ubuntu.gif statusmap_image ubuntu.gd2 address 127.0.0.1 }Asi, ahora podre tener el Logo de Ubuntu en mi Servidor Ubuntu.
Y asi en cada uno de los hosts que estemos monitorizando, saldra su logo, en el mapa asi como en la lista.
Creo que con eso se termino este pequeño tutorial, cualquier consulta, revisen la documentacion de Nagios que esta disponible en el sitio web oficial www.nagios.org.