Anteriormente hablamos sobre cómo usar Nagios para monitorear un servidor Linux y Windows. En este artículo, revisemos cómo monitorear las sesiones activas y la temperatura del dispositivo VPN usando Nagios. Puede monitorear prácticamente cualquier cosa sobre un hardware utilizando el complemento nagios check_snmp.
1. Identifique un archivo cfg para definir el host, el grupo de host y los servicios para el dispositivo VPN
Puede crear un nuevo archivo vpn.cfg o reutilizar uno de los archivos .cfg existentes. En este artículo, agregué el servicio VPN y la definición del grupo de host a un archivo switch.cfg existente. Asegúrese de que la línea switch.cfg en el archivo nagios.cfg no esté comentada como se muestra a continuación.
# grep switch.cfg /usr/local/nagios/etc/nagios.cfg cfg_file=/usr/local/nagios/etc/objects/switch.cfg
2. Agregue un nuevo grupo de host para el dispositivo VPN en switch.cfg
Agregue el siguiente grupo de host ciscovpn al archivo /usr/local/nagios/etc/objects/switch.cfg.
define hostgroup{ hostgroup_name ciscovpn alias Cisco VPN Concentrator }
3. Agregue un nuevo host para el dispositivo VPN en switch.cfg
En este ejemplo, he definido dos hosts, uno para el concentrador de VPN de Cisco principal y otro para el secundario en el archivo /usr/local/nagios/etc/objects/switch.cfg. Cambie la directiva de dirección a la dirección IP de su dispositivo VPN en consecuencia.
define host{ use generic-host host_name cisco-vpn-primary alias Cisco VPN Concentrator Primary address 192.168.1.7 check_command check-host-alive max_check_attempts 10 notification_interval 120 notification_period 24x7 notification_options d,r contact_groups admins hostgroups ciscovpn } define host{ use generic-host host_name cisco-vpn-secondary alias Cisco VPN Concentrator Secondary address 192.168.1.9 check_command check-host-alive max_check_attempts 10 notification_interval 120 notification_period 24x7 notification_options d,r contact_groups admins hostgroups ciscovpn }
4. Agregue nuevos servicios para monitorear las sesiones activas de VPN y la temperatura en switch.cfg
Agregue el servicio "Temperatura" y el servicio "Sesiones VPN activas" al archivo /usr/local/nagios/etc/objects/switch.cfg.
define service{ use generic-service hostgroup_name ciscovpn service_description Temperature is_volatile 0 check_period 24x7 max_check_attempts 4 normal_check_interval 10 retry_check_interval 2 contact_groups admins notification_interval 960 notification_period 24x7 check_command check_snmp!-l Temperature -o .1.3.6.1.4.1.3076.2.1.2.22.1.29.0,.1.3.6.1.4.1.3076.2.1.2.22.1.33.0 -w 37,:40 -c :40,:45 } define service{ use generic-service hostgroup_name ciscovpn service_description Active VPN Sessions is_volatile 0 check_period 24x7 max_check_attempts 4 normal_check_interval 5 retry_check_interval 1 contact_groups admins notification_interval 960 notification_period 24x7 check_command check_snmp!-l ActiveSessions -o 1.3.6.1.4.1.3076.2.1.2.17.1.7.0,1.3.6.1.4.1.3076.2.1.2.17.1.9.0 -w :70,:8 -c :75,:10 }
5. Valide check_snmp desde la línea de comando
El complemento Check_snmp utiliza el comando 'snmpget' del paquete NET-SNMP. Asegúrese de que net-snmp esté instalado en su sistema como se muestra a continuación. Si no, descárguelo del sitio web de NET-SNMP.
# rpm -qa | grep -i net-snmp net-snmp-libs-5.1.2-11.el4_6.11.2 net-snmp-5.1.2-11.el4_6.11.2 net-snmp-utils-5.1.2-11.EL4.10
Asegúrese de que check_snmp funcione desde la línea de comandos como se muestra a continuación.
# /usr/local/nagios/libexec/check_snmp -H 192.168.1.7 \ -P 2c -l Temperature -w :35,:40 -c :40,:45 \ -o .1.3.6.1.4.1.3076.2.1.2.22.1.29.0,.1.3.6.1.4.1.3076.2.1.2.22.1.33.0 Temperature OK - 35 38 | iso.3.6.1.4.1.3076.2.1.2.22.1.29.0=35 iso.3.6.1.4.1.3076.2.1.2.22.1.33.0=38 # /usr/local/nagios/libexec/check_snmp -H 192.168.1.7 \ -P 2c -l ActiveSessions -w :80,:40 -c :100,:50 \ -o 1.3.6.1.4.1.3076.2.1.2.17.1.7.0,1.3.6.1.4.1.3076.2.1.2.17.1.9.0 ActiveSessions CRITICAL - *110* 20 | iso.3.6.1.4.1.3076.2.1.2.17.1.7.0=110 iso.3.6.1.4.1.3076.2.1.2.17.1.9.0=20
En este ejemplo, los siguientes parámetros se pasan a check_snmp:
- -H, –hostname=DIRECCIÓN Nombre de host, dirección IP o socket de Unix (debe ser una ruta absoluta)
- -P, –protocolo=[1|2c|3] Versión del protocolo SNMP
- -l, –label=CADENA Etiqueta de prefijo para la salida del complemento. es decir, temperatura o sesiones activas
- -w, –warning=INTEGER_RANGE(s) Rango(s) que no darán como resultado un estado de ADVERTENCIA
- -c, –critical=INTEGER_RANGE(s) Rango(s) que no darán como resultado un estado CRÍTICO
- -o, –oid=OID(s) Identificador(es) de objeto o variables SNMP cuyo valor desea consultar. Asegúrese de consultar el manual de su dispositivo para ver todos los oid compatibles y disponibles para su equipo. Si tiene más de dos oid, sepárelos con comas.
En el ejemplo de ActiveSessions, se están monitoreando dos OID. es decir, uno para túneles VPN LAN-2-LAN (iso.3.6.1.4.1.3076.2.1.2.17.1.7.0) y otro para sesiones PPTP (iso.3.6.1.4.1.3076.2.1.2.17.1.9.0). En el ejemplo anterior, las sesiones activas VPN LAN-2-LAN superaron el límite crítico de 100.
El identificador de objeto (OID) se organiza en un árbol jerárquico de base de información de administración (MIB) con raíces y ramas basadas en el estándar de Internet.
6. Validar configuración y reiniciar nagios
Verifique la configuración de nagios para asegurarse de que no haya advertencias ni errores.
# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg Total Warnings: 0 Total Errors: 0 Things look okay - No serious problems were detected during the pre-flight check
Reinicie el servidor nagios para comenzar a monitorear el dispositivo VPN.
# /etc/rc.d/init.d/nagios stop Stopping nagios: .done. # /etc/rc.d/init.d/nagios start Starting nagios: done.
Verifique el estado de ActiveSessions y Temperature del dispositivo VPN desde la interfaz de usuario web de Nagios (http://{nagios-server}/nagios) como se muestra a continuación.

Fig:interfaz de usuario web de Nagios que muestra el estado del dispositivo VPN
7. Solución de problemas
Problema: check_snmp funciona sin problemas desde la línea de comandos de Linux, pero la interfaz de usuario web de Nagios muestra el siguiente error:
Status Information: SNMP problem - No data received from host CMD: /usr/bin/snmpget -t 1 -r 5 -m '' -v 1 [authpriv] 192.168.1.7:161
check_command check_snmp!Temperature!.1.3.6.1.4.1.3076.2.1.2.22.1.29.0,.1.3.6.1.4.1.3076.2.1.2.22.1.33.0!37,:40!:40,:45 [Note: This is wrong, as it is passing 4 arguments to check_snmp command The value after the exclamation is considered as one argument. !{argument1}!{argument2}] check_command check_snmp!-l Temperature -o .1.3.6.1.4.1.3076.2.1.2.22.1.29.0,.1.3.6.1.4.1.3076.2.1.2.22.1.33.0 -w 37,:40 -c :40,:45 [Note: This is correct, as it is passing 1 argument to check_snmp command The value after the exclamation is considered as one argument. !{argument1}]
En la definición del comando check_snmp que se muestra a continuación, solo hay un argumento $ARG1$. Entonces, en switch.cfg, al definir check_snmp, debe pasar solo un argumento como se muestra arriba.
# 'check_snmp' command definition define command{ command_name check_snmp command_line $USER1$/check_snmp -H $HOSTADDRESS$ $ARG1$ }
Lecturas recomendadas
Estos son los dos mejores libros que cubren el último Nagios 3. Le recomiendo que lea estos dos libros para obtener una comprensión detallada de Nagios.
![]() ![]() | ![]() ![]() |