| Scroll Ignore | ||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||
|
Contexte
Lorsque vous installez Shinken Enterprise, un certain nombre de modèles et de commandes sont inclus dans votre configuration.
Le pack "switch", comme son nom l'indique, permet de superviser des éléments réseau.
Le pack Switch-SNMP permet de superviser des équipements réseaux ( switchs, firewall, loadbalancer ) via le protocole SNMP ( Simple Network Management Protocol ).
- Il permet d'interroger les statistiques d'interface, le matériel ( CPU, mémoire, ventilateurs, modules d'alimentation… ) et leurs utilisations ( processeur, mémoire, utilisation… ).
- Il contient 1 commande, 9 checks accrochés à 4 modèles d'hôte spécifiques ( nommés "switch" et "switch-detailed" ).
- Toutes les commandes de ce pack se basent sur le script check_nwc_health présent dans le répertoire des scripts shinken Les commandes utilisent la sonde check_nwc_health présente dans le répertoire des sondes Shinken /var/lib/shinken/libexec ( ou $PLUGINSDIR$ depuis l'interface de configuration ).
Le protocole SNMP ( Simple Network Management Protocol ) est utilisé par le script pour récupérer les informations nécessaires ( Espace disque, CPU, load, etc... ).
Vous trouverez le détail du pack dans les page suivantes :
| Children Display | ||
|---|---|---|
|
Différence entre les modèles (switch, switch_snmp_v3) et (switch-detailed, switch_snmp_v3-detailed)
- Ces modèles offrent une vue d'ensemble pour chaque check sur l'état général de vos interfaces
- Mise a part la mise en place du protocol SNMP, il ne nécéssite aucune configuration
- Ces modèles sont donc conseillés si vous voulez une vue sur l'ensemble de vos interfaces en un seul résultat, mais attention, si un problème est rencontré même sur une seule des interfaces, alors le résultat indiquant l'erreur risque d'être noyé par la masse d'informations renvoyées par le check.De même, si un second problème venait à apparaître, il en serait alors, encore plus difficilement repérable.
- Ces modèles vous offrent une vue éclatée, c'est a dire un résultat interface par interface pour chaque check que vous allez effectuer
- En plus de configurer SNMP, il sera nécessaire de configurer le nom de toutes les interfaces dans l'interface de configuration Shinken
- Ces modèles sont conseillés si vous vous voulez voir une description interface par interface des différents checks proposé, cela vous demande une configuration, mais si un problème vient à apparaître, il vous indiquera alors l'interface qui pose problème.
Comment utiliser le pack SWITCH
Le pack switch peut être utilisé en accrochant les modèles d'hôtes présent dans ce pack à vos hôte.
Il existe deux manières de procéder :
En utilisant l'interface de Configuration
Dans l'interface de Configuration,
En éditant les fichiers de configuration d'un collecteur ( cfg )
Dans un fichier de configuration,
- créez ou éditez votre définition d'hôte
- en ajoutant, dans la propriété "use", la valeur "switch", "switch-detailed", "switch_snmp_v3" ou "switch_snmp_v3-detailed" selon les besoins.
Puis, le contenue du fichier devra alors être importé avec une source d'import de fichier de configuration ( plus d'information sur cette page: Collecteur de type ( cfg-file-import ) - Import depuis des fichiers au format .cfg ).
Configuration de la connexion SNMP
Pour l'exécution correcte des commandes de supervision, vous aurez besoin d'une connexion SNMP v2.
Quelques informations au préalable sont nécessaires pour la bonne compréhension de cette partie :
- Du côté du serveur Shinken, l'exécution des commandes est réalisée par les Pollers.
- D'autre part, du côté des machines switch supervisées, les composant SNMP paramétrés soit avec une communauté pour SNMPv2. Soit par login / mot de passe et plus suivant la configuration choisie pour SNMPv3
Côté switch supervisé
En fonction de votre matériel, il faut configurer la partie SNMP.
Côté serveur Poller
Les scripts sont exécutés par le ou les serveurs Poller.
- Les commandes sont basées sur des scripts PERL.
- Pour information, les librairies suivantes sont nécessaires:
- Déja installé par l'installeur de Shinken :
- net-snmp-utils
- net-snmp-libs
- Nécéssaire pour faire fonctionner la nouvelle version du check_nwc_health si elles ne sont pas encore installées sur vote machine :
- perl-JSON
- perl-File-Slurp
- perl-JSON-XS
- Nécessaire pour SNMP V3 :
- perl-Crypt-Rijndael ( que vous devez rajouter sur votre OS )
- Déja installé par l'installeur de Shinken :
Test de connexion
SNMP V2
| Code Block |
|---|
[root@shinken-poller ~]# snmpwalk -v2c -c COMMUNAUTE IP-SWITCH |
En replaçant COMMUNAUTE et IP-SWITCH par ceux de votre switch.
Une liste de valeur doit défiler à l'écran pour valider la bonne connexion.| Code Block | ||
|---|---|---|
| ||
$ snmpwalk -v2c -c public 192.168.1.4
SNMPv2-MIB::sysDescr.0 = STRING: Cisco Internetwork Operating System SoftwareIOS (tm) MSFC Software (C6MSFC-JS-M), Version 12.0(7)XE1, EARLY DEPLOYMENT RELEASE SOFTWARE (fc1)TAC:Home:SW:IOS:Specials for infoCopyright (c) 1986-2000 by cisco Systems, Inc.Compiled Thu 03-Feb-00 23:
SNMPv2-MIB::sysObjectID.0 = OID: SNMPv2-SMI::enterprises.9.1.258
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (22061) 0:03:40.61
SNMPv2-MIB::sysContact.0 = STRING: admin
SNMPv2-MIB::sysName.0 = STRING: CISCOROUTER
SNMPv2-MIB::sysLocation.0 = STRING: server-room
SNMPv2-MIB::sysServices.0 = INTEGER: 78
SNMPv2-MIB::sysORLastChange.0 = Timeticks: (0) 0:00:00.00
IF-MIB::ifNumber.0 = INTEGER: 13
IF-MIB::ifIndex.2 = INTEGER: 2
... |
SNMP V3
| Code Block |
|---|
[root@shinken-poller ~]# snmpwalk -v3 -l SecurityLevel -u LOGIN -a AUTH -A AUTHPASSWORD -x PRIV -X PRIVPASSWORD IP-SWITCH |
Il vous faudra alors remplacer :
- SecurityLevel par : noAuthNoPriv ou authNoPriv ou authPriv suivant la configuration de votre connexion SNMPv3.
- LOGIN par le login utilisé sur le switch.
- AUTH l'algorithm d'authenfication que vous avez choisi pour la connexion (md5 ou sha).
- AUTHPASSWORD par le mot de passe que vous avez choisi pour l'authentification SNMPv3.
- PRIV par le protocole de confidentialité que vous avez choisi pour la connexion SNMPv3 (aes ou des).
- PRIVPASSWORD par le mot de passe de confidentialité que vous avez choisi pour la connexion SNMPv3.
- IP-SWITCH par l'adresse IP de votre switch.
Une liste de valeur doit défiler à l'écran pour valider la bonne connexion.
- ).
Il contient les modèles d'hôtes suivants pour la supervision avec SNMPv1 et v2 :
- Switch-SNMPv1v2 permet une supervision d'un switch pour une utilisation minimale et synthétique.
- Switch-SNMPv1v2-detailed permet une supervision d'un switch pour une utilisation détaillée de chaque interface réseau et fournit des informations supplémentaires ( utilisation CPU, consommation mémoire… ).
Et les modèles suivants pour la supervision avec SNMPv3 :
- Switch-SNMPv3-( noAuthNoPriv / authNoPriv / authPriv ) permettent une supervision d'un switch pour une utilisation minimale et synthétique.
- Switch-SNMPv3-( noAuthNoPriv / authNoPriv / authPriv )-detailed permettent une supervision d'un switch pour une utilisation détaillée de chaque interface réseau et fournissent des informations supplémentaires ( utilisation CPU, consommation mémoire… ).
C'est la source "cfg-file-shinken" qui importe et met à jour ce pack.
| Info |
|---|
Si le besoin de modifier certains éléments ( commandes, checks ou modèles d'hôtes ) se présente, il faut lire la page Les bonnes pratiques d'utilisation d'un pack livré par Shinken. |
Comment utiliser son pack ?
Le pack "Switch-SNMP" utilise les protocoles réseaux SNMP v1, v2 et v3 afin de superviser un switch.
| Info |
|---|
Pour s'assurer du bon fonctionnement et de la configuration de SNMP sur un switch, aller voir la page Mise en place du Pack Switch-SNMP. |
Le pack possède 9 modèles d’hôtes, voici les 3 modèles utilisant SNMP v1 et v2 :
- Switch-base fournit les données de configuration pour les deux autres modèles ( ce modèle n'est utile que pour définir un modèle commun qui contient les données nécessaires pour l'utilisation de tout autre modèle du pack. Il n'est visible que par les admins Shinken ).
- Switch-SNMPv1v2 permet une supervision d'un hôte SNMP minimale et synthétique
- Switch-SNMPv1v2-detailed permet une supervision d'un hôte SNMP détaillée de chaque interface réseau et fournit des informations supplémentaires ( utilisation CPU, consommation mémoire… ).
Et les 6 modèles d'hôtes utilisant SNMP v3 :
- Switch-SNMPv3-noAuthNoPriv permet une supervision d'un switch pour une utilisation minimale et synthétique, mais avec un mode de connexion peu sécurisé.
- SwitchSNMPv3-authNoPriv permet une supervision d'un switch pour une utilisation minimale et synthétique avec la sécurité d'authentification, mais pas de chiffrement des données.
- SwitchSNMPv3-authPriv permet une supervision d'un switch pour une utilisation minimale et synthétique avec la sécurité d'authentification et le chiffrement des données.
- Switch-SNMPv3-noAuthNoPriv-detailed permet une supervision d'un switch pour une utilisation détaillée de chaque interface réseau et fournit des informations supplémentaires ( utilisation CPU, consommation mémoire… ), mais avec un mode de connexion peu sécurisé.
- Switch-SNMPv3-authNoPriv-detailed permet une supervision d'un switch pour une utilisation détaillée de chaque interface réseau et fournit des informations supplémentaires ( utilisation CPU, consommation mémoire… ), avec la sécurité d'authentification, mais pas de chiffrement des données.
- Switch-SNMPv3-authPriv-detailed permet une supervision d'un switch pour une utilisation détaillée de chaque interface réseau et fournit des informations supplémentaires ( utilisation CPU, consommation mémoire… ), avec la sécurité d'authentification et le chiffrement des données.
Choisir le modèle d'hôte SNMP
La version de SNMP utilisée ?
La version SNMP utilisée dépend de la configuration mise en place sur le switch à superviser.
- Si le switch est configuré pour SNMP v1 ou v2, voir la page Modèles d'hôtes pour SNMP v1 et v2.
- Sinon, voir la page Modèles d'hôtes pour SNMPv3.
Listes des modèles à utiliser dans le pack
| Nom | Lien | ||
|---|---|---|---|
| |||
| |||
| Modèles Switch-SNMPv3-( noAuthNoPriv / authNoPriv / authPriv ) | ||
| Modèles Switch-SNMPv3-( noAuthNoPriv / authNoPriv / authPriv )-detailed |
Switch supportés
La sonde check_nwc_health utilise l'API SNMP implémentée par les constructeurs de switch. Cette implémentation peut varier d'un constructeur à l'autre, par conséquent, tous les checks de ce pack ne sont pas supportés par tous les modèles de switch.
De plus, avec le grand nombre d'équipements et l’évolution des modèles, même lorsqu'un switch implémente une MIB avec les informations nécessaires à un check, la sonde peut ne pas disposer du code nécessaire pour collecter et interpréter ces données.
Lorsqu’un check n’est pas supporté par l’équipement, le check retourne le statut UNKNOWN avec le message suivante :
| Panel |
|---|
Veuillez contacter votre support pour vérifier si l’équipement prend en charge ce mode et si la sonde peut être mise à jour ou adaptée pour le supporter.
Versions des scripts livrés
| Nom | Version | Description | |
|---|---|---|---|
| 11.2.4 |
| Code Block | ||
|---|---|---|
| ||
$ snmpwalk -v3 -l authPriv -u newUser -a MD5 -A abc12345 -x DES -X abc12345 192.168.1.5 -v3
SNMPv2-MIB::sysDescr.0 = STRING: Cisco Internetwork Operating System Software
IOS (tm) 7200 Software (C7200-IS-M), Version 12.3(21b), RELEASE SOFTWARE (fc1)
Copyright (c) 1986-2007 by cisco Systems, Inc.
Compiled Sat 21-Jul-07 16:57 by ccai
SNMPv2-MIB::sysObjectID.0 = OID: SNMPv2-SMI::enterprises.9.1.223
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (3597) 0:00:35.97
SNMPv2-MIB::sysContact.0 = STRING:
SNMPv2-MIB::sysName.0 = STRING: Xiamen-R
SNMPv2-MIB::sysLocation.0 = STRING:
SNMPv2-MIB::sysServices.0 = INTEGER: 6
SNMPv2-MIB::sysORLastChange.0 = Timeticks: (0) 0:00:00.00
IF-MIB::ifNumber.0 = INTEGER: 5
IF-MIB::ifIndex.1 = INTEGER: 1
IF-MIB::ifIndex.2 = INTEGER: 2
... |
Côté interface de configuration Shinken
SNMP v2
Dans chaque hôte héritant du modèle d'hôte "switch" ou "switch-detailed", vous aurez la donnée SNMPCOMMUNITY concernant la communauté SNMP interrogé :
Communauté SNMP v2
- En SNMP v1/v2 la communauté est un équivalent du mot de passe pour se connecter sur les équipements.
- Important: les droits SNMP nécessaire sur l'équipement ne sont qu'en LECTURE SEULE, les sondes n'ont pas besoin d'avoir de droits d'écriture.
| title | Remarque |
|---|
$SNMPCOMMUNITYREAD$ est une donnée globale qui dont la valeur est modifiable dans le fichier /etc/shinken/resource.d/snmp.cfg,
- voir LES VARIABLES ( Remplacement dynamique de contenu - Anciennement les MACROS ), pour comprendre leur utilisation.
La modification des valeurs par défaut présentes dans le fichier du serveur ( /etc/shinken/resource.d/snmp.cfg ) nécessite un redémarrage :
- du Synchronizer pour le voir dans l'interface
- et l'envoie d'une configuration ou d'un redémarrage de l'Arbiter pour que la modification soit prise en compte en supervision.
Attention cependant, la modification dans le fichier direct entraînera
- après le prochain redémarrage du Synchronizer, une modification du comportement du modèle
- et donc potentiellement de tous les hôtes utilisant cette donnée ( dans le cas où l'hôte n'a pas surchargé cette valeur ).
Par exemple, voici le paramétrage d'une connexion avec la communauté SNMP v2 :
SNMP v3
Dans chaque hôte héritant du modèle d'hôte "switch_SNMP_v3" ou "switch_SNMP_v3-detailed", vous aurez plusieurs données a modifier ou non suivant la configuration SNMP choisi :
Login SNMP v3
- EN SNMP v3, la communauté est un équivalent du nom d'utilisateur dans une doublet login/mot de passe
Protocol d'authentification SNMP v3
- Ce protocol n'est pas obligatoire mais conseillé pour une meilleur sécurisation de la connexion.
- Deux protocol sont possibles ici, MD5 ou SHA
Mot de passe d'authentification SNMP v3
- Le mot de passe garantit l'intégrité des données et permet de'authentifier l'origine des données
Protocol de confidentialité SNMP v3
- Ce protocol n'est pas non plus obligatoire, mais tout comme le protocol d'authentification, il permet une sécurité suppleméntaire pour la communication via SNMP
- Deux protocoles sont possibles ici, AES ou DES
Mot de passe de confidentialité SNMP v3
- Le mot de passe de confidentialité assure le chiffrement et le déchiffrement des données.
Un autre exemple avec un paramétrage d'une connexion SNMP v3 :
