GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So überwachen Sie aktive VPN-Sitzungen und Temperatur mit Nagios

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

übereinstimmen
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}]

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.


Linux
  1. So überwachen Sie eine CPU-Temperatur auf einem Redhat 7 Linux-System

  2. So installieren Sie Nagios 4 und überwachen Ihre Server unter Ubuntu 20.04

  3. So überwachen Sie entfernte Windows-Rechner mit Nagios unter Linux

  4. So überwachen Sie Netzwerk-Switch und Ports mit Nagios

  5. So überwachen und protokollieren Sie den Netzwerkverkehr unter Linux mit vnStat

So vergrößern und verkleinern Sie Videos mit FFmpeg

So zeichnen Sie Linux-Terminalsitzungen mit Asciinema auf

So überwachen Sie Linux-Server und Metriken vom Browser aus mit Scout Realtime

So überwachen Sie eine Linux-Maschine über Nagios

Wie man den DD-Befehl verwendet und wie man ISO damit brennt

So richten Sie einen Linux-VPN-Server und -Client mit OpenVPN ein