Configurer les opérations à distance SNMP
Présentation des opérations à distance SNMP
Une opération à distance SNMP est un processus sur le routeur qui peut être contrôlé à distance à l’aide de SNMP. Junos OS prend actuellement en charge deux opérations à distance SNMP : la MIB Ping et la MIB Traceroute, définies dans la RFC 2925. À l’aide de ces MIB, un client SNMP du système de gestion de réseau (NMS) peut :
Lancer une série d’opérations sur un routeur
Recevoir une notification lorsque les opérations sont terminées
Rassembler les résultats de chaque opération
Junos OS fournit également des fonctionnalités étendues à ces MIB dans les extensions jnxPingMIB
spécifiques à l’entreprise de Juniper Networks et jnxTraceRouteMIB
. Pour plus d’informations sur jnxPingMIB
et , consultez MIB PING et jnxTraceRouteMIB
MIB Traceroute.https://www.juniper.net/documentation/en_US/junos16.1/topics/reference/mibs/mib-jnx-ping.txt
Cette rubrique couvre les sections suivantes :
- Configuration requise pour les opérations à distance SNMP
- Définition des vues SNMP
- Définir une notification d’interruption pour les opérations à distance
- Utiliser des index de chaîne de longueur variable
- Activer la journalisation
Configuration requise pour les opérations à distance SNMP
Pour utiliser les opérations à distance SNMP, vous devez avoir de l’expérience avec les conventions SNMP. Vous devez également configurer Junos OS pour autoriser l’utilisation des MIB d’opération à distance.
Avant de démarrer la MIB ping, reportez-vous à la section Démarrage d’un test ping.
Avant de démarrer la MIB Traceroute, reportez-vous à la section Démarrage d’un test Traceroute.
Définition des vues SNMP
Toutes les MIB d’opérations distantes prises en charge par Junos OS nécessitent que les clients SNMP disposent de privilèges en lecture-écriture. La configuration SNMP par défaut de Junos OS ne fournit pas aux clients une chaîne de communauté avec de tels privilèges.
Pour définir des privilèges de lecture-écriture pour une chaîne de communauté SNMP, incluez les instructions suivantes au niveau de la [edit snmp]
hiérarchie :
[edit snmp] community community-name { authorization authorization; view view-name; } view view-name { oid object-identifier (include | exclude); }
Exemple : Définition des vues SNMP
Pour créer une communauté nommée remote-community
qui accorde aux clients SNMP un accès en lecture-écriture à la MIB Ping, à la MIB, à la MIB Traceroute et jnxTraceRoute
à la MIB, jnxPing
incluez les instructions suivantes au niveau de la [edit snmp]
hiérarchie :
snmp { view remote-view { oid 1.3.6.1.2.1.80 include; # pingMIB oid 1.3.6.1.4.1.2636.3.7 include; # jnxPingMIB oid 1.3.6.1.2.1.81 include; # traceRouteMIB oid 1.3.6.1.4.1.2636.3.8 include; # jnxTraceRouteMIB } community remote-community { view remote-view; authorization read-write; } }
Pour plus d’informations sur l’instruction, reportez-vous community
à la section Configurer les communautés SNMP et communauté (SNMP).
Pour plus d’informations sur l’instruction, reportez-vous aux sections , view Configurer les vues MIB(communauté SNMP) et view (configuration d’uneview
vue MIB).
Définir une notification d’interruption pour les opérations à distance
Outre la configuration de la base MIB des opérations distantes pour la notification d’interruption, vous devez également configurer Junos OS. Vous devez spécifier un hôte cible pour les interruptions d’opérations à distance.
Pour configurer la notification d’interruption pour les opérations à distance SNMP, incluez les instructions et targets
au niveau de la categories
[edit snmp trap-group group-name]
hiérarchie :
[edit snmp trap-group group-name] categories { category; } targets { address; } }
Exemple : Définir une notification d’interruption pour les opérations à distance
Spécifiez 172.17.12.213
en tant qu’hôte cible pour toutes les interruptions d’opérations distantes :
snmp { trap-group remote-traps { categories remote-operations; targets { 172.17.12.213; } } }
Pour plus d’informations sur les groupes d’interruptions, reportez-vous à la section Configurer les groupes d’interruptions SNMP.
Utiliser des index de chaîne de longueur variable
Tous les objets tabulaires des MIB d’opérations distantes pris en charge par Junos OS sont indexés par deux variables de type SnmpAdminString
. Pour plus d’informations sur , reportez-vous à SnmpAdminString
la RFC 2571.
Junos OS ne gère SnmpAdminString
pas différemment du type de variable de chaîne d’octet. Cependant, les index sont définis comme étant de longueur variable. Lorsqu’une chaîne de longueur variable est utilisée comme index, la longueur de la chaîne doit être incluse dans l’identificateur d’objet (OID).
Exemple : Définir des index de chaîne de longueur variable
Pour référencer la pingCtlTargetAddress
variable d’une ligne dans pingCtlTable
where pingCtlOwnerIndex
is et pingCtlTestName
is bob
test
, utilisez l’identificateur d’objet (OID) suivant :
pingMIB.pingObjects.pingCtlTable.pingCtlEntry.pingCtlTargetAddress."bob"."test" 1.3.6.1.2.1.80.1.2.1.4.3.98.111.98.4.116.101.115.116
Pour plus d’informations sur la définition de la MIB Ping, consultez RFC 2925.
Activer la journalisation
Le code d’erreur SNMP renvoyé en réponse aux requêtes SNMP ne peut fournir qu’une description générique du problème. Les descriptions d’erreurs consignées par le processus d’opérations à distance peuvent souvent fournir des informations plus détaillées sur le problème et vous aider à le résoudre plus rapidement. Cette journalisation n’est pas activée par défaut. Pour activer la journalisation, incluez l’instruction flag general
au niveau de la [edit snmp traceoptions]
hiérarchie :
[edit] snmp { traceoptions { flag general; } }
Si le processus d’opérations à distance reçoit une requête SNMP qu’il ne peut pas prendre en charge, l’erreur est consignée dans le /var/log/rmopd
fichier. Pour surveiller ce fichier journal, exécutez la monitor start rmopd
commande en mode opérationnel de l’interface de ligne de commande (CLI).
Utiliser la MIB ping pour les périphériques de surveillance à distance exécutant Junos OS
Un test ping est utilisé pour déterminer si les paquets envoyés par l’hôte local atteignent l’hôte désigné et sont renvoyés. Si l’hôte désigné peut être atteint, le test ping fournit le temps d’aller-retour approximatif des paquets. Les résultats des tests ping sont stockés dans pingResultsTable
et pingProbeHistoryTable
.
La RFC 2925 est la description officielle de la MIB Ping en détail et fournit la définition MIB ASN.1 de la MIB Ping.
Démarrer un test ping
Utilisez cette rubrique pour lancer un test ping ICMP. Il y a deux façons de lancer un test ping : à l’aide de plusieurs unités de données de protocole (PDU) Set ou d’une seule PDU Set.
- Avant de commencer
- Démarrer un test ping
- Utiliser plusieurs PDU
- Utilisation d’une seule unité de distribution d’alimentation
Avant de commencer
Avant de commencer un test ping, configurez une vue MIB ping. Cela autorise les requêtes SNMP Set
sur pingMIB
. Pour plus d’informations, reportez-vous à la section Configurer les vues MIB.
À partir de Junos OS version 17.2X75-D100, vous devez configurer RPM avant de lancer un ping ICMP. Configurez RPM à l’aide de la edit services rpm
commande.
Démarrer un test ping
Pour démarrer un test ping, créez une ligne dans pingCtlTable
et définissez-la pingCtlAdminStatus
sur enabled
. Les informations minimales qui doivent être spécifiées avant le réglage pingCtlAdminStatus
sur enabled
sont les suivantes :
pingCtlOwnerIndexSnmpAdminString
pingCtlTestNameSnmpAdminString
pingCtlTargetAddressInetAddress
pingCtlTargetAddressTypeInetAddressType
pingCtlRowStatusRowStatus
Pour toutes les autres valeurs, les valeurs par défaut sont choisies, sauf indication contraire. pingCtlOwnerIndex
et pingCtlTestName
sont utilisés comme index, de sorte que leurs valeurs sont spécifiées dans le cadre de l’identificateur d’objet (OID). Pour créer une ligne, définissez pingCtlRowStatus
sur ou createAndGo
sur createAndWait
une ligne qui n’existe pas déjà. La valeur for active
pingCtlRowStatus
indique que toutes les informations nécessaires ont été fournies et que le test peut commencer ; pingCtlAdminStatus
elle peut être définie sur enabled
. Une requête SNMP Set
définie pingCtlRowStatus
sur active
échoue si les informations nécessaires dans la ligne ne sont pas spécifiées ou sont incohérentes.
Pour plus d’informations sur la configuration d’une vue, reportez-vous à la section Définition des vues SNMP.
Lisez les sections suivantes pour savoir comment classer les variables.
Utiliser plusieurs PDU
Vous pouvez utiliser plusieurs PDU de requête (plusieurs PDU, avec un ou plusieurs Set
varbinds chacun) et définir les variables suivantes dans cet ordre pour démarrer le test :
pingCtlRowStatus
ÀcreateAndWait
Toutes les variables de test appropriées
pingCtlRowStatus
Àactive
Junos OS vérifie désormais que toutes les informations nécessaires à l’exécution d’un test ont été spécifiées.
pingCtlAdminStatus
Àenabled
Utilisation d’une seule unité de distribution d’alimentation
Vous pouvez utiliser une seule Set
PDU de requête (une PDU, avec plusieurs varbinds) pour définir les variables suivantes afin de démarrer le test :
pingCtlRowStatus
ÀcreateAndGo
Toutes les variables de test appropriées
pingCtlAdminStatus
Àenabled
Surveiller un test ping en cours
Lorsque pingCtlAdminStatus
la valeur est , enabled
procédez comme suit avant que l’accusé de réception de la requête SNMP Set
ne soit renvoyé au client :
pingResultsEntry
est créée si elle n’existe pas déjà.pingResultsOperStatus
Transitions versenabled
.
Pour plus d’informations, consultez les sections suivantes :
pingResultsTable
Pendant que le test est en cours d’exécution, pingResultsEntry
garde une trace de l’état du test. La valeur de pingResultsOperStatus
est pendant que le test est enabled
en cours d’exécution et disabled
lorsqu’il s’est arrêté.
La valeur de pingCtlAdminStatus
reste jusqu’à enabled
ce que vous la définissiez sur disabled
. Ainsi, pour obtenir le statut du test, vous devez examiner pingResultsOperStatus
.
La pingCtlFrequency
variable peut être utilisée pour planifier plusieurs tests pour un pingCtlEntry
. Une fois qu’un test se termine normalement (vous n’avez pas arrêté le test) et que le nombre de secondes s’est écoulé, le pingCtlFrequency
test est redémarré comme si vous aviez réglé pingCtlAdminStatus
sur enabled
. Si vous intervenez à tout moment entre des tests répétés (vous définissez pingCtlAdminStatus
sur ou pingCtlRowStatus
sur disabled
notInService
), la fonction de répétition est désactivée jusqu’à ce qu’un autre test soit démarré et se termine normalement. La valeur 0 pour pingCtlFrequency
indique que cette fonction de répétition n’est pas active.
pingResultsIpTgtAddr
et pingResultsIpTgtAddrType
sont définies sur la valeur de l’adresse de destination résolue lorsque la valeur de dns
pingCtlTargetAddressType
est . Lorsqu’un test démarre avec succès et pingResultsOperStatus
passe à enabled
:
pingResultsIpTgtAddr
est défini surnull-string
.pingResultsIpTgtAddrType
est défini surunknown
.
pingResultsIpTgtAddr
et pingResultsIpTgtAddrType
ne sont pas définies tant qu’elles n’ont pingCtlTargetAddress
pas été résolues en une adresse numérique. Pour récupérer ces valeurs, interrogez pingResultsIpTgtAddrType
toute valeur autre qu’après unknown
avoir défini pingCtlAdminStatus
avec succès la valeur .enabled
Au début d’un test, pingResultsSentProbes
est initialisé à 1 et la première sonde est envoyée. augmente de 1 à chaque fois qu’une sonde est envoyée. pingResultsSentProbes
Au fur et à mesure que le test s’exécute, toutes les secondes, les pingCtlTimeOut
événements suivants se produisent :
pingProbeHistoryStatus
car l’inpingProbeHistoryTable
correspondantpingProbeHistoryEntry
est défini surrequestTimedOut
.Un
pingProbeFailed
piège est généré, si nécessaire.Une tentative est faite pour envoyer la sonde suivante.
REMARQUE :Il n’existe pas plus d’une sonde en suspens pour chaque test.
Pour chaque sonde, vous pouvez recevoir l’un des résultats suivants :
L’hôte cible accuse réception de la sonde avec une réponse.
La sonde expire ; Il n’y a pas de réponse de l’hôte cible accusant réception de la sonde.
La sonde n’a pas pu être envoyée.
Chaque résultat de sonde est enregistré au format pingProbeHistoryTable
. Pour plus d’informations sur , reportez-vous à pingProbeHistoryTable
la section pingProbeHistoryTable.
Lorsqu’une réponse est reçue de l’hôte cible accusant réception de la sonde en cours :
pingResultsProbeResponses
augmente de 1.Les variables suivantes sont mises à jour :
pingResultsMinRtt
—Temps minimum d’aller-retourpingResultsMaxRtt
—Temps d’aller-retour maximalpingResultsAverageRtt
—Temps moyen aller-retourpingResultsRttSumOfSquares
—Somme des carrés des temps d’aller-retourpingResultsLastGoodProbe
—Horodatage de la dernière réponseREMARQUE :Seules les sondes qui génèrent une réponse de l’hôte cible contribuent au calcul des variables de temps d’aller-retour (RTT).
Lorsqu’une réponse à la dernière sonde est reçue ou que la dernière sonde a expiré, le test est terminé.
pingProbeHistoryTable
Une entrée dans pingProbeHistoryTable
(pingProbeHistoryEntry
) représente un résultat de sonde et est indexée par trois variables :
Les deux premières variables, et
pingCtlTestName
, sont les mêmes que celles utilisées pourpingCtlTable
,pingCtlOwnerIndex
qui identifie le test.La troisième variable, ,
pingProbeHistoryIndex
est un compteur permettant d’identifier de manière unique chaque résultat de sonde.
Le nombre maximum d’entrées pingProbeHistoryTable
créées pour un test donné est limité par pingCtlMaxRows
. Si pingCtlMaxRows
est défini sur 0, aucune entrée n’est pingProbeHistoryTable
créée pour ce test.
Chaque fois qu’un résultat de sonde est déterminé, un est créé et ajouté à . du nouveau pingProbeHistoryEntry
est supérieur de 1 au dernier pingProbeHistoryEntry
ajouté à pingProbeHistoryTable
pingProbeHistoryTable
pour ce test. est pingProbeHistoryEntry
défini sur 1 s’il s’agit de la première entrée de la table. pingProbeHistoryIndex
pingProbeHistoryIndex
Le même test peut être exécuté plusieurs fois, de sorte que cet indice ne cesse de croître.
Si pingProbeHistoryIndex
le dernier pingProbeHistoryEntry
ajout est 0xFFFFFFFF, le suivant pingProbeHistoryEntry
ajouté est pingProbeHistoryIndex
défini sur 1.
Les éléments suivants sont enregistrés pour chaque résultat de sonde :
pingProbeHistoryResponse
—Temps de vie (TTL)pingProbeHistoryStatus
—Que s’est-il passé et pourquoi ?pingProbeHistoryLastRC
: valeur du code de retour (RC) du paquet ICMPpingProbeHistoryTime
: horodatage lorsque le résultat de la sonde a été déterminé
Lorsqu’une sonde ne peut pas être envoyée, pingProbeHistoryResponse
prend la valeur 0. Lorsqu’une sonde expire, pingProbeHistoryResponse
correspond à la différence entre le moment où l’on a découvert que la sonde avait expiré et l’heure à laquelle la sonde a été envoyée.
Générer des pièges
Pour qu’une interruption soit générée, le bit approprié doit pingCtlTrapGeneration
être défini. Vous devez également configurer un groupe d’interruptions pour recevoir des opérations à distance. Une interruption est générée dans les conditions suivantes :
Une
pingProbeFailed
interruption est générée chaque fois qu’unpingCtlTrapProbeFailureFilter
nombre de sondes consécutives échouent pendant le test.Une
pingTestFailed
interruption est générée lorsque le test est terminé et qu’au moinspingCtlTrapTestFailureFilter
un certain nombre de sondes échouent.Une
pingTestCompleted
interruption est générée à la fin du test et moins depingCtlTrapTestFailureFilter
sondes échouent.REMARQUE :Une sonde est considérée comme une défaillance lorsque
pingProbeHistoryStatus
le résultat de la sonde est autre chose queresponseReceived
.
Pour plus d’informations sur la configuration d’un groupe d’interruptions pour recevoir des opérations à distance, reportez-vous à la section Configuration des groupes d’interruptions SNMP et exemple : Définition d’une notification d’interruption pour les opérations à distance.
Recueillir les résultats des tests Ping
Vous pouvez soit interroger pingResultsOperStatus
pour savoir quand le test est terminé, soit demander qu’une interruption soit envoyée lorsque le test est terminé. Pour plus d’informations sur pingResultsOperStatus
, consultez pingResultsTable. Pour plus d’informations sur les interruptions MIB ping, consultez Génération d’interruptions.
Les statistiques calculées puis stockées sont pingResultsTable
les suivantes :
pingResultsMinRtt
—Temps minimum d’aller-retourpingResultsMaxRtt
—Temps d’aller-retour maximalpingResultsAverageRtt
—Temps moyen aller-retourpingResultsProbeResponses
—Nombre de réponses reçuespingResultsSentProbes
: nombre de tentatives d’envoi de sondespingResultsRttSumOfSquares
—Somme des carrés des temps d’aller-retourpingResultsLastGoodProbe
—Horodatage de la dernière réponse
Vous pouvez également consulter pingProbeHistoryTable
pour obtenir des informations plus détaillées sur chaque sonde. L’index utilisé pour pingProbeHistoryTable
commence à 1, passe à 0xFFFFFFFF et s’enroule à nouveau à 1.
Par exemple, si pingCtlProbeCount
est égal à 15 et vaut 5, alors, à pingCtlMaxRows
la fin de la première exécution de ce test, pingProbeHistoryTable
contient des sondes comme celles Tableau 1de .
pingProbeHistoryIndex |
Résultat de la sonde |
---|---|
11 |
Résultat de la 11ème sonde de l’essai 1 |
12 |
Résultat de la 12ème sonde de l’essai 1 |
13 |
Résultat de la 13ème sonde de l’essai 1 |
14 |
Résultat de la 14ème sonde de l’essai 1 |
15 |
Résultat de la 15ème sonde de l’essai 1 |
À l’issue de la première sonde de la deuxième série de ce test, pingProbeHistoryTable
contiendra des sondes similaires à Tableau 2celles de .
pingProbeHistoryIndex |
Résultat de la sonde |
---|---|
12 |
Résultat de la 12ème sonde de l’essai 1 |
13 |
Résultat de la 13ème sonde de l’essai 1 |
14 |
Résultat de la 14ème sonde de l’essai 1 |
15 |
Résultat de la 15ème sonde de l’essai 1 |
16 |
Résultat de la 1ère sonde de l’essai 2 |
À l’issue de la deuxième exécution de ce test, pingProbeHistoryTable
contiendra des sondes semblables à celles Tableau 3de .
pingProbeHistoryIndex |
Résultat de la sonde |
---|---|
26 |
Résultat de la 11ème sonde de la 2ème série |
27 |
Résultat de la 12ème sonde de l’essai 2 |
28 |
Résultat de la 13ème sonde de l’essai 2 |
29 |
Résultat de la 14ème sonde de l’essai 2 |
30 |
Résultat de la 15ème sonde de l’essai 2 |
Les entrées d’historique peuvent être supprimées de la MIB de deux manières :
Plus d’entrées d’historique pour un test donné sont ajoutées et le nombre d’entrées d’historique dépasse
pingCtlMaxRows
. Les entrées d’historique les plus anciennes sont supprimées pour faire place aux nouvelles.Vous supprimez l’intégralité du test en définissant
pingCtlRowStatus
surdestroy
.
Arrêter un test ping
Pour arrêter un test actif, définissez pingCtlAdminStatus
la valeur disabled
sur . Pour arrêter le test et supprimer son , ainsi que tous les pingCtlEntry
pingHistoryEntry
objets de la MIB, pingResultsEntry
définissez pingCtlRowStatus
la valeur destroy
.
Interpréter les variables ping
Cette section clarifie les plages pour les variables suivantes qui ne sont pas explicitement spécifiées dans la base de données MIB Ping :
pingCtlDataSize
: la valeur de cette variable représente la taille totale de la charge utile (en octets) d’un paquet de sonde sortant. Cette charge utile inclut l’horodatage (8 octets) utilisé pour chronométrer la sonde. Ceci est cohérent avec la définition de (valeur maximale depingCtlDataSize
65 507) et l’application ping standard.Si la valeur de est comprise entre 0 et 8 inclus, elle est ignorée et la charge utile est de
pingCtlDataSize
8 octets (horodatage). La MIB Ping suppose que toutes les sondes sont temporisées, de sorte que la charge utile doit toujours inclure l’horodatage.Par exemple, si vous souhaitez ajouter 4 octets supplémentaires de charge utile au paquet, vous devez définir
pingCtlDataSize
sur 12.pingCtlDataFill
—Les 8 premiers octets du segment de données du paquet correspondent à l’horodatage. Après cela, le motif est utilisé dans lapingCtlDataFill
répétition. Le modèle par défaut (lorsqu’ilpingCtlDataFill
n’est pas spécifié) est (00, 01, 02, 03 ... FF, 00, 01, 02, 03 ... FF, ...).pingCtlMaxRows
—La valeur maximale est 255.pingMaxConcurrentRequests
: la valeur maximale est 500.pingCtlTrapProbeFailureFilter
etpingCtlTrapTestFailureFilter
—Une valeur de 0 pourpingCtlTrapProbeFailureFilter
oupingCtlTrapTestFailureFilter
n’est pas bien définie par la MIB Ping. SipingCtlTrapProbeFailureFilter
vaut 0,pingProbeFailed
les interruptions ne seront en aucun cas générées pour le test. SipingCtlTrapTestFailureFilter
vaut 0,pingTestFailed
les interruptions ne seront en aucun cas générées pour le test.
Utiliser la base de données MIB Traceroute pour les équipements de surveillance à distance exécutant Junos OS
Un test de traceroute approxime le chemin emprunté par les paquets de l’hôte local à l’hôte distant.
La RFC 2925 est la description détaillée et officielle de la MIB Traceroute et fournit la définition ASN.1 de la MIB Traceroute.
Démarrer un test Traceroute
Avant de commencer un test traceroute, configurez une vue MIB Traceroute. Cela autorise les requêtes SNMP Set
sur tracerouteMIB
. Pour démarrer un test, créez une ligne dans traceRouteCtlTable
et définissez-la traceRouteCtlAdminStatus
sur enabled
. Vous devez spécifier au moins les éléments suivants avant de définir traceRouteCtlAdminStatus
enabled
sur :
traceRouteCtlOwnerIndexSnmpAdminString
traceRouteCtlTestNameSnmpAdminString
traceRouteCtlTargetAddressInetAddress
traceRouteCtlRowStatusRowStatus
Pour toutes les autres valeurs, les valeurs par défaut sont choisies, sauf indication contraire. traceRouteCtlOwnerIndex
et traceRouteCtlTestName
sont utilisés comme indice, de sorte que leurs valeurs sont spécifiées dans le cadre de l’OID. Pour créer une ligne, définissez traceRouteCtlRowStatus
sur ou createAndGo
sur createAndWait
une ligne qui n’existe pas déjà. La valeur for active
traceRouteCtlRowStatus
indique que toutes les informations nécessaires ont été spécifiées et que le test peut commencer ; traceRouteCtlAdminStatus
elle peut être définie sur enabled
. Une requête SNMP Set
définie traceRouteCtlRowStatus
sur active
échoue si les informations nécessaires dans la ligne ne sont pas spécifiées ou sont incohérentes. Pour plus d’informations sur la configuration d’une vue, reportez-vous à la section Définition des vues SNMP.
Il existe deux façons de démarrer un test traceroute :
Utiliser plusieurs PDU
Vous pouvez utiliser plusieurs PDU de requête (plusieurs PDU, avec un ou plusieurs Set
varbinds chacun) et définir les variables suivantes dans cet ordre pour démarrer le test :
traceRouteCtlRowStatus
pour créeretattendreToutes les variables de test appropriées
traceRouteCtlRowStatus
Àactive
Junos OS vérifie maintenant que toutes les informations nécessaires à l’exécution d’un test ont été spécifiées.
traceRouteCtlAdminStatus
Àenabled
Utilisation d’une seule unité de distribution d’alimentation
Vous pouvez utiliser une seule Set
PDU de requête (une PDU, avec plusieurs varbinds) pour définir les variables suivantes afin de démarrer le test :
traceRouteCtlRowStatus
ÀcreateAndGo
Toutes les variables de test appropriées
traceRouteCtlAdminStatus
à activé
Surveiller un test traceroute en cours d’exécution
Lorsque traceRouteCtlAdminStatus est correctement défini sur activé, procédez comme suit avant que l’accusé de réception de la demande SNMP Set ne soit renvoyé au client :
traceRouteResultsEntry est créée si elle n’existe pas déjà.
traceRouteResultsOperStatus passe à activé.
Pour plus d’informations, consultez les sections suivantes :
traceRouteResultsTable
Pendant l’exécution du test, ce traceRouteResultsTable effectue le suivi de l’état du test. La valeur de traceRouteResultsOperStatus est activée pendant l’exécution du test et désactivée lorsqu’il s’arrête.
La valeur de traceRouteCtlAdminStatus reste activée jusqu’à ce que vous la définissiez sur désactivé. Par conséquent, pour obtenir l’état du test, vous devez examiner traceRouteResultsOperStatus.
La variable traceRouteCtlFrequency peut être utilisée pour planifier de nombreux tests pour une traceRouteCtlEntry. Une fois qu’un test se termine normalement (vous n’avez pas arrêté le test) et que le nombre de secondes traceRouteCtlFrequency s’est écoulé, le test est redémarré comme si vous aviez défini traceRouteCtlAdminStatus sur enabled. Si vous intervenez à tout moment entre des tests répétés (vous définissez traceRouteCtlAdminStatus sur disabled ou traceRouteCtlRowStatus sur notInService), la fonctionnalité de répétition est désactivée jusqu’à ce qu’un autre test soit démarré et se termine normalement. La valeur 0 pour traceRouteCtlFrequency indique que cette entité de répétition n’est pas active.
traceRouteResultsIpTgtAddr et traceRouteResultsIpTgtAddrType sont définis sur la valeur de l’adresse de destination résolue lorsque la valeur de traceRouteCtlTargetAddressType est dns. Lorsqu’un test démarre correctement et que traceRouteResultsOperStatus passe à activé :
traceRouteResultsIpTgtAddr est défini sur null-string.
traceRouteResultsIpTgtAddrType est défini sur unknown.
traceRouteResultsIpTgtAddr et traceRouteResultsIpTgtAddrType ne sont pas définis tant que traceRouteCtlTargetAddress ne peut pas être résolu en adresse numérique. Pour récupérer ces valeurs, interrogez traceRouteResultsIpTgtAddrType pour toute valeur autre que unknown après avoir défini traceRouteCtlAdminStatus sur enabled.
Au début d’un test, traceRouteResultsCurHopCount est initialisé à traceRouteCtlInitialTtl et traceRouteResultsCurProbeCount est initialisé à 1. Chaque fois qu’un résultat de sonde est déterminé, traceRouteResultsCurProbeCount augmente de 1. Pendant l’exécution du test, la valeur de traceRouteResultsCurProbeCount reflète la sonde en attente actuelle pour laquelle les résultats n’ont pas encore été déterminés.
Le nombre de sondes traceRouteCtlProbesPerHop est envoyé pour chaque valeur de durée de vie (TTL). Lorsque le résultat de la dernière sonde pour le saut actuel est déterminé, à condition que le saut actuel ne soit pas le saut de destination, traceRouteResultsCurHopCount augmente de 1 et traceRouteResultsCurProbeCount est réinitialisé à 1.
Au début d’un test, s’il s’agit de la première fois que ce test est exécuté pour ce traceRouteCtlEntry, traceRouteResultsTestAttempts et traceRouteResultsTestSuccesses sont initialisés à 0.
À la fin de chaque exécution de test, traceRouteResultsOperStatus passe à désactivé et traceRouteResultsTestAttempts augmente de 1. Si le test a réussi à déterminer le chemin d’accès complet à la cible, traceRouteResultsTestSuccesses augmente de 1 et traceRouteResultsLastGoodPath est défini sur l’heure actuelle.
traceRouteProbeResultsTable
Chaque entrée de traceRouteProbeHistoryTable est indexée par cinq variables :
Les deux premières variables, traceRouteCtlOwnerIndex et traceRouteCtlTestName, sont les mêmes que celles utilisées pour traceRouteCtlTable et pour identifier le test.
La troisième variable, traceRouteProbeHistoryIndex, est un compteur, commençant à partir de 1 et s’encapsulant à FFFFFFFF. Le nombre maximal d’entrées est limité par traceRouteCtlMaxRows.
La quatrième variable, traceRouteProbeHistoryHopIndex, indique à quel saut cette sonde est destinée (la durée de vie réelle ou la valeur TTL). Ainsi, le premier nombre d’entrées traceRouteCtlProbesPerHop créé au démarrage d’un test a la valeur traceRouteCtlInitialTtl pour traceRouteProbeHistoryHopIndex.
La cinquième variable, traceRouteProbeHistoryProbeIndex, est la sonde du saut actuel. Il est compris entre 1 et traceRouteCtlProbesPerHop.
Pendant qu’un test est en cours d’exécution, dès qu’un résultat de sonde est déterminé, la sonde suivante est envoyée. Un maximum de secondes traceRouteCtlTimeOut s’écoule avant qu’une sonde ne soit marquée avec l’état requestTimedOut et que la sonde suivante ne soit envoyée. Il n’y a jamais plus d’une sonde en suspens par test de traceroute. Tout résultat de sonde qui revient après l’expiration d’une sonde est ignoré.
Chaque sonde peut :
Résultat d’une réponse d’un hôte accusant réception de la sonde
Délai d’attente sans réponse de l’hôte accusant réception de la sonde
Échec de l’envoi
Chaque état de sonde est enregistré dans traceRouteProbeHistoryTable avec traceRouteProbeHistoryStatus défini en conséquence.
Les sondes qui génèrent une réponse d’un hôte enregistrent les données suivantes :
traceRouteProbeHistoryResponse : temps d’aller-retour (RTT)
traceRouteProbeHistoryHAddrType : type de HAddr (argument suivant)
traceRouteProbeHistoryHAddr : adresse du saut
Toutes les sondes, qu’elles aient reçu ou non une réponse, ont les éléments suivants enregistrés :
traceRouteProbeHistoryStatus : ce qui s’est passé et pourquoi
traceRouteProbeHistoryLastRC : valeur du code de retour (RC) du paquet ICMP
traceRouteProbeHistoryTime : horodatage du résultat de la sonde
Lorsqu’une sonde ne peut pas être envoyée, traceRouteProbeHistoryResponse prend la valeur 0. Lorsqu’une sonde expire, traceRouteProbeHistoryResponse est défini sur la différence entre l’heure à laquelle la sonde a expiré et l’heure à laquelle la sonde a été envoyée.
traceRouteHopsTable
Les entrées de traceRouteHopsTable sont indexées par trois variables :
Les deux premiers, traceRouteCtlOwnerIndex et traceRouteCtlTestName, sont les mêmes que ceux utilisés pour traceRouteCtlTable et identifient le test.
La troisième variable, traceRouteHopsHopIndex, indique le saut actuel, qui commence à 1 (et non traceRouteCtlInitialTtl).
Lorsqu’un test démarre, toutes les entrées de traceRouteHopsTable avec traceRouteCtlOwnerIndex et traceRouteCtlTestName sont supprimées. Les entrées de cette table ne sont créées que si traceRouteCtlCreateHopsEntries a la valeur true.
Une nouvelle traceRouteHopsEntry est créée chaque fois que le premier résultat de la sonde pour un TTL donné est déterminé. La nouvelle entrée est créée, que la première sonde atteigne ou non un hôte. La valeur de traceRouteHopsHopIndex est augmentée de 1 pour cette nouvelle entrée.
Tout traceRouteHopsEntry peut ne pas avoir de valeur pour traceRouteHopsIpTgtAddress s’il n’y a pas de réponses aux sondes avec le TTL donné.
Chaque fois qu’une sonde atteint un hôte, l’adresse IP de cet hôte est disponible dans le résultat de la sonde. Si la valeur de traceRouteHopsIpTgtAddress de la traceRouteHopsEntry actuelle n’est pas définie, la valeur de traceRouteHopsIpTgtAddress est définie sur cette adresse IP. Si la valeur de traceRouteHopsIpTgtAddress de la traceRouteHopsEntry actuelle est identique à l’adresse IP, la valeur ne change pas. Si la valeur de traceRouteHopsIpTgtAddress de la traceRouteHopsEntry actuelle est différente de cette adresse IP, indiquant un changement de chemin, une nouvelle traceRouteHopsEntry est créée avec :
Variable traceRouteHopsHopIndex augmentée de 1
traceRouteHopsIpTgtAddress défini sur l’adresse IP
REMARQUE :Une nouvelle entrée pour un test est ajoutée à traceRouteHopsTable chaque fois qu’une nouvelle valeur TTL est utilisée ou que le chemin d’accès change. Ainsi, le nombre d’entrées pour un test peut dépasser le nombre de valeurs TTL différentes utilisées.
Lorsqu’un résultat de sonde est déterminé, la valeur traceRouteHopsSentProbes de la traceRouteHopsEntry actuelle augmente de 1. Lorsqu’un résultat de sonde est déterminé et que la sonde atteint un hôte :
La valeur traceRouteHopsProbeResponses de la traceRouteHopsEntry actuelle est augmentée de 1.
Les variables suivantes sont mises à jour :
traceRouteResultsMinRtt—Temps d’aller-retour minimal
traceRouteResultsMaxRtt : durée d’aller-retour maximale
traceRouteResultsAverageRtt : temps d’aller-retour moyen
traceRouteResultsRttSumOfSquares : somme des carrés des temps d’aller-retour
traceRouteResultsLastGoodProbe : horodatage de la dernière réponse
REMARQUE :Seules les sondes qui atteignent un hôte affectent les valeurs de temps d’aller-retour.
Générer des pièges
Pour générer une interruption, un bit approprié de traceRouteCtlTrapGeneration doit être défini. Vous devez également configurer un groupe d’interruptions pour recevoir des opérations à distance. Les interruptions sont générées dans les conditions suivantes :
traceRouteHopsIpTgtAddress de la sonde actuelle est différente de la dernière sonde avec la même valeur TTL (traceRoutePathChange).
Un chemin d’accès à la cible n’a pas pu être déterminé (traceRouteTestFailed).
Un chemin d’accès à la cible a été déterminé (traceRouteTestCompleted).
Pour plus d’informations sur la configuration d’un groupe d’interruptions pour recevoir des opérations à distance, reportez-vous aux sections Configuration des groupes d’interruptions SNMP et Présentation des opérations à distance SNMP.
Surveiller l’achèvement des tests Traceroute
Lorsqu’un test est terminé, traceRouteResultsOperStatus
il passe de enabled
à disabled
. Cette transition se produit dans les situations suivantes :
Le test se termine avec succès. Le résultat de la sonde indique que la destination a été atteinte. Dans ce cas, le saut actuel est le dernier saut. Le reste des sondes pour ce saut sont envoyées. Lorsque le dernier résultat de la sonde pour le saut actuel est déterminé, le test se termine.
traceRouteCtlMaxTtl
est dépassé. La destination n’est jamais atteinte. Le test se termine une fois que le nombre de sondes dont la valeur TTL est égale àtraceRouteCtlMaxttl
a été envoyé.traceRouteCtlMaxFailures
est dépassé. Le nombre de sondes consécutives qui se terminent par l’étatrequestTimedOut
dépassetraceRouteCtlMaxFailures
.Vous mettez fin au test. Vous définissez
traceRouteCtlAdminStatus
ou supprimez la ligne en définissantdestroy
traceRouteCtlRowStatus
surdisabled
.Vous avez mal configuré le test traceroute. Une valeur ou une variable que vous avez spécifiée est
traceRouteCtlTable
incorrecte et ne permet pas l’envoi d’une seule sonde. En raison de la nature des données, cette erreur n’a pas pu être déterminée avant le début de l’essai ; c’est-à-dire jusqu’à ce qu’iltraceRouteResultsOperStatus
soit passé àenabled
. Lorsque cela se produit, une entrée est ajoutée avectraceRouteProbeHistoryTable
traceRouteProbeHistoryStatus
le code d’erreur approprié.
Si traceRouteCtlTrapGeneration
est correctement défini, l’interruption traceRouteTestFailed
ou traceRouteTestCompleted
est générée.
Recueillir les résultats des tests Traceroute
Vous pouvez interroger traceRouteResultsOperStatus pour savoir quand le test est terminé ou demander l’envoi d’une interruption lorsque le test est terminé. Pour plus d’informations sur traceResultsOperStatus, consultez traceRouteResultsTable. Pour plus d’informations sur les interruptions MIB Traceroute, reportez-vous à la section Génération d’interruptions dans Surveillance d’un test Traceroute en cours d’exécution.
Les statistiques sont calculées par saut, puis stockées dans traceRouteHopsTable. Ils comprennent les éléments suivants pour chaque saut :
traceRouteHopsIpTgtAddressType : type d’adresse de l’hôte sur ce tronçon
traceRouteHopsIpTgtAddress : adresse de l’hôte à ce saut
traceRouteHopsMinRtt—Temps d’aller-retour minimal
traceRouteHopsMaxRtt : durée d’aller-retour maximale
traceRouteHopsAverageRtt : durée moyenne d’aller-retour
traceRouteHopsRttSumOfSquares : somme des carrés des temps d’aller-retour
traceRouteHopsSentProbes : nombre de tentatives d’envoi de sondes
traceRouteHopsProbeResponses : nombre de réponses reçues
traceRouteHopsLastGoodProbe : horodatage de la dernière réponse
Vous pouvez également consulter traceRouteProbeHistoryTable pour obtenir des informations plus détaillées sur chaque sonde. L’index utilisé pour traceRouteProbeHistoryTable commence à 1, passe à 0xFFFFFFFF et retourne à 1.
Par exemple, supposons ce qui suit :
traceRouteCtlMaxRows est égal à 10.
traceRouteCtlProbesPerHop a la valeur 5.
Il y a huit sauts vers la cible (la cible étant le numéro huit).
Chaque sonde envoyée entraîne une réponse d’un hôte (le nombre de sondes envoyées n’est pas limité par traceRouteCtlMaxFailures).
Dans ce test, 40 sondes sont envoyées. À la fin du test, traceRouteProbeHistoryTable aurait un historique de sondes comme celles Tableau 4de .
HistoryIndex (Index de l’histoire) |
HistoryHopIndex |
HistoryProbeIndex |
---|---|---|
31 |
7 |
1 |
32 |
7 |
2 |
33 |
7 |
3 |
34 |
7 |
4 |
35 |
7 |
5 |
36 |
8 |
1 |
37 |
8 |
2 |
38 |
8 |
3 |
39 |
8 |
4 |
40 |
8 |
5 |
Arrêter un test Traceroute
Pour arrêter un test actif, définissez traceRouteCtlAdminStatus
la valeur disabled
sur . Pour arrêter un test et supprimer ses , , traceRouteProbeHistoryEntry
traceRouteResultsEntry
et traceRouteProbeHistoryEntry
ses objets de la MIB, définissez traceRouteCtlRowStatus
la traceRouteCtlEntry
valeur destroy
sur .
Interpréter les variables Traceroute
Cette rubrique contient des informations sur les plages des variables suivantes qui ne sont pas explicitement spécifiées dans la base de données MIB Traceroute :
traceRouteCtlMaxRows
—La valeur maximale detraceRouteCtlMaxRows
est 2550. Cela représente le TTL maximum (255) multiplié par le maximum pourtraceRouteCtlProbesPerHop
(10). Par conséquent, letraceRouteProbeHistoryTable
accepte un test complet aux valeurs maximales pour untraceRouteCtlEntry
. Habituellement, les valeurs maximales ne sont pas utilisées et le est capable d’accueillirtraceRouteProbeHistoryTable
l’historique complet de nombreux tests pour la même chosetraceRouteCtlEntry
.traceRouteMaxConcurrentRequests
: la valeur maximale est 50. Si un test est en cours d’exécution, il a une sonde en attente.traceRouteMaxConcurrentRequests
représente le nombre maximal de tests traceroute dont la valeur esttraceRouteResultsOperStatus
.enabled
Toute tentative de démarrage d’un test avectraceRouteMaxConcurrentRequests
des tests en cours d’exécution entraînera la création d’une sonde avectraceRouteProbeHistoryStatus
défini surmaxConcurrentLimitReached
et ce test se terminera immédiatement.traceRouteCtlTable
—Le nombre maximal d’entrées autorisées dans cette table est de 100. Toute tentative de création d’une 101e entrée entraînera l’affichage d’un message pour SNMPv1 et d’unBAD_VALUE
RESOURCE_UNAVAILABLE
message pour SNMPv2.
Tableau de l'historique des modifications
La prise en charge des fonctionnalités est déterminée par la plateforme et la version que vous utilisez. Utilisez l' Feature Explorer pour déterminer si une fonctionnalité est prise en charge sur votre plateforme.