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
informatica:linux:nagios [2011/01/17 14:54] 127.0.0.1informatica:linux:nagios [2015/04/13 20:19] (current) – external edit 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 59: Line 67:
  
 Grabamos y salimos. Grabamos y salimos.
- 
- 
-</code> 
  
 ===== Contacto ===== ===== Contacto =====
Line 158: 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 734: 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 815: 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.1295276083.txt.gz · Last modified: 2015/04/13 20:19 (external edit)