Avez-vous un compte?
Cisco a traduit ce document en traduction automatisée vérifiée par une personne dans le cadre d’un service mondial permettant à nos utilisateurs d’obtenir le contenu d’assistance dans leur propre langue. Il convient cependant de noter que même la meilleure traduction automatisée ne sera pas aussi précise que celle fournie par un traducteur professionnel.
Ce document décrit comment utiliser les outils de dépannage qui sont disponibles en tant qu'élément du déploiement du directeur de réseau de champ (FND). La solution FND est large dans la portée et entoure de nombreuses Technologies et spécialisations diverses. En raison de ceci, il y a de nombreux scripts et outils ligne de commande qui peuvent aider à vérifier le comportement dans une certaine situation ou à diagnostiquer un problème complexe.
Contribué par l'archer de Ryan, ingénieur TAC Cisco.
Cisco recommande que vous ayez une production complètement opérationnelle ou environnement de travaux pratiques avec le routeur enregistré de tête de réseau (ELLE), met en place le routeur de zone et le point final connecté de grille (CGE). Afin de vérifier des statistiques simples du protocole de gestion de CoAP (CSMP) avec getStats.sh vous devez avoir au moins un CGE qui génère le trafic CSMP.
Afin d'utiliser les fichiers localisés dans le répertoire de /opt/cgms-tools/, le paquet rpm de cgms-outils doit être installé sur votre serveur d'applications.
Les informations dans ce document ont été tout recueillies avec l'utilisation de la version 3.0.1-36 FND avec tous les serveurs de Linux installés sur les ordinateurs virtuels exécutant RHEL 6.5.
Les informations contenues dans ce document ont été créées à partir des périphériques d'un environnement de laboratoire spécifique. Tous les périphériques utilisés dans ce document ont démarré avec une configuration effacée (par défaut). Si votre réseau est opérationnel, assurez-vous que vous comprenez l'effet potentiel de toute commande.
Cette section couvre des utilitaires CLI disponibles en tant qu'élément des cgms et des modules de cgms-outils. Le chemin d'installation par défaut pour les cgms RPM est /opt/cgms/and que le chemin d'installation par défaut pour des cgms-outils est /opt/cgms-tools/.
setupCgms.sh (/opt/cgms/bin/setupCgms.sh) :
Après que pour la première fois l'installation du FND ce script devrait être commande exécutée pour configurer des variables nécessaires d'application. Une fois que la production a commencé, vous pouvez encore employer cet utilitaire pour changer des paramètres de configuration essentiels. Avant que vous exécutiez ce script, vous devez arrêter le service de cgms, naviguez vers le répertoire de /opt/cgms/bin/ et exécutez la commande de ./setupCgms.
[root@fnd bin]#./setupCgms.sh Are you sure you want to setup IoT-FND (y/n)? n Do you wish to configure another database server for this IoT-FND ? (y/n)? n Do you want to change the database password (y/n)? n Do you want to change the keystore password (y/n)? n Do you want to change the web application 'root' user password (y/n)? n Do you want to change the FTP settings (y/n)? n Do you want to change router CGDM protocol settings (y/n)? n Do you want to change log file settings)? (y/n)? n
getstats.sh (/opt/cgms/bin/getstats.sh) :
Ce script est destiné pour être exécuté tandis que l'application est en service. Il est extrêmement utile quand vous analysez la représentation avec les batteries équilibrées par chargement et paires actives/de réserve de DB. Chaque métrique de performances est hors de portée de cet article mais voici un résultat témoin quand nous exécutons le script.
Quand vous dépannez des déploiements FND dans une batterie, exécutez ce script sur chaque serveur afin de vérifier que l'Équilibrage de charge fonctionne correctement. Si un des serveurs d'app a un débit de traitement beaucoup plus supérieur CSMP que les autres, alors l'Équilibrage de charge n'est pas configuré probablement inexactement. En outre, quand vous analysez cette sortie, si vous voyez votre augmentation de tailles de file d'attente puis vous savoir il y a un procédé d'étranglement quelque part.
[root@fnd bin]# ./getstats.sh Current Time: 2017-03-08 01:06 ============ events statistics ============== ElapsedTimePrepareForRules (ms):...........................................[ val: 0 ] [ avg: 0.0 ] [ counter: 0 ] [ lastUpdate: never ] ElapsedTimeBatchCommit (ms):...............................................[ val: 0 ] [ avg: 0.0 ] [ counter: 0 ] [ lastUpdate: never ] Events request rate:.......................................................[ val: 0/s over 1 min ] [ avg: 0.0 ] [ counter: 0 ] [ lastUpdate: never ] ElapsedTimeSendToSyslog (ms):..............................................[ val: 0 ] [ avg: 0.0 ] [ counter: 0 ] [ lastUpdate: never ] Batch Commit Size :........................................................[ val: 0 ] [ avg: 0.0 ] [ counter: 0 ] [ lastUpdate: never ] ============================================== ============ metric statistics ============== ElapsedTimePersistBatch (ms):..............................................[ val: 0 ] [ avg: 0.0 ] [ counter: 0 ] [ lastUpdate: never ] ElapsedTimePersistNetElementMetrics (ms):..................................[ val: 0 ] [ avg: 0.0 ] [ counter: 0 ] [ lastUpdate: never ] ElapsedTimeBatchCommit (ms):...............................................[ val: 0 ] [ avg: 0.0 ] [ counter: 0 ] [ lastUpdate: never ] Incoming message rate to Metric Server:....................................[ val: 0/s over 1 min ] [ avg: 0.0 ] [ counter: 0 ] [ lastUpdate: never ] ElapsedTimeFindCurrentMetric (ms):.........................................[ val: 0 ] [ avg: 0.0 ] [ counter: 0 ] [ lastUpdate: never ] ElapsedTimefindCurrentMetricsForNetObject (ms):............................[ val: 0 ] [ avg: 0.0 ] [ counter: 0 ] [ lastUpdate: never ] sendMetricEvents:..........................................................[ val: 0 ] [ avg: 0.0 ] [ counter: 0 ] [ lastUpdate: never ] ElapsedTimePersistNetElementMetric (ms):...................................[ val: 0 ] [ avg: 0.0 ] [ counter: 0 ] [ lastUpdate: never ] ElapsedTimeAddMetricWithoutPropagation (ms):...............................[ val: 0 ] [ avg: 0.0 ] [ counter: 0 ] [ lastUpdate: never ] Rate of message drop at the metric server:.................................[ val: 0/s over 1 min ] [ avg: 0.0 ] [ counter: 0 ] [ lastUpdate: never ] Batch Commit Size :........................................................[ val: 0 ] [ avg: 0.0 ] [ counter: 0 ] [ lastUpdate: never ] ElapsedTimeAddMetricsInBulkWithoutPropagation (ms):........................[ val: 0 ] [ avg: 0.0 ] [ counter: 0 ] [ lastUpdate: never ] ============================================== ============ issues statistics ============== Issues Incoming Rate:......................................................[ val: 0/s over 1 min ] [ avg: 0.0 ] [ counter: 0 ] [ lastUpdate: never ] UpdateEventAndIssues (ms):.................................................[ val: 0 ] [ avg: 0.0 ] [ counter: 0 ] [ lastUpdate: never ] ElapsedTimeBatchCommit (ms):...............................................[ val: 0 ] [ avg: 0.0 ] [ counter: 0 ] [ lastUpdate: never ] Batch Commit Size :........................................................[ val: 0 ] [ avg: 0.0 ] [ counter: 0 ] [ lastUpdate: never ] Issues Processing Rate:....................................................[ val: 0/s over 1 min ] [ avg: 0.0 ] [ counter: 0 ] [ lastUpdate: never ] ============================================== ============ label statistics ============== Label drop rate:...........................................................[ val: 0/s over 1 min ] [ avg: 0.0 ] [ counter: 0 ] [ lastUpdate: never ] ElapsedTimePersistBatch (ms):..............................................[ val: 0 ] [ avg: 0.0 ] [ counter: 0 ] [ lastUpdate: never ] Label processing rate:.....................................................[ val: 0/s over 1 min ] [ avg: 0.0 ] [ counter: 0 ] [ lastUpdate: never ] ElapsedTimeBatchCommit (ms):...............................................[ val: 0 ] [ avg: 0.0 ] [ counter: 0 ] [ lastUpdate: never ] Label request rate:........................................................[ val: 0/s over 1 min ] [ avg: 0.0 ] [ counter: 0 ] [ lastUpdate: never ] Batch Commit Size :........................................................[ val: 0 ] [ avg: 0.0 ] [ counter: 0 ] [ lastUpdate: never ] ============================================== ============ csmp statistics ============== csmpConNotificationRate:...................................................[ val: 0/s over 1 min ] [ avg: 0.0 ] [ counter: 0 ] [ lastUpdate: never ] csmpNonNotificationRate:...................................................[ val: 0/s over 1 min ] [ avg: 0.0 ] [ counter: 0 ] [ lastUpdate: never ] csmpNonQueueSize:..........................................................[ val: 0 ] [ avg: 0.0 ] [ counter: 0 ] [ lastUpdate: never ] csmpNotificationRate:......................................................[ val: 0/s over 1 min ] [ avg: 0.0 ] [ counter: 0 ] [ lastUpdate: never ] csmpDropRate:..............................................................[ val: 0/s over 1 min ] [ avg: 0.0 ] [ counter: 0 ] [ lastUpdate: never ] csmpProcessingRate:........................................................[ val: 0/s over 1 min ] [ avg: 0.0 ] [ counter: 0 ] [ lastUpdate: never ] csmpConQueueSize:..........................................................[ val: 0 ] [ avg: 0.0 ] [ counter: 0 ] [ lastUpdate: never ] ============================================== ============ database connection pool statistics ============== dbConFlushCount:...........................................................[ val: 0 ] [ avg: 0.0 ] [ counter: 0 ] [ lastUpdate: never ] ActiveCount:...............................................................[ val: 13 ] InUseCount:................................................................[ val: 7 ] AvailableCount:............................................................[ val: 243 ] CreatedCount:..............................................................[ val: 13 ] DestroyedCount:............................................................[ val: 0 ]
keytool (/opt/cgms/jre/bin/keytool) :
Il est important de savoir que l'installation FND est livré avec Javas. Vous devez employer l'utilitaire de keytool afin de créer et gérer le cgms_keystore qui doit être convenablement configuré sur le FND et le serveur de mise en service de tunnel (TPS).
Dans quelques environnements, le serveur fait déjà installer Javas et la commande de keytool sera disponible pour n'importe quel utilisateur par l'utilisation de la variable d'environnement $PATH. Si vous utilisez la commande de keytool et trouvez cette erreur puis il y a une autre solution pour vous :
[root@fnd]# keytool -bash: keytool: command not found
Vous pouvez naviguer vers le répertoire de /opt/cgms/jre/bin/ et appeler l'utilitaire de keytool dans ce répertoire par exemple :
[root@fnd ~]# keytool -v -list -keystore /opt/cgms/server/cgms/conf/cgms_keystore -bash: keytool: command not found [root@fnd ~]# cd /opt/cgms/jre/bin/ [root@fnd bin]# ./keytool -v -list -keystore /opt/cgms/server/cgms/conf/cgms_keystore Enter keystore password:
cgdm-client.sh (/opt/cgms-tools/bin/cgdm-client.sh) :
Note: Ce script et d'autres scripts dans le répertoire de /opt/cgms-tools/ sont empaquetés dans le paquet rpm de cgms-outils.
FND emploie Netconf au-dessus de HTTPS afin d'accéder à et communiquer avec le routeur de région de champ (LOIN). Netconf emploie les messages formatés XML afin de fournir un service qui est non seulement fiable et fiable mais qui peut également être facilement décomposé et envoyé à une base de données. Il y a un outil CLI appelé le cgdm-client qui ouvrira une session du gestionnaire de périphériques de grille connectée par manuel (CGDM) à a LOIN de votre choix, exécutera une remote command et enverra le XML reçu dans la réponse de LOIN au stdout dans le COUP.
Si vous exécutez le script sans options, vous serez présenté avec des directives d'utilisation :
[root@fnd bin]# ./cgdm-client ERROR: Please specify an IP address and a command usage: cgdm-client <cgr ip address> <cgdm CLI command> -c <arg> Conf and keystore directory path, default = /opt/cgms/server/cgms/conf -v Verbose mode
Par exemple, permettez-nous disent que vous voulez vérifier que le temps est entièrement synchronisé sur un de vos Routeurs où l'IP de Gestion (la valeur « IP » dans votre fichier .csv) est 192.0.2.1. D'une session de travail sur votre serveur d'applications FND, vous pourriez questionner le temps sur un CGR avec la commande de show clock :
[root@fnd bin]# ./cgdm-client 192.0.2.1 show clock <?xml version="1.0" encoding="ISO-8859-1"?> <nf:rpc-reply xmlns:nf="urn:ietf:params:xml:ns:netconf:base:1.0" xmlns="http://www.cisco.com/nxos:1.0" message-id="1"> <nf:data>15:44:58.092 CST Mon Mar 13 2017 </nf:data> </nf:rpc-reply>
Sur option, vous pouvez spécifier la sortie bavarde avec l'utilisation de l'indicateur « v » dans votre commande. Notez que la sortie bavarde des processus et syntaxe provient de Javas et de Cisco logiciel. Vous ne verrez aucun réseau ou information sur le périphérique supplémentaire dans cette sortie :
[root@fnd bin]# ./cgdm-client -v 192.0.2.1 show clock < output omitted >
csmp-request.sh (/opt/cgms-tools/bin/csmp-request.sh) :
En plus de l'outil LOINTAIN de cgdm-client, il y a un outil pour des points finaux appelés la csmp-demande. De même au script de cgdm-client, ce script te permettra pour questionner les informations de votre CGEs utilisant CSMP. Vous devez juste spécifier l'ipv6 addres du point final de maille et la TLV (valeur de longueur de type) cette vous questionnez sur le périphérique. La liste complète de codes TLV est hors de portée en cet article mais quelques exemples réputés seront affichés ci-dessous. La syntaxe pour le script est :
./csmp-request - TLV-valeur r []
1. Version de firmware de la requête CGE sur un mètre avec IP 2001:db8::1/32
[root@fnd bin]# ./csmp-request -r [2001:db8:0:0:0:0:0:1] 75
2. Disponibilité de requête sur un mètre avec IP 2001:db8::1/32
[root@fnd bin]# ./csmp-request -r [2001:db8:0:0:0:0:0:1] 22
signature-outil (/opt/cgms-tools/bin/signature-tool) :
L'outil de signature est un utility which de Javas te permettra pour chiffrer des mots de passe de clair-test, pour déchiffrer des mots de passe chiffré ou des chaînes et pour imprimer les Certificats SSM_CSMP en texte clair. Cet outil devrait être utilisé pour générer des chaînes de mot de passe chiffré pour vos fichiers .csv de sorte qu'elles ne contiennent pas des mots de passe administrateur en libellé.
Pour visualiser la syntaxe de commande, exécutez le script sans options :
[root@fnd bin]# ./signature-tool usage: signature-tool print signature-tool export <binary|base64> <filename> signature-tool decrypt <keystore> <filename> signature-tool encrypt <keystore> <filename>
Pour imprimer l'utilisation de certificat SSM_CSMP :
[root@fnd bin]# ./signature-tool print
Pour chiffrer un mot de passe administrateur de libellé :
[root@fnd ~]# cd /opt/cgms-tools/bin [root@fnd bin]# pwd /opt/cgms-tools/bin
Créez un nouveau fichier texte qui contient seulement la chaîne/mot de passe appropriés en libellé :
[root@fnd bin]# echo AdminPassword > clear-text-password.txt [root@fnd bin]# cat clear-text-password.txt AdminPassword
[root@fnd bin]# ./signature-tool encrypt /opt/cgms/server/cgms/conf/cgms_keystore clear-text-password.txt Enter alias: cgms Enter password: pXHcF+YxyoJarz4YAqvFVMrLT2I//caHLddiJfrb7k65RmceIJUNlDd2dUPhGyGZTeEfz8beh8tWSGZ4lc66rhAQ9mYNaw2XSPaL8psoK+U0wzHgY068tnc7q17t05CZ5HQh8tWSGZ4lc66rhAQ9mOivj1B3XRKFmkpSXo4ZubeKRJ4NNaGAKFV8cjBJQDWsh7NAXL3x5D62/7w4Mhmftf2XiGlqeWlc66rhAQF+YxyoJarz4YAqvFVMrLT2I//caHLIDYoKoeTVB2SLQXtSZR+dwxYjQsE0hCmBpHv0lDD/l4gg==
Pour déchiffrer une chaîne chiffrée :
[root@fnd bin]# echo pXHcF+YxyoJarz4YAqvFVMrLT2I//caHLddiJfrb7k65RmceIJUNlDd2dUPhGyGZTeEfz8beh8tWSGZ4lc66rhAQ9mYNaw2XSPaL8psoK+U0wzHgY068tnc7q17t05CZ5HQh8tWSGZ4lc66rhAQ9mOivj1B3XRKFmkpSXo4ZubeKRJ4NNaGAKFV8cjBJQDWsh7NAXL3x5D62/7w4Mhmftf2XiGlqeWlc66rhAQF+YxyoJarz4YAqvFVMrLT2I//caHLIDYoKoeTVB2SLQXtSZR+dwxYjQsE0hCmBpHv0lDD/l4gg== > encrypted-password.txt
2.Execute l'outil de signature avec l'utilisation de l'option de déchiffrage, et spécifient de nouveau le chemin précis du fichier de keystore aussi bien que le nom du fichier de .txt qui a le mot de passe chiffré enregistré dans lui.
[root@fnd bin]# ./signature-tool decrypt /opt/cgms/server/cgms/conf/cgms_keystore encrypted-password.txt Enter alias: cgms Enter password: AdminPassword
Juste comme l'ensemble robuste d'outils ligne/d'utilitaires de commande, le FND contient une suite gentille des outils basés par GUI qui peuvent aider vous à analyser et des problèmes de diagnostic avec la base de données. Pour accéder aux outils de DB, le log dans le tableau de bord principal de votre déploiement FND et puis coller /pages/diag/db.seam après la partie de .com de votre URL.
Cette zone a trois onglets : Requête de DB, informations de DB et visualiseur de log. L'onglet de requête de DB vous permettra d'exécuter des requêtes faites sur commande et fournira une liste de toutes les tables si vous cliquez sur en fonction l'exposition tous les Tableaux à la droite du bouton de requête. Par exemple, pour visualiser la couche 1 et état 2 pour toutes les interfaces de périphérique, type CHOISI * DE NET_INTERFACES dans la case de requête SQL et cliquer sur alors en fonction la requête boutonnez. Vous serez donné en liste de toutes SA et interfaces LOINTAINES, leurs adresses MAC, état administratif de la couche 1 et état de lien de la couche 2 pour chaque interface.
Si vous voulez vérifier des configurations de Connexion de la base de données, cliquez sur en fonction l'onglet de l'information de DB de la page db.seam. Ici, vous aurez l'accès en lecture seule à de nombreuses variables de base de données telles que l'URL de connexion, la database username, la version d'Oracle, le numéro de port, le SID et la taille de chaque table. Également répertorié sur ces informations de région de reprise d'instantané de page (FRA) telles que l'espace utilisé par chaque type de fichier stocké sur FRA et combien espace coûte amendable.