Zuvor haben wir darüber gesprochen, wie man Nagios verwendet, um einen Linux- und Windows-Server zu überwachen. Lassen Sie uns in diesem Artikel überprüfen, wie Sie aktive Sitzungen und die Temperatur von VPN-Geräten mit Nagios überwachen. Mit dem Plug-in nagios check_snmp können Sie so ziemlich alles über eine Hardware überwachen.
1. Identifizieren Sie eine cfg-Datei, um Host, Hostgruppe und Dienste für das VPN-Gerät zu definieren
Sie können entweder eine neue vpn.cfg-Datei erstellen oder eine der vorhandenen .cfg-Dateien wiederverwenden. In diesem Artikel habe ich den VPN-Dienst und die Hostgruppen-Definition zu einer bestehenden switch.cfg-Datei hinzugefügt. Stellen Sie sicher, dass die switch.cfg-Zeile in der nagios.cfg-Datei nicht wie unten gezeigt kommentiert ist.
# grep switch.cfg /usr/local/nagios/etc/nagios.cfg cfg_file=/usr/local/nagios/etc/objects/switch.cfg
2. Neue Hostgruppe für VPN-Gerät in switch.cfg hinzufügen
Fügen Sie die folgende ciscovpn-Hostgruppe zur Datei /usr/local/nagios/etc/objects/switch.cfg hinzu.
define hostgroup{ hostgroup_name ciscovpn alias Cisco VPN Concentrator }
3. Neuen Host für VPN-Gerät in switch.cfg hinzufügen
In diesem Beispiel habe ich zwei Hosts definiert – einen für den primären und einen für den sekundären Cisco VPN-Konzentrator in der Datei /usr/local/nagios/etc/objects/switch.cfg. Ändern Sie die Adressdirektive entsprechend in die IP-Adresse Ihres VPN-Geräts.
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. Fügen Sie neue Dienste hinzu, um aktive VPN-Sitzungen und Temperatur in switch.cfg zu überwachen
Fügen Sie den Dienst „Temperature“ und „Active VPN Sessions“ zur Datei /usr/local/nagios/etc/objects/switch.cfg hinzu.
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. Überprüfen Sie check_snmp über die Befehlszeile
Das Plug-in Check_snmp verwendet den Befehl „snmpget“ aus dem NET-SNMP-Paket. Stellen Sie sicher, dass net-snmp wie unten gezeigt auf Ihrem System installiert ist. Falls nicht, laden Sie es von der NET-SNMP-Website herunter.
# 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
Stellen Sie sicher, dass check_snmp von der Befehlszeile aus funktioniert, wie unten gezeigt.
# /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
In diesem Beispiel werden folgende Parameter an check_snmp übergeben:
- -H, –hostname=ADRESSE Hostname, IP-Adresse oder Unix-Socket (muss ein absoluter Pfad sein)
- -P, –protocol=[1|2c|3] Version des SNMP-Protokolls
- -l, –label=STRING Präfix-Label für die Ausgabe vom Plug-in. d.h. Temperatur oder ActiveSessions
- -w, –warning=INTEGER_RANGE(s) Bereiche, die nicht zu einem WARNING-Status führen
- -c, –critical=INTEGER_RANGE(s) Bereiche, die nicht zu einem CRITICAL-Status führen
- -o, –oid=OID(s) Objektbezeichner oder SNMP-Variablen, deren Wert Sie abfragen möchten. Schlagen Sie unbedingt im Handbuch Ihres Geräts nach, um alle unterstützten und verfügbaren OIDs für Ihr Gerät zu sehen. Wenn Sie mehr als zwei OIDs haben, trennen Sie sie mit Komma.
Im ActiveSessions-Beispiel werden zwei OIDs überwacht. d.h. einen für VPN-LAN-2-LAN-Tunnel (iso.3.6.1.4.1.3076.2.1.2.17.1.7.0) und einen für PPTP-Sitzungen (iso.3.6.1.4.1.3076.2.1.2.17.1.9.0). Im obigen Beispiel haben aktive VPN-LAN-2-LAN-Sitzungen die kritische Grenze von 100 überschritten.
Object Identifier (OID) ist in einem hierarchischen Management Information Base (MIB)-Baum mit Wurzeln und Zweigen basierend auf dem Internetstandard angeordnet.
6. Validieren Sie die Konfiguration und starten Sie Nagios neu
Überprüfen Sie die Nagios-Konfiguration, um sicherzustellen, dass es keine Warnungen und Fehler gibt.
# /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
Starten Sie den Nagios-Server neu, um mit der Überwachung des VPN-Geräts zu beginnen.
# /etc/rc.d/init.d/nagios stop Stopping nagios: .done. # /etc/rc.d/init.d/nagios start Starting nagios: done.
Überprüfen Sie den Status der ActiveSessions und der Temperatur des VPN-Geräts von der Nagios-Web-UI (http://{nagios-server}/nagios) wie unten gezeigt.
Abb. – Nagios-Web-UI mit Anzeige des VPN-Gerätestatus
7. Fehlerbehebung
Problem: check_snmp funktioniert ohne Probleme über die Linux-Befehlszeile, aber die Nagios-Web-UI zeigt folgenden Fehler an:
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
Lösung: Stellen Sie sicher, dass die check_command-Definition für das check_snmp-Plugin in der switch.cfg-Datei richtig definiert ist. Die Argumente des check_snmp-Befehls sollten mit der check_snmp-Definition in /usr/local/nagios/etc/commands.cfg
übereinstimmencheck_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}]
In der unten gezeigten check_snmp-Befehlsdefinition gibt es nur ein $ARG1$-Argument. In der switch.cfg müssen Sie also beim Definieren von check_snmp nur ein Argument wie oben gezeigt übergeben.
# 'check_snmp' command definition define command{ command_name check_snmp command_line $USER1$/check_snmp -H $HOSTADDRESS$ $ARG1$ }
Empfohlene Lektüre
Dies sind die beiden besten Bücher, die das neueste Nagios 3 abdecken. Ich empfehle dringend, dass Sie beide Bücher lesen, um ein detailliertes Verständnis von Nagios zu erlangen.