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 [2009/11/16 22:28] 192.168.1.30informatica: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
 +
  
  
 ===== Instalación ===== ===== Instalación =====
  
-  aptitude update && aptitude install nagios3+  sudo aptitude update && sudo aptitude install nagios3 
 + 
  
  
  
 ===== Objetos ===== ===== Objetos =====
 +
 +http://nagios.sourceforge.net/docs/3_0/configobject.html
  
 ^ Nombre ^ Descripción ^ Ubicación (1) ^ ^ Nombre ^ Descripción ^ Ubicación (1) ^
Line 34: Line 42:
  
   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 39: Line 53:
 Por ejemplo creamos el siguiente archivo: Por ejemplo creamos el siguiente archivo:
  
-  nano /etc/nagios3/conf.d/maquina1+  sudo vim /etc/nagios3/conf.d/maquina1
  
 Con el siguiente contenido: Con el siguiente contenido:
Line 50: 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 149: Line 161:
  
  
-===== Monitorizar los servicios locales de una máquina remote: NRPE ===== 
  
-**EN CONSTRUCCIÓN** 
  
-nagios nrpe 
  
-nagios.sourceforge.net/docs/nrpe/NRPE.pdf 
  
-1. En la máquina remota: 
  
-  aptitude update && aptitude install nagios xinetd nagios-nrpe-server netstat nagios-nrpe-plugin +===== Monitorizar los servicios locales de una máquina remote: NRPE =====
-   +
-1.1 Introducir la contraseña administrativa para la web dos veces.+
  
-A mi me da algún error:+http://debianclusters.org/index.php/Nagios_NRPE_Addon_Installation_and_Configuration
  
-<code> +1En la maquina local (la que tiene instalada nagios):
-...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....+Instalar nrpe-plugin:
  
-2. Configurar NRPE para que corra bajo xinetd+  sudo aptitude update && sudo aptitude install nagios-nrpe-plugin
  
-2.1 Crear:+Echarle un ojo a este archivoÑ
  
-  nano /etc/xinetd.d/nrpe+  /etc/nagios-plugins/config/check_nrpe.cfg
  
-Con el siguiente contenido:+Reiniciar el servicio:
  
-<code> +  sudo /etc/init.d/nagios3 restart
-service nrpe +
-+
-        flags = REUSE +
-        socket_type = stream +
-        wait = no +
-        user = nagios +
-        server = /usr/sbin/nrpe +
-        server_args = -c /etc/nagios/nrpe.cfg -i +
-        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.2 Grabar y salir  +2. En la máquina remota:
  
-2.3 Editar:+Instalar nrpe (y plugins):
  
-  nano /etc/services+  sudo aptitude update && sudo aptitude install nagios-nrpe-server nagios-plugins
  
-Y añadir la siguiente linea:+Crear archivo de configuración:
  
-  nrpe 5666/tcp # NRPE+  sudo vim /etc/nagios/nrpe_local.cfg
  
-2.4 Grabar y salir+Con el siguiente contenido:
  
-2.5 Comprobar si nrpe está corriendo como demonio: +<code> 
- +allowed_hosts=monitor.jj.com 
-  ps ax | grep nrpe +command[check_disk]=/usr/lib/nagios/plugins/check_disk -w 10 -c 1 
-  22573 ?        Ss     0:00 /usr/sbin/nrpe -c /etc/nagios/nrpe.cfg -d +</code>
- +
-Si es así, matar el proceso: +
- +
-  kill -9 22573 +
- +
-2.6 Arranco xinetd: +
- +
-  /etc/init.d/xinetd restart +
- +
-2.7 Comprobar que el servicio nrpe está corriendo bajo xinetd: +
- +
-  netstat -at | grep nrpe +
- +
-  tcp        0      0 *:nrpe                  *:*                     LISTEN      +
- +
-2.8 Comprobar, mediante nagios, lo mismo: +
- +
-  /usr/lib/nagios/plugins/check_nrpe -H localhost +
- +
-  NRPE v2.12 +
- +
-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 +
- +
-**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 'nagios' existe en /etc/passwd +
- +
-2. Reiniciar 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:+En este caso habilitamos el comando 'check_disk' con los parámetros por defecto. 
  
-  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'+  /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 637: 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 718: 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