GNU/Linux >> Tutoriels Linux >  >> Linux

Comment surveiller les sessions VPN actives et la température à l'aide de Nagios

Nous avons précédemment expliqué comment utiliser Nagios pour surveiller un serveur Linux et Windows. Dans cet article, voyons comment surveiller les sessions actives et la température du périphérique VPN à l'aide de Nagios. Vous pouvez surveiller à peu près tout ce qui concerne un matériel à l'aide du plug-in nagios check_snmp.

1. Identifiez un fichier cfg pour définir l'hôte, le groupe d'hôtes et les services pour le périphérique VPN

Vous pouvez soit créer un nouveau fichier vpn.cfg, soit réutiliser l'un des fichiers .cfg existants. Dans cet article, j'ai ajouté le service VPN et la définition du groupe d'hôtes à un fichier switch.cfg existant. Assurez-vous que la ligne switch.cfg dans le fichier nagios.cfg n'est pas commentée comme indiqué ci-dessous.

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

2. Ajouter un nouveau groupe d'hôtes pour le périphérique VPN dans switch.cfg

Ajoutez le groupe d'hôtes ciscovpn suivant au fichier /usr/local/nagios/etc/objects/switch.cfg.

define hostgroup{
hostgroup_name  ciscovpn
alias           Cisco VPN Concentrator
}

3. Ajouter un nouvel hôte pour le périphérique VPN dans switch.cfg

Dans cet exemple, j'ai défini deux hôtes - un pour le concentrateur principal et un autre pour le concentrateur VPN Cisco secondaire dans le fichier /usr/local/nagios/etc/objects/switch.cfg. Remplacez la directive d'adresse par l'adresse IP de votre périphérique VPN en conséquence.

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. Ajouter de nouveaux services pour surveiller les sessions VPN actives et la température dans switch.cfg

Ajoutez le service "Température" et le service "Active VPN Sessions" au fichier /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. Validez le check_snmp depuis la ligne de commande

Le plug-in Check_snmp utilise la commande « snmpget » du package NET-SNMP. Assurez-vous que le net-snmp est installé sur votre système comme indiqué ci-dessous. Sinon, téléchargez-le à partir du site 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

Assurez-vous que check_snmp fonctionne à partir de la ligne de commande comme indiqué ci-dessous.

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

Dans cet exemple, les paramètres suivants sont passés au check_snmp :

  • -H, –hostname=ADDRESS Nom d'hôte, adresse IP ou socket unix (doit être un chemin absolu)
  • -P, –protocol=[1|2c|3] Version du protocole SNMP
  • -l, –label=STRING Étiquette de préfixe pour la sortie du plugin. c'est-à-dire la température ou les ActiveSessions
  • -w, –warning=INTEGER_RANGE(s) Plage(s) qui n'entraîneront pas d'état AVERTISSEMENT
  • -c, –critical=INTEGER_RANGE(s) Plage(s) qui n'entraîneront pas un statut CRITIQUE
  • -o, –oid=OID(s) Identifiant(s) d'objet(s) ou variables SNMP dont vous souhaitez interroger la valeur. Assurez-vous de vous référer au manuel de votre appareil pour voir tous les oid pris en charge et disponibles pour votre équipement. Si vous avez plus de deux oid, séparez-les par une virgule.

Dans l'exemple ActiveSessions, deux OID sont surveillés. c'est-à-dire un pour les tunnels VPN LAN-2-LAN (iso.3.6.1.4.1.3076.2.1.2.17.1.7.0) et un autre pour les sessions PPTP (iso.3.6.1.4.1.3076.2.1.2.17.1.9.0). Dans l'exemple ci-dessus, les sessions actives VPN LAN-2-LAN ont dépassé la limite critique de 100.

L'identificateur d'objet (OID) est organisé dans une arborescence hiérarchique de la base d'informations de gestion (MIB) avec des racines et des branches basées sur la norme Internet.

6. Valider la configuration et redémarrer nagios

Vérifiez la configuration de nagios pour vous assurer qu'il n'y a pas d'avertissements et d'erreurs.

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

Redémarrez le serveur nagios pour commencer à surveiller le périphérique VPN.

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

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

Vérifiez l'état des ActiveSessions et de la température du périphérique VPN à partir de l'interface utilisateur Web de Nagios (http://{nagios-server}/nagios) comme indiqué ci-dessous.


Fig – Nagios Web UI montrant l'état du périphérique VPN

7. Dépannage

Problème : check_snmp fonctionne sans aucun problème à partir de la ligne de commande Linux, mais l'interface utilisateur Web de Nagios affiche l'erreur suivante :

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

Solution : Assurez-vous que la définition de check_command pour le plug-in check_snmp dans le fichier switch.cfg est correctement définie. Les arguments de la commande check_snmp doivent correspondre à la définition check_snmp dans /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}]

Dans la définition de la commande check_snmp ci-dessous, il n'y a qu'un seul argument $ARG1$. Ainsi, dans le switch.cfg, lors de la définition de check_snmp, vous n'avez besoin de transmettre qu'un seul argument, comme indiqué ci-dessus.

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

Lecture recommandée

Ce sont les deux meilleurs livres qui couvrent le dernier Nagios 3. Je vous recommande fortement de lire ces deux livres pour acquérir une compréhension détaillée de Nagios.


Linux
  1. Comment surveiller la température d'un processeur sur un système Redhat 7 Linux

  2. Comment installer Nagios 4 et surveiller vos serveurs sur Ubuntu 20.04

  3. Comment surveiller une machine Windows distante à l'aide de Nagios sous Linux

  4. Comment surveiller le commutateur réseau et les ports à l'aide de Nagios

  5. Comment surveiller et enregistrer le trafic réseau sous Linux à l'aide de vnStat

Comment zoomer et dézoomer des vidéos à l'aide de FFmpeg

Comment enregistrer des sessions de terminal Linux à l'aide d'Asciinema

Comment surveiller le serveur Linux et les métriques à partir du navigateur à l'aide de Scout Realtime

Comment surveiller une machine Linux via Nagios

Comment utiliser la commande DD et comment graver ISO en l'utilisant

Comment configurer le serveur et le client VPN Linux à l'aide d'OpenVPN