Table of Contents
Rangos de las alarmas
10 < 0 or > 10, (outside the range of {0 .. 10}) 10: < 10, (outside {10 .. ∞}) ~:10 > 10, (outside the range of {-∞ .. 10}) 10:20 < 10 or > 20, (outside the range of {10 .. 20}) @10:20 ≥ 10 and ≤ 20, (inside the range of {10 .. 20})
SNMP
Tenemos un dispositivo con snmp activado, por ejemplo la ip 10.140.52.130
Probamos que podamos sacar los datos por snmp:
# snmpwalk -v1 -c public 10.140.52.130
iso.3.6.1.2.1.1.1.0 = STRING: "Linux 2.4.27-ubnt0 #28 Mon Nov 9 15:01:24 EET 2009 mips" iso.3.6.1.2.1.1.2.0 = OID: iso.3.6.1.4.1.10002.1 iso.3.6.1.2.1.1.3.0 = Timeticks: (766448000) 88 days, 17:01:20.00 iso.3.6.1.2.1.1.4.0 = STRING: "guifi@guifi.net" iso.3.6.1.2.1.1.5.0 = STRING: "MatIsernSopaRd2" iso.3.6.1.2.1.1.6.0 = STRING: "MatIsernSopa" iso.3.6.1.2.1.1.7.0 = INTEGER: 79
Por ejemplo queremos monitorizar la memoria libre. Dependiendo del fabricante, cada OID que es el numerillo “iso.3.6.1.2.1.1.1.0”, es una casa. En el siguiente enlace encontramos algunas de las nanostation:
http://www.ubnt.com/forum/showthread.php?t=26169
CPU usage: 1 Minute Average - 1.3.6.1.4.1.10002.1.1.1.4.2.1.3.1 5 Minute Average - 1.3.6.1.4.1.10002.1.1.1.4.2.1.3.2 15 Minute Average - 1.3.6.1.4.1.10002.1.1.1.4.2.1.3.3
Memory: Total memory - 1.3.6.1.4.1.10002.1.1.1.1.1.0 Free memory - 1.3.6.1.4.1.10002.1.1.1.1.2.0
Para mirar la memoria lanzamos el comando (observar el punto antes del OID)
# snmpwalk -v1 -c public 10.139.56.138 .1.3.6.1.4.1.10002.1.1.1.1.2.0
iso.3.6.1.4.1.10002.1.1.1.1.2.0 = Gauge32: 5556
Con Nagios, se lanzaría así:
# /usr/lib/nagios/plugins/check_snmp -H 10.140.52.130 -C public -o 1.3.6.1.4.1.10002.1.1.1.1.2.0
SNMP OK - 752 | iso.3.6.1.4.1.10002.1.1.1.1.2.0=752
Da un OK, le podemos pasar lindares con -w -c (warning y critical). Por ejemplo:
- -w 300 (alarma warning si supera el valor 300)
- -w 300: (ojo a los “:” al final, alarma warning si está por debajo del valor 300)
- -w 500 -c 1000 (warning por encima de 500 y crítica encima de 1000)
Por ejemplo warning por debajo de 800 y crítica por debajo de 500:
# /usr/lib/nagios/plugins/check_snmp -H 10.140.52.130 -C public -o 1.3.6.1.4.1.10002.1.1.1.1.2.0 -w800: -c500:
SNMP WARNING - *748* | iso.3.6.1.4.1.10002.1.1.1.1.2.0=748
Integración con Nagios
Como ya hemos validado que el comando funciona bien, creamos nuestro comando que se llamara check_snmp_memlliure
Creamos el comando en el fichero /etc/nagios3/commands.cfg
define command{
command_name check_snmp_memlliure command_line /usr/lib/nagios/plugins/check_snmp -H $HOSTADDRESS$ -o 1.3.6.1.4.1.10002.1.1.1.1.2.0 -C public -w $ARG1$: -c $ARG2$: }
Parámetros:
- $HOSTADDRESS$ IP que le pasa el fichero de configuración de la máquina
- $ARG1$: primer argumento que se le pasa (los dos puntos “:” es menor que)
- $ARG2$: segundo argumento que se le pasa (los dos puntos “:” es menor que)
En nuestra máquina añadimos la alarma, editamos el fichero /etc/nagios3/conf.d/maquina.cfg
define service{ use generic-service ; Name of service template to use host_name node_sopa service_description Memoria Lliure check_command check_snmp_memlliure!800!500 }
Nos dará warning por debajo de 800 y crítica por debajo de 500