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.

  • 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 /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 :

Différence entre les modèles (switch, switch_snmp_v3) et (switch-detailed, switch_snmp_v3-detailed)

switch | switch_snmp_v3switch-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,

  • créez ou éditez un Hôte,
  • et ajoutez le modèle "switch", "switch-detailed", "switch_snmp_v3" ou "switch_snmp_v3-detailed" dans la propriété "Modèles d'hôte hérités" à l'aide du menu déroulant.

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 )

Test de connexion

Vous pouvez tester la bonne configuration du service SNMP de votre switch depuis votre serveur Poller en fonction du SNMP utilisé

SNMP V2
[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.

$ 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
[root@shinken-poller ~]# snmpwalk -v3 -l SecurityLevel -u LOGIN -a AUTH -A AUTHPASSWORD -x PRIV -X PRIVPASSWORD IP-SWITCH 

Il vous faudra alors remplacer : 

  1. SecurityLevel par :  noAuthNoPriv ou authNoPriv ou authPriv suivant la configuration de votre connexion SNMPv3.
  2. LOGIN par le login utilisé sur le switch.
  3. AUTH l'algorithm d'authenfication que vous avez choisi pour la connexion (md5 ou sha).
  4. AUTHPASSWORD par le mot de passe que vous avez choisi pour l'authentification SNMPv3.
  5. PRIV par le protocole de confidentialité que vous avez choisi pour la connexion SNMPv3 (aes ou des).
  6. PRIVPASSWORD par le mot de passe de confidentialité que vous avez choisi pour la connexion SNMPv3.
  7. IP-SWITCH par l'adresse IP de votre switch.


Une liste de valeur doit défiler à l'écran pour valider la bonne connexion.

$ 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é :


DescriptionValeur par défautValeur par défaut à l'installation de shinken
SNMPCOMMUNITY

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.
$SNMPCOMMUNITYREAD$public

$SNMPCOMMUNITYREAD$ est une donnée globale qui dont la valeur est modifiable dans le fichier /etc/shinken/resource.d/snmp.cfg,

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 :


DescriptionValeur par défautValeur par défaut à l'installation de shinken
SWITCH_LOGIN

Login SNMP v3

  • EN SNMP v3, la communauté est un équivalent du nom d'utilisateur dans une doublet login/mot de passe 


SWITCH_PROTOCOL_AUTH

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


SWITCH_PASSPHRASE_AUTH

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


SWITCH_PROTOCOL_PRIV

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


SWITCH_PROTOCOL_PRIV

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 :

Version des scripts livrés

check_nwc_health : 10.3.0.2