User Tools

Site Tools


informatica:linux:nagios

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Last revisionBoth sides next revision
informatica:linux:nagios [2011/01/17 14:53] 127.0.0.1informatica:linux:nagios [2011/01/31 21:53] 127.0.0.1
Line 1: Line 1:
 nagios nagios3 monitorizacion smp http nagios nagios3 monitorizacion smp http
 +
  
  
Line 7: Line 8:
 ====== Nagios ====== ====== Nagios ======
  
-nagios monitorizacion nagios3 smp+nagios monitorizacion nagios3 snmp 
 + 
 +http://nagiosplug.sourceforge.net/developer-guidelines.html
  
 Es una herramienta de monitorización tanto de recursos privados Es una herramienta de monitorización tanto de recursos privados
Line 16: Line 19:
  
   sudo aptitude update && sudo aptitude install nagios3   sudo aptitude update && sudo aptitude install nagios3
 +
  
  
Line 39: Line 43:
   cfg_dir=/etc/nagios3/conf.d   cfg_dir=/etc/nagios3/conf.d
  
 +**IMPORTANTE**
 +
 +1. Se pueden crear subdirectorios en /etc/nagios3/conf.d, pero
 +
 +2. Todos los archivos de configuración tienen que acabar en .cfg
  
 ===== Anfitrión ===== ===== Anfitrión =====
Line 55: Line 64:
  address maquina1.mine.nu ; IP address of the host  address maquina1.mine.nu ; IP address of the host
  }  }
 +</code>
  
 Grabamos y salimos. Grabamos y salimos.
- 
- 
-</code> 
  
 ===== Contacto ===== ===== Contacto =====
Line 156: Line 163:
  
  
-===== Monitorizar los servicios locales de una máquina remote: NRPE ===== 
  
-**EN CONSTRUCCIÓN** 
  
-nagios nrpe 
  
-nagios.sourceforge.net/docs/nrpe/NRPE.pdf+===== Monitorizar los servicios locales de una máquina remote: NRPE =====
  
-1. En la máquina remota:+http://debianclusters.org/index.php/Nagios_NRPE_Addon_Installation_and_Configuration
  
-  aptitude update && aptitude install nagios xinetd nagios-nrpe-server netstat nagios-nrpe-plugin +1. En la maquina local (la que tiene instalada nagios):
-   +
-1.1 Introducir la contraseña administrativa para la web dos veces.+
  
-A mi me da algún error:+Instalar nrpe-plugin:
  
-<code> +  sudo aptitude update && sudo aptitude install nagios-nrpe-plugin
-...Starting nagios3 monitoring daemon: nagios3grep: /etc/nagios3/cgi.cfg: No such file or directory +
-shift: 236: can't shift that many +
-unable to determine nagios_check_command from /etc/nagios3/cgi.cfg!...failed. +
-+
-Setting up nagios3-core (3.2.0-4) ... +
-grep: /etc/nagios3/cgi.cfg: No such file or directory +
-shift: 236: can't shift that many +
-Starting nagios3 monitoring daemon: nagios3grep: /etc/nagios3/cgi.cfg: No such file or directory +
-shift: 236: can't shift that many +
-unable to determine nagios_check_command from /etc/nagios3/cgi.cfg!...failed. +
-... +
-</code>+
  
-De momento funciona....+Echarle un ojo a este archivoÑ
  
-2Configurar NRPE como servicio bajo xinet (a mi me casca) o como demonio (me furrula)+  /etc/nagios-plugins/config/check_nrpe.cfg
  
-  * Como servicio bajo xinet (NO me funciona)+Reiniciar el servicio:
  
-2.1.1 Crear:+  sudo /etc/init.d/nagios3 restart
  
-  nano /etc/xinetd.d/nrpe+2En la máquina remota:
  
-Con el siguiente contenido:+Instalar nrpe (y plugins):
  
-<code> +  sudo aptitude update && sudo aptitude install nagios-nrpe-server nagios-plugins
-service nrpe +
-+
-        flags = REUSE +
-        socket_type = stream +
-        wait = no +
-        user = nagios +
-        server = /usr/sbin/nrpe +
-        server_args = -c /etc/nagios/nrpe.cfg -+
-        log_on_failure += USERID +
-        disable = no +
-        # Ip de la máquina donde corre nagios +
-        only_from = 127.0.0.1 maquina_nagios.mine.nu +
-+
-</code>+
  
-2.1.2 Grabar y salir  +Crear archivo de configuración:
  
