SNMP

Fonction

Interrogez un périphérique (généralement un type de périphérique réseau) pour obtenir des données SNMP en demandant un OID. Permet de rechercher les OID.

Alarmant

Temps de transfert, valeurs définies par l'utilisateur, valeurs diff et valeurs de chaîne

Le protocole SNMP (Simple Network Management Protocol) est de loin le protocole dominant en matière de gestion de réseau. L'une des principales raisons de son acceptation généralisée, en plus d'être la principale norme Internet pour la gestion de réseau, est sa relative simplicité. La mise en œuvre de la gestion SNMP dans un périphérique en réseau est bien plus simple que la plupart des autres approches standard ou non standard de la gestion réseau.

Le gestionnaire SNMP ou l'application de gestion utilise une syntaxe de dénomination bien définie pour spécifier les variables de l' agent SNMP. Les noms d'objet dans cette syntaxe sont appelés identifiants d'objet (ID d'objet ou OID).

Les OID sont des séries de nombres qui identifient de manière unique un objet auprès d'un agent SNMP. Les OID sont organisés dans une structure arborescente hiérarchique et inversée. L'arborescence OID commence par la racine et se développe en branches. Chaque point de l'arborescence OID est appelé un nœud et chaque nœud aura une ou plusieurs branches, ou se terminera par un nœud feuille. Le format de l'OID est une séquence de nombres séparés par des points.

Les types de variables SNMP suivants sont pris en charge pour les valeurs :

ASN_COUNTER

Entier non négatif de 32 bits qui ne peut qu'augmenter

ASN_GAUGE

Entier 32 bits

ASN_INTEGER

Entier 32 bits (-2 32 jusqu'à 2 32 ) RFC 1442

ASN_INTEGER64

Entier 64 bits (-2 64 jusqu'à 2 64 ) RFC 1442

ASN_OPAQUE

flotteur et double support

ASN_UNSIGNED64

64 bits non signé

ASN_COUNTER64

64 bits non signé

ASN_TIMETICKS

non signé

Toutes ces valeurs et la différence avec la dernière mesure sont converties en float puis transférées au server .

Les valeurs différentielles des types ci-dessus sont automatiquement divisées par le temps écoulé depuis les dernières mesures ((currentValue - previousValue) / (currentTimeSeconds - previousTimeSeconds)). Cela signifie que nous obtenons toujours un taux par seconde pour ces valeurs de différence.

ASN_BIT_STR

ASN_OCTET_STR

Ces valeurs sont des chaînes et peuvent contenir des caractères imprimables.

Fonctionnalités SNMP

  • Navigateur MIB en ligne pour la sélection d'OID

  • Fichiers MIB infinis, emplacement : /usr/share/snmp/mibs sur chaque collecteur SKOOR Engine

  • Unité de mesure configurable

  • Valeurs différentielles automatiques

  • Prise en charge des PDU versions 1, 2c et v3

  • Prise en charge du cryptage v3

  • n couche alarmante

  • Sélection de l'interface MIB2 par nom

  • Référencer les noms d'OID aux numéros d'OID

  • Nouvelles tentatives et délais d'attente réglables

  • Valeurs supprimables (réduit la taille de la base de données)

  • Chaînes (référence d'un nombre au texte)

  • Analyser les nombres à partir du texte OID (première valeur uniquement)

Détails SNMP

Paramètres SNMP

La section Entrée d'authentification s'affiche uniquement lorsque SNMP version 3 est sélectionné.

Paramètre

Description

Port UDP

Sélectionnez le port UDP (la valeur par défaut est 161)

Nouvelles tentatives

Nombre de tentatives si la demande échoue. La valeur par défaut est 2 tentatives.

Temps mort

Sélectionnez le délai d'expiration de la demande. Sur la plupart des appareils, les requêtes SNMP sont traitées avec une faible priorité, utilisez donc un délai d'attente suffisamment élevé. La valeur par défaut est 2s.

Version

Sélectionnez la version SNMP servie par le démon snmp distant. Les choix suivants sont disponibles :

Version 1
Version 2c
Version 3

Niveau de sécurité

Le niveau de sécurité définit la manière dont la requête SNMP est envoyée. Ce choix n'est disponible que lorsque SNMP v3 est utilisé. Les options suivantes sont disponibles :
Pas d'authentification, pas de cryptage
Authentification, pas de cryptage
Authentification, cryptage

Nom d'utilisateur

Pour l'authentification, visible uniquement lorsque SNMP v3 est utilisé.

Authentique. phrase secrète

Phrase secrète pour l'authentification, visible uniquement lorsque SNMP avec authentification est utilisé.

Authentique. protocole

Protocole d'authentification, visible uniquement lorsque SNMP avec authentification est utilisé. Les options actuellement disponibles sont MD5 ou SHA. La valeur par défaut est MD5.

Phrase secrète de confidentialité

Pour le chiffrement, visible uniquement lorsque SNMP avec authentification et chiffrement est utilisé.

Protocole de confidentialité

Pour le chiffrement, visible uniquement lorsque SNMP avec authentification et chiffrement est utilisé. Les options actuellement disponibles sont DES et AES. La valeur par défaut est DES.

Communauté

La plupart des périphériques réseau autorisent différents niveaux d'accès SNMP, par exemple : LECTURE SEULE ou LECTURE/ÉCRITURE. Chacun de ces niveaux d'accès aura généralement une chaîne de communauté différente. Pour lire des données, seule la communauté READ doit être connue, qui est généralement : publique.

Demander un OID

Insérez l’OID de la base d’informations de gestion (MIB) pour la demande. Si l'OID est inconnu, il peut être parcouru sur le périphérique de tâches avec le navigateur en ligne. Des OID supplémentaires peuvent être demandés à partir d'une seule tâche SNMP en cliquant sur le bouton « + » à côté du bouton Parcourir . Si plus d'un OID est saisi, la sortie de tous les OID est ajoutée dans le même fichier de sortie, l'un après l'autre.

Débordement

Laissez ce paramètre sur Auto . Il gérera le calcul de la valeur Diff, si le compteur est réinitialisé à 0. Cela empêche les valeurs Diff négatives.

Supprimer le temps de transfert

Par défaut, le temps nécessaire au transfert des données SNMP est enregistré dans la base de données. Si ces informations ne sont pas pertinentes, cochez cette case pour économiser de l'espace dans la base de données.

Supprimer la valeur
Supprimer la valeur différentielle
Supprimer la valeur de la chaîne
Supprimer le message d'information

Vérifiez les types de sortie SNMP qui ne doivent pas être pris en compte.

Si la case Supprimer le message d'information est activée, la sortie de chaîne SNMP ne sera pas envoyée au server . La valeur de retour sera définie sur Invalid value uniquement si une valeur ou une valeur diff est souhaitée et qu'il n'est pas possible d'extraire une valeur de la chaîne.

Les cases à cocher Supprimer la valeur , Supprimer la valeur diff et

Mapper la chaîne à la valeur

Définissez un mappage des objets chaîne SNMP avec des valeurs numériques.

Une valeur de chaîne peut être extraite directement sous forme de valeur de chaîne ou en définissant une carte de chaîne du format 1=foo,2=bar,0=* ce qui signifie que la chaîne foo sera convertie en valeur numérique 1, la barre de chaîne en la valeur numérique 2 et (facultatif) tout le reste à la valeur 0. Les espaces ne sont pas autorisés dans cette définition.

Si aucune mappe de chaîne n'est définie ou si l'affectation échoue (aucun operateur par défaut défini), la chaîne est analysée pour la première occurrence de caractères numériques et le résultat est transféré au server comme demandé (valeur et/ou valeur diff).

Définir l'unité

Voir la section Unité/Diviseur SNMP ci-dessous.

La liste déroulante Tags permet de saisir des variables prédéfinies dans les champs ci-dessus, par exemple $NAME$ pour le nom du travail.

Naviguer en ligne

Pour rechercher un OID SNMP spécifique sur l' agent SNMP distant et l'utiliser comme requête SNMP, cliquez sur le bouton Parcourir en ligne . Il est utile de connaître l'emplacement approximatif dans l'arborescence pour limiter le temps de navigation, le trafic réseau et la taille de sortie. Entrez la chaîne de communauté correcte pour l' agent SNMP et sélectionnez la version SNMP dans la section Connexion . Les MIB les plus fréquemment utilisés peuvent être sélectionnés dans le menu déroulant, en commençant par Root , qui ne doit être sélectionné que si l'emplacement de l'objet requis est complètement inconnu :

Démarrez le processus avec le bouton Démarrer l'analyse :

L'analyse peut prendre un certain temps, en fonction du nombre d'objets situés sous l'OID racine sélectionné. Cliquez sur Actualiser jusqu'à ce que l' état du téléchargement indique Terminé :

Le compteur de téléchargement affiche le nombre d'OID trouvés. Pour les afficher, sélectionnez Afficher l'arborescence ou Afficher le plat . Pour sélectionner un OID, cliquez simplement sur le lien OID.

Exemple 1 : Arborescence avec type et valeur

Exemple 2 - Vue plate avec valeur

Si la sortie de l'arborescence analysée n'affiche pas d'informations textuelles mais uniquement des OID du formulaire

1.3.6.1.4.1.13424.11.1.1.25

alors la MIB du périphérique analysé n'est probablement pas installée. Pour rechercher des MIB SNMP, recherchez sur le site Web du fabricant de l'appareil ou recherchez sur la page d'accueil de MIB Depot les MIB accessibles au public.

Résolution de nom générique SNMP

Certains serveurs SNMP ne font pas toujours correspondre le même OID à la même valeur. La lecture de l'utilisation du disque à partir d'une MIB hôte peut fonctionner jusqu'à ce qu'un nouveau disque soit ajouté à ce système. Il est possible que l'index (qui dans l'exemple ci-dessous est .2) change.

Pour éviter cela, SKOOR Engine peut utiliser un OID de résolution défini par l'utilisateur pour le mappage du nom à l'index. Pour y parvenir, nous remplaçons l'index par une chaîne à comparer à l'OID Resolve avec le modèle entre deux caractères $. Avant d'effectuer la requête SKOOR Engine remplacera la $string$ par l'index correspondant trouvé. Voici un exemple d’OID à partir duquel on aimerait lire une valeur :

.iso.org.dod.internet.mgmt.mib-2.host.hrStorage.hrStorageTable.hrStorageEntry.hrStorageUsed.2

Au lieu de saisir cette chaîne en tant qu'OID de requête, recherchez d'abord la chaîne de description SNMP du disque qui est stockée sous l'OID suivant :

.iso.org.dod.internet.mgmt.mib-2.host.hrStorage.hrStorageTable.hrStorageEntry.hrStorageDescr

Sa valeur est : C:\ Étiquette : Numéro de série dc133042

Remplacez maintenant le chiffre 2 par la valeur ci-dessus entourée de deux caractères $ :

iso.org.dod.internet.mgmt.mib-2.host.hrStorage.hrStorageTable.hrStorageEntry.hrStorageUsed.$C:\ Étiquette : numéro de série dc133042$

Dès que la deuxième chaîne $ est saisie, une nouvelle ligne appelée Resolve OID apparaît sous la ligne Request OID1 . Entrez ici l'OID de description ci-dessus :

. iso.org .dod.internet.mgmt.mib-2.host.hrStorage.hrStorageTable.hrStorageEntry.hrStorageDescr

$C:\ Étiquette : Le numéro de série dc133042$ sera remplacé par 2 .

Valeur par défaut SNMP

Si la résolution du nom OID échoue (voir section ci-dessus), il est possible de définir un index par défaut. Dans l'exemple ci-dessus, on écrirait l'index par défaut après l'OID de la requête, séparé par un espace :

iso.org .dod.internet.mgmt.mib-2.host.hrStorage.hrStorageTable.hrStorageEntry.hrStorageUsed.$C:\ Étiquette : numéro de série dc133042$ 2

Unité/diviseur SNMP

La sortie SNMP dans l'exemple de la section ci-dessus est :

hrStorageDescr.2              C:\ Label: Serial Number dc133042
hrStorageAllocationUnits.2    4096 Bytes
hrStorageSize.2               2120572
hrStorageUsed.2               1839613

Pour obtenir le résultat de la capacité de stockage utilisée en Go, vous devez définir le diviseur correct.

L'Explorateur Windows nous indique ce qui suit à propos du système de fichiers sur le lecteur C:\ :

Volume: 8283MB, 8.08GB Total Size, Freespace 1.07GB

Par conséquent, il faut multiplier hrStorageUsed.2 par 4096 pour obtenir la valeur en octets, puis diviser par 1024 trois fois pour obtenir la valeur en Go.

1839613 x 4096 / 1024 / 1024 / 1024 = 7,01 Go utilisés (ce qui est conforme aux chiffres d'Explorer)

Pour définir le diviseur SKOOR Engine , combinez 1024 x 1024 x 1024 / 4096 = 262144

Appuyez sur le bouton Unité pour définir le nom de la valeur, son unité et son diviseur :

Le résultat dans la section des valeurs après l'exécution du travail SNMP sera de 7,01 Go .

Pour obtenir %used à la place, utilisez cette formule : hrStorageUsed / hrStorageSize x 100 pour que le diviseur soit 21205.72 .

Travaux SNMP avec plusieurs OID

Il est possible d'évaluer plusieurs OID dans le même travail SNMP. Toutes les requêtes SNMP doivent être valides pour le périphérique auquel la tâche SNMP est attachée (il n'est pas possible de définir des requêtes pour différents périphériques dans une même tâche SNMP). Des OID supplémentaires sont activés en cliquant sur le bouton plus à côté du bouton Parcourir en ligne . Une fois les OID supplémentaires ajoutés, des champs de résultats supplémentaires apparaissent dans la section Résultats ci-dessous :

Chaque OID a sa section de sortie configurable séparément et sa propre chaîne de mappage à la définition de valeur et au bouton Unité . Le temps de transfert peut être supprimé globalement.

L'exemple utilise Resolve OID pour chacun des 3 OID. Voir la section Résolution de nom générique SNMP ci-dessus pour plus de détails.

Les premier et deuxième OID demandent les compteurs ifInOctets et ifOutOctets à une interface d'un périphérique réseau. Pour ces compteurs la valeur absolue n'est pas pertinente, ce qui est intéressant c'est l'évolution avec le temps, donc les champs Résultat pour ces 2 OID suppriment les valeurs elles-mêmes et les éventuelles valeurs de chaîne (qui ne sont de toute façon pas renvoyées par cet OID).

La définition d'unité pour le premier résultat OID a les unités de valeur et de chaîne grisées en conséquence :

Un diviseur est spécifié pour convertir la sortie en kBit/s.

octet/s → kBit/s
kbit = octet / 1000 * 8
kbit = octet / (1000 / 8)
kbit = octet / 125

Le troisième OID demande le ifOperStatus de l'interface réseau, qui est renvoyé sous forme de chaîne (pas sous forme d'objet chaîne en soi, mais la sortie est par exemple : up(1) ) par l' agent SNMP. Cela peut être vu lorsque vous utilisez le bouton Parcourir en ligne avec le . iso.org .dod.internet.mgmt.mib-2.interfaces.ifTable.ifEntry.ifOperStatus OID en tant que racine :

Étant donné que les valeurs numériques sont traitées plus rapidement par le SKOOR Engine , il est généralement préférable de convertir la chaîne connue en valeur numérique à l'aide du champ Map string to value :

Cela signifie que le résultat envoyé au server sera une valeur et non plus une chaîne, on peut donc supprimer les valeurs de chaîne et les valeurs diff .

La définition d'unité pour le troisième résultat OID est spécifiée comme suit :

Les résultats sont ensuite affichés dans la section Valeurs :

Si l'un des OID définis produit une erreur, le message d'erreur de cet OID s'affiche et l'ensemble du travail échoue. Tous les OID suivants ne sont pas traités si un OID échoue :

Valeurs SNMP et limites d'alarme

Valeur / Limite d'alarme

Description

Valeur1-n

Valeur numérique personnalisée définie par le bouton Unité de résultat des OID.

Valeur différentielle1-n

Valeur de différence numérique personnalisée définie par le bouton Unité de résultat des OID.

Valeur de chaîne1-n

Valeur de chaîne personnalisée définie par le bouton Unité de résultat des OID.

Code d'erreur

Code d'erreur de travail générique (voir la section Codes d'erreur de travail )

Exemples SNMP

Exemple 1 - Sélection de l'interface SNMP mib-2 par description

Il est possible de sélectionner automatiquement le numéro d'interface par sa description. Cela peut être utile si le nombre d'interfaces d'un routeur est susceptible de changer. Ensuite il doit être possible de sélectionner l'interface par sa description.

Nous voulons rechercher l'OID

.iso.org.dod.internet.mgmt.mib-2.interfaces.ifTable.ifEntry.ifInOctets.

pour le nombre d'octets qui ont transité vers l'intérieur via l'interface VLAN 10 . Pour ce faire, nous recherchons d’abord la description de l’interface ci-dessous . iso.org .dod.internet.mgmt.mib-2.interfaces.ifTable.ifEntry.ifDescr :

et constatez que la description est :

em0_vlan10

Remplacez maintenant l'index numérique après ifInOctets par la chaîne $em0_vlan10$ et utilisez-le comme OID de requête :

.iso.org.dod.internet.mgmt.mib-2.interfaces.ifTable.ifEntry.ifInOctets.$em0_vlan10$

Pour résoudre l'OID, utilisez

.iso.org.dod.internet.mgmt.mib-2.interfaces.ifTable.ifEntry.ifDescr

La recherche d'une chaîne de description correspondante est sensible à la casse. Le travail mémorisera le dernier index. Si le numéro a changé, il réanalysera les descriptions.