GNU/Linux >> Linux Esercitazione >  >> Linux

Come monitorare le sessioni attive VPN e la temperatura utilizzando Nagios

In precedenza abbiamo discusso su come utilizzare Nagios per monitorare un server Linux e Windows. In questo articolo, esaminiamo come monitorare le sessioni attive e la temperatura del dispositivo VPN utilizzando Nagios. Puoi monitorare praticamente qualsiasi cosa su un hardware usando il plug-in check_snmp di nagios.

1. Identifica un file cfg per definire host, gruppo host e servizi per il dispositivo VPN

Puoi creare un nuovo file vpn.cfg o riutilizzare uno dei file .cfg esistenti. In questo articolo, ho aggiunto il servizio VPN e la definizione del gruppo host a un file switch.cfg esistente. Assicurati che la riga switch.cfg nel file nagios.cfg non sia commentata come mostrato di seguito.

# grep switch.cfg /usr/local/nagios/etc/nagios.cfg
cfg_file=/usr/local/nagios/etc/objects/switch.cfg

2. Aggiungi un nuovo gruppo host per il dispositivo VPN in switch.cfg

Aggiungi il seguente hostgroup ciscovpn al file /usr/local/nagios/etc/objects/switch.cfg.

define hostgroup{
hostgroup_name  ciscovpn
alias           Cisco VPN Concentrator
}

3. Aggiungi un nuovo host per il dispositivo VPN in switch.cfg

In questo esempio, ho definito due host, uno per il concentratore VPN Cisco primario e un altro per il concentratore VPN Cisco secondario nel file /usr/local/nagios/etc/objects/switch.cfg. Modifica la direttiva dell'indirizzo sull'indirizzo IP del tuo dispositivo VPN di conseguenza.

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. Aggiungi nuovi servizi per monitorare le sessioni attive VPN e la temperatura in switch.cfg

Aggiungi il servizio "Temperatura" e il servizio "Sessioni VPN attive" al file /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. Convalida check_snmp dalla riga di comando

Il plug-in Check_snmp utilizza il comando 'snmpget' dal pacchetto NET-SNMP. Assicurati che net-snmp sia installato sul tuo sistema come mostrato di seguito. In caso contrario, scaricalo dal sito Web 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

Assicurati che check_snmp funzioni dalla riga di comando come mostrato di seguito.

# /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 questo esempio, i seguenti parametri vengono passati a check_snmp:

  • -H, –hostname=INDIRIZZO Nome host, indirizzo IP o socket unix (deve essere un percorso assoluto)
  • -P, –protocol=[1|2c|3] Versione del protocollo SNMP
  • -l, –label=STRINGA Etichetta del prefisso per l'output dal plug-in. vale a dire Temerature o ActiveSession
  • -w, –warning=INTEGER_RANGE(s) Intervalli che non risulteranno in uno stato di AVVISO
  • -c, –critical=INTEGER_RANGE(s) Intervalli che non risulteranno in uno stato CRITICO
  • -o, –oid=OID/i Identificatori di oggetti o variabili SNMP di cui si desidera interrogare il valore. Assicurati di fare riferimento al manuale del tuo dispositivo per vedere tutti gli oid supportati e disponibili per la tua attrezzatura. Se hai più di due oid, separali con una virgola.

Nell'esempio di ActiveSessions, vengono monitorati due OID. ovvero uno per i tunnel VPN LAN-2-LAN (iso.3.6.1.4.1.3076.2.1.2.17.1.7.0) e un altro per le sessioni PPTP (iso.3.6.1.4.1.3076.2.1.2.17.1.9.0). Nell'esempio precedente, le sessioni attive VPN LAN-2-LAN hanno superato il limite critico di 100.

Object Identifier (OID) è organizzato in un albero MIB (Management Information Base) gerarchico con radici e rami basati sullo standard Internet.

6. Convalida la configurazione e riavvia nagios

Verifica la configurazione di nagios per assicurarti che non ci siano avvisi ed errori.

# /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

Riavvia il server nagios per iniziare a monitorare il dispositivo VPN.

# /etc/rc.d/init.d/nagios stop
Stopping nagios: .done.

# /etc/rc.d/init.d/nagios start
Starting nagios: done.

Verifica lo stato delle sessioni attive e della temperatura del dispositivo VPN dall'interfaccia utente web di Nagios (http://{nagios-server}/nagios) come mostrato di seguito.


Fig – UI Web di Nagios che mostra lo stato del dispositivo VPN

7. Risoluzione dei problemi

Problema: check_snmp funziona senza problemi dalla riga di comando di Linux, ma l'interfaccia utente web di Nagios mostra il seguente errore:

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

Soluzione: Assicurati che la definizione check_command per il plug-in check_snmp nel file switch.cfg sia definita correttamente. Gli argomenti del comando check_snmp devono corrispondere alla definizione check_snmp in /usr/local/nagios/etc/commands.cfg

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

Nella definizione del comando check_snmp mostrata di seguito, c'è un solo argomento $ARG1$. Quindi, in switch.cfg, mentre definisci check_snmp, devi passare solo un argomento come mostrato sopra.

# 'check_snmp' command definition
define command{
command_name    check_snmp
command_line    $USER1$/check_snmp -H $HOSTADDRESS$ $ARG1$
}

Lettura consigliata

Questi sono i due migliori libri che coprono l'ultimo Nagios 3. Ti consiglio vivamente di leggere entrambi questi libri per ottenere una comprensione dettagliata di Nagios.


Linux
  1. Come monitorare la temperatura della CPU su un sistema Linux Redhat 7

  2. Come installare Nagios 4 e monitorare i tuoi server su Ubuntu 20.04

  3. Come monitorare la macchina Windows remota usando Nagios su Linux

  4. Come monitorare lo switch di rete e le porte utilizzando Nagios

  5. Come monitorare e registrare il traffico di rete su Linux utilizzando vnStat

Come ingrandire e rimpicciolire i video utilizzando FFmpeg

Come registrare sessioni del terminale Linux utilizzando Asciinema

Come monitorare il server Linux e le metriche dal browser utilizzando Scout Realtime

Come monitorare la macchina Linux tramite Nagios

Come usare il comando DD e come masterizzare ISO usandolo

Come configurare il server e il client VPN Linux utilizzando OpenVPN