-2.1.3 Editar: +  sudo vim /etc/nagios/nrpe_local.cfg
- +
-  nano /etc/services +
- +
-Y añadir la siguiente linea: +
- +
-  nrpe 5666/tcp # NRPE +
- +
-2.1.4 Grabar y salir +
- +
-2.1.5 Comprobar si nrpe está corriendo como demonio: +
- +
-  ps ax | grep nrpe +
-  22573 ?        Ss     0:00 /usr/sbin/nrpe -c /etc/nagios/nrpe.cfg -d +
- +
-Si es así, matar el proceso: +
- +
-  kill -9 22573 +
- +
-2.1.6 Arranco xinetd: +
- +
-  /etc/init.d/xinetd restart +
- +
-2.1.7 Comprobar que el servicio nrpe está corriendo bajo xinetd: +
- +
-  netstat -at | grep nrpe +
- +
-  tcp        0      0 *:nrpe                  *:*                     LISTEN      +
- +
-2.1.8 Comprobar, mediante nagios, lo mismo: +
- +
-  /usr/lib/nagios/plugins/check_nrpe -H localhost +
- +
-  NRPE v2.12 +
- +
-**ERROR** Cuando intento conectarme remotamente: +
- +
-  /usr/lib/nagios/plugins/check_nrpe -H maquina_remota.mine.nu +
- +
-  CHECK_NRPE: Error - Could not complete SSL handshake. +
- +
-No tengo ... de depurarlo. +
- +
-  * Como demonio +
- +
-2.1.1 (Opcional) Deshabilitar el servicio nrpe bajo xine +
- +
-2.1.1.1 Editar: +
- +
-  nano /etc/xinetd.d/nrpe +
- +
-Y dejar la linea tal que asi: +
- +
-  disable = yes +
- +
-2.1.1.2 Reiniciar xinet: +
- +
-  /etc/inet.d/xinetd restart +
- +
-2.1.1.3 Comprobar que no hay ningún servicio nrpe: +
- +
-  netstat -at | grep nrpe   +
- +
-No debería mostrar nada por pantalla +
- +
-2.1.2 Dar acceso a la máquina remota al demonio nrpe: +
- +
-  nano /etc/nagios/nrpe.cfg +
- +
-Y dejar la linea tal que así: +
- +
-  allowed_hosts=127.0.0.1,maquina_local.mine.nu +
- +
-2.1.3 Grabar y salir +
- +
-2.1.4 Arrancar nrpe como demonio: +
- +
-  /usr/sbin/nrpe -c /etc/nagios/nrpe.cfg -d +
- +
-2.1.5 Comprobar que se arrancó correctamente: +
- +
-  ps ax | grep nrpe +
- +
-  26492 ?        Ss     0:00 /usr/sbin/nrpe -c /etc/nagios/nrpe.cfg -d +
- +
-3. (OPCIONAL) Permitir al cortafuegos de la máquina remota que deje pasar tráfico por el puerto TCP 5666: +
- +
-   iptables -A INPUT -p tcp -m tcp –dport 5666 -j ACCEPT +
- +
-4. (OPCIONAL) Si la máquina está detrás de un router, hay que mapear el puerto 5666 tcp a la ip local que tenga esa máquina +
- +
-5. En la máquina local donde ya está corriendo nagios, instalar el plugin de nrpe: +
- +
-   aptitude update && aptitude install nagios-nrpe-plugin +
- +
-6. Intentar averiguar si el servicio/demonio nrpe está corriendo en la máquina remota: +
- +
-  /usr/lib/nagios/plugins/check_nrpe -H maquina_remota.mine.nu +
- +
-  NRPE v2.12 +
- +
-7. (En la máquina remota) Crear el siguiente archivo: +
- +
-  nano /etc/nagios/nrpe.d/comandos.cfg +
- +
-Con el siguiente contenido: +
- +
-  command[comprobar_noexiste]=/usr/lib/nagios/plugins/check_procs -c 1: -C noexiste +
- +
-Este comando comprueba si al menos hay una instancia del proceso 'noexiste'. En caso contrario, arroja un error crítico +
- +
-8. Grabar y salir +
- +
-9. (Opcional) si estamos corriendo nrpe como demonio, hay que matar el proceso y volver a lanzarlo +
- +
-10. (En la máquina local donde está corriendo nagios) Añadir un servicio: +
- +
-  nano /etc/nagios3/conf.d/noexiste_remoto.cfg+
  
 Con el siguiente contenido: Con el siguiente contenido:
  
 <code> <code>
-define service{ +allowed_hosts=monitor.jj.com 
-        check_command   check_nrpe!comprobar_noexiste +command[check_disk]=/usr/lib/nagios/plugins/check_disk -w 10 -c 1
-        contacts        contacto1 +
-        host_name       mi_maquina +
-        service_description     Partición llena +
-        use             generic-service ; Inherit default values from a template +
-        }+
 </code> </code>
  
-11. Reiniciar nagios +En este caso habilitamos el comando 'check_diskcon los parámetros por defecto
- +
-  /etc/init.d/nagios3 restart +
- +
-Al cabo de 4 alertas, debería enviar un correo. +
- +
-**ERRORES** +
- +
-  * **Error: NRPE daemon cannot be run as user/group root!** +
- +
-Hemos reiniciado xinetd: +
- +
-  /etc/init.d/xinetd restart +
- +
-Y hemos intentado arrancar a mano nrpe como un servicio bajo xinetd: +
- +
-  /usr/sbin/nrpe -c /etc/nagios/nrpe.cfg -i +
- +
-Vemos que no arranca el servicio: +
- +
-  ps ax | grep nrpe   +
- +
-Y vemos el log de sistema: +
- +
-  clear && cat /var/log/syslog | tail +
- +
-**Solución**: +
- +
-1. Asegurarnos que en el archivo: +
- +
-  nano /etc/xinetd.d/nrpe +
- +
-Existe la siguiente directiva: +
- +
-  user = nagios +
- +
-Y que, lógicamente, el usuario 'nagiosexiste en /etc/passwd +
- +
-2Reiniciar xinetd: +
- +
-  /etc/init.d/xinetd restart +
- +
-  * **bind failed (Address already in use (errno = 98)). service = nrpe** +
- +
-No arranca el servicio nrpe porque el puerto (ver el puerto asociado a 'nrpe' en '/etc/services') está okupado: +
- +
-  lsof -ni :5666 +
- +
-  COMMAND  PID   USER   FD   TYPE DEVICE SIZE/OFF NODE NAME +
-  nrpe    2478 nagios    4u  IPv4   7241      0t0  TCP *:nrpe (LISTEN) +
- +
-**Solución** +
- +
-1. Matar el proceso que estorba:+
  
-  kill -9 2478+**RECOMENDADO**: También lo podemos hacer editando:
  
-2Reiniciar xinetd:+  sudo vim /etc/nagios/nrpe.cfg
  
-  /etc/init.d/xinetd restart+Reiniciar el servicio:
  
-  * **Connection refused by host**+  /etc/init.d/nagios-nrpe-server restart
  
-**Solución**:+3. Probarlo. Desde la máquina local:
  
-1. En la máquina remota mapear en el router el puerto 5666 tcp a la ip local de esa máquina+Para probar que nrpe este arriba:
  
-2(Opcional) reiniciar el router para que los cambios surtan efecto+  /usr/lib/nagios/plugins/check_nrpe -H test.jj.com -c check_users
  
-  * **CHECK_NRPEError - Could not complete SSL handshake.** +Para probar el comando antes habilitado:
-  * **CHECK_NRPE: Error receiving data from daemon.** +
-  * **CHECK_NRPE: Received 0 bytes from daemon.  Check the remote server logs for error messages.**+
  
-**Solución** Separar por comas las direcciones o nombres dentro de la directiva 'only_from' de '/etc/xinet.d/nrpe'NO acaba de funcionar+  /usr/lib/nagios/plugins/check_nrpe -H test.jj.com -c check_disk
  
 ===== Ejemplo: comprobar si una máquina está levantada ===== ===== Ejemplo: comprobar si una máquina está levantada =====
Line 732: Line 531:
  
 PROCS CRITICAL: 0 processes with command name noexiste PROCS CRITICAL: 0 processes with command name noexiste
 +
  
 ===== Ejemplo: comprobar si una partición está llena ===== ===== Ejemplo: comprobar si una partición está llena =====
Line 813: Line 613:
 DISK CRITICAL - free space: / 4510 MB (72% inode=88%): DISK CRITICAL - free space: / 4510 MB (72% inode=88%):
 </code> </code>
 +
 +===== Configurar interfaz web =====
 +
 +
 +Queremos acceder a nagios desde una interfaz gráfica. Para ello instalamos apache2 en la misma máquina:
 +
 +1. Instalar apache2
 +
 +  sudo aptitude install apache2 -R
 +
 +2. Crear un usuario:
 +
 +  sudo htpasswd /etc/apache2/contrasenyas miusuario
 +
 +Teclear dos veces la contraseña
 +
 +3. Crear el siguiente archivo:
 +
 +  sudo vim /etc/apache2/apache2.conf/nagios3.conf
 +
 +Con el siguiente contenido:
 +
 +<code>
 +
 +ScriptAlias /cgi-bin/nagios3 /usr/lib/cgi-bin/nagios3
 +ScriptAlias /nagios3/cgi-bin /usr/lib/cgi-bin/nagios3
 +
 +# Where the stylesheets (config files) reside
 +Alias /nagios3/stylesheets /etc/nagios3/stylesheets
 +
 +# Where the HTML pages live
 +Alias /nagios3 /usr/share/nagios3/htdocs
 +
 +<DirectoryMatch (/usr/share/nagios3/htdocs|/usr/lib/cgi-bin/nagios3|/etc/nagios3/stylesheets)>
 +    Options FollowSymLinks
 +
 +    DirectoryIndex index.php
 +
 +    AllowOverride AuthConfig
 +    Order Allow,Deny
 +    Allow From All
 +
 +    AuthName "Nagios Access"
 +    AuthType Basic
 +    AuthUserFile /etc/apache2/contrasenyas
 +    require valid-user
 +</DirectoryMatch>
 +
 +</code>
 +
 +4. Recargar la configuración de apache:
 +
 +  sudo apache2ctl reload
 +
 +5. Probar:
 +
 +  http://localhost/nagios3
informatica/linux/nagios.txt · Last modified: 2015/04/13 20:19 by 127.0.0.1