Introduction
Ce document décrit comment configurer et comprendre les déroutements SNMP (Simple Network Management Protocol) afin de surveiller Cisco ISE.
Conditions préalables
Exigences
Cisco vous recommande d'avoir connaissance des sujets suivants :
- Linux de base
- SNMP
- Identity Services Engine (ISE)
Composants utilisés
Les informations contenues dans ce document sont basées sur les versions de matériel et de logiciel suivantes :
- Cisco ISE, version 3.1
- Serveur RHEL 7
The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. Si votre réseau est en ligne, assurez-vous de bien comprendre l’incidence possible des commandes.
Informations générales
Les déroutements SNMP sont des messages UDP envoyés par un périphérique SNMP à un serveur MIB distant. ISE peut être configuré pour envoyer des déroutements à un serveur SNMP afin de surveiller et de dépanner. Ce document vise à familiariser certains contrôles de base pour isoler les problèmes et comprendre les limites des pièges ISE.
Configuration
ISE prend en charge SNMP v1, v2 et v3. Vérifiez si SNMP est activé sur l'interface de ligne de commande ISE et le reste de la configuration.
Par exemple, SNMP v3 :
sotumu24/admin# conf t
Enter configuration commands, one per line. End with CNTL/Z.
sotumu24/admin(config)# snmp-server enable
sotumu24/admin(config)# snmp-server trap dskThresholdLimit "75"
sotumu24/admin(config)# snmp-server community SNMP$tring ro
sotumu24/admin(config)# snmp-server user SNMPUSER v3 plain authpasswd privpasswd
sotumu24/admin(config)# snmp-server host 10.127.197.81 version 3 SNMPUSER 0x474b49494c49464e474943 plain authpasswd privpasswd
>> The SNMP server might require the engineID if version 3 is being used and it can be dervied from the output of the command here :
sotumu24/admin# show snmp-server engineID
Local SNMP EngineID: GKIILIFNGIC
>> This is the same as ISE Serial number, need not be configured.
sotumu24/admin# sh udi
SPID: ISE-VM-K9
VPID: V01
Serial: GKIILIFNGIC
Ports et accessibilité
Le serveur distant doit être en mesure d'atteindre l'ISE afin d'interroger les déroutements si nécessaire. Assurez-vous qu'ISE autorise le serveur SNMP en accès IP (si configuré).
Vérifiez si le port 161 est ouvert sur l'interface de ligne de commande ISE :
sotumu24/admin# sh ports | in 161
udp: 0.0.0.0:25087, 0.0.0.0:161
--
tcp: 169.254.0.228:49, 10.127.197.81:49, 169.254.0.228:50, 10.127.197.81:50
, 169.254.0.228:51, 10.127.197.81:51, 169.254.0.228:52, 10.127.197.81:52, 127.0.
0.1:8888, 10.127.197.81:8443, :::443, 10.127.197.81:8444, 10.127.197.81:8445, ::
:9085, 10.127.197.81:8446, :::19231, :::9090, 127.0.0.1:2020, :::9060, :::9061,
:::8905, :::8009, :::5514, :::9002, :::1099, :::8910, :::61616, :::80, :::9080
Journaux
Si le démon du service SNMP est bloqué ou ne peut pas redémarrer, les erreurs sont visibles dans le fichier journal des messages.
2020-04-27T12:28:45.326652+05:30 sotumu24 su: (to oracle) root on none
2020-04-27T12:29:48.391712+05:30 sotumu24 snmpd[81079]: Received TERM or STOP signal... shutting down...
2020-04-27T12:29:48.590240+05:30 sotumu24 snmpd[47597]: NET-SNMP version 5.7.2
2020-04-27T12:30:29.319929+05:30 sotumu24 rsyslogd: [origin software="rsyslogd" swVersion="7.4.7" x-pid="20126" x-info="http://www.rsyslog.com"] rsyslogd was HUPed
Interruptions et requêtes
Déroutements SNMP génériques générés par défaut dans Cisco ISE :
ISE ne dispose pas de MIB pour l'état des processus ou l'utilisation des disques. Cisco ISE utilise OID HOST-RESOURCES-MIB::hrSWRunName
pour les déroutements SNMP. snmp walk
ou snmp get
afin d'interroger l'état du processus ou l'utilisation du disque, ne peut pas être utilisée dans ISE.
Source : Guide d'administration
Au cours des travaux pratiques, le déroutement SNMP a été défini pour se déclencher lorsque l'utilisation du disque dépasse la limite de seuil 75 : sotumu24/admin(config)# snmp-server trap dskThresholdLimit "75"
.
Les données de ce déroutement sont collectées à partir des résultats affichés.
Exécutez ces commandes sur un boîtier LINUX externe ou une console de serveur SNMP :
Linux/admin# snmpwalk -v 3 -l authPriv -u SNMPUSER -a sha -x AES -A "authpasswd" -X "privpasswd" 10.127.197.217 dskPercent >> Gives the percentage of disk utilized. Also works with – hrStorageSize.
UCD-SNMP-MIB::dskPercent.1 = INTEGER: 11
UCD-SNMP-MIB::dskPercent.6 = INTEGER: 0
UCD-SNMP-MIB::dskPercent.8 = INTEGER: 0
UCD-SNMP-MIB::dskPercent.9 = INTEGER: 0
UCD-SNMP-MIB::dskPercent.29 = INTEGER: 0
UCD-SNMP-MIB::dskPercent.30 = INTEGER: 23
UCD-SNMP-MIB::dskPercent.31 = INTEGER: 2
UCD-SNMP-MIB::dskPercent.32 = INTEGER: 5
UCD-SNMP-MIB::dskPercent.33 = INTEGER: 0
UCD-SNMP-MIB::dskPercent.34 = INTEGER: 0
UCD-SNMP-MIB::dskPercent.35 = INTEGER: 0
UCD-SNMP-MIB::dskPercent.36 = INTEGER: 0
UCD-SNMP-MIB::dskPercent.37 = INTEGER: 5
UCD-SNMP-MIB::dskPercent.39 = INTEGER: 0
UCD-SNMP-MIB::dskPercent.41 = INTEGER: 0
UCD-SNMP-MIB::dskPercent.42 = INTEGER: 0
UCD-SNMP-MIB::dskPercent.43 = INTEGER: 0
UCD-SNMP-MIB::dskPercent.44 = INTEGER: 0
Linux/admin# snmpwalk -v 3 -l authPriv -u SNMPUSER -a sha -x AES -A "authpasswd" -X "privpasswd" 10.127.197.217 dskPath >> Gives the list of disk path(s). Also works with – hrStorageDescr.
UCD-SNMP-MIB::dskPath.1 = STRING: /
UCD-SNMP-MIB::dskPath.6 = STRING: /dev/shm
UCD-SNMP-MIB::dskPath.8 = STRING: /run
UCD-SNMP-MIB::dskPath.9 = STRING: /sys/fs/cgroup
UCD-SNMP-MIB::dskPath.29 = STRING: /tmp
UCD-SNMP-MIB::dskPath.30 = STRING: /boot
UCD-SNMP-MIB::dskPath.31 = STRING: /storedconfig
UCD-SNMP-MIB::dskPath.32 = STRING: /opt
UCD-SNMP-MIB::dskPath.33 = STRING: /localdisk
UCD-SNMP-MIB::dskPath.34 = STRING: /run/user/440
UCD-SNMP-MIB::dskPath.35 = STRING: /run/user/301
UCD-SNMP-MIB::dskPath.36 = STRING: /run/user/321
UCD-SNMP-MIB::dskPath.37 = STRING: /opt/docker/runtime/overlay
UCD-SNMP-MIB::dskPath.39 = STRING: /opt/docker/runtime/containers/ae1cef55c92ba90ae6c848bd74c9277c2fb52a48ab781455ec9b1149e4634d2c/shm
UCD-SNMP-MIB::dskPath.41 = STRING: /run/user/0
UCD-SNMP-MIB::dskPath.42 = STRING: /run/user/304
UCD-SNMP-MIB::dskPath.43 = STRING: /run/user/303
UCD-SNMP-MIB::dskPath.44 = STRING: /run/user/322
À partir de ces résultats, l'utilisation du disque est calculée et lorsque la valeur atteint 75, un déroutement SNMP est envoyé à l'hôte SNMP-Server configuré. Il n'existe aucune ressource MIB permettant de calculer et d'afficher directement l'utilisation du disque.
En outre, le processus MIB hrSWRunName
est utilisé pour collecter ces informations (conformément au guide d'administration d'ISE).
Description textuelle de ce logiciel en cours d'exécution, qui inclut le fabricant, la révision et le nom sous lequel il est généralement connu. Si ce logiciel a été installé localement, il doit s'agir de la même chaîne que celle utilisée dans le hrSWInstalledName
qui correspond. Les prestations prises en compte sont : app-server
, rsyslog
, redis-server
, ad-connector
, mnt-collector
, mnt-processor
, ca-server est-server
,et elasticsearch
.
Ressources MIB
L'application ISE est hébergée sur le système d'exploitation RHEL (Linux). Cependant, comme indiqué dans le guide d'administration d'ISE, ISE utilise la base de données MIB Host Resources pour collecter des informations sur les déroutements SNMP. Ce document contient la liste des ressources hôtes MIB pouvant être interrogées :
MIB HÔTE SNMP.
D'après le document, il est possible de déduire qu'il n'existe aucune requête directe capable de calculer et d'afficher les valeurs d'utilisation du processeur, de la mémoire ou du disque. Cependant, les données utilisées pour calculer les sorties sont présentes dans ces tableaux :
hrSWRunPerf
Tableau
hrDiskStorage
Tableau
- Tableau Scalars
Pointeurs supplémentaires sur l'utilisation de la mémoire et des disques
Mémoire utilisée
Afin de calculer la mémoire utilisée, utilisez :
mem_used = kb_main_total - kb_main_free - kb_main_cached - kb_main_buffers;
kb_main_cached = kb_page_cache + kb_slab_reclaimable;
Mémoire libre
Il existe une légère différence entre les valeurs collectées dans le serveur SNMP et le root-bash de l'interface de ligne de commande ISE. L'utilisation de la mémoire a également une différence dans les valeurs dues à la dalle, qui n'est pas prise en compte dans le SNMP, et elle montre la valeur totale.
La mémoire libre est une petite quantité de mémoire qui n'est pas utilisée actuellement et qui entraîne cette différence. Il s'agit de la partie gaspillée de la mémoire que le système ne peut pas utiliser. ISE est hébergé sur un système d'exploitation Linux et utilise toute la mémoire physique qui n'est pas nécessaire aux programmes actuels comme cache de fichiers, pour plus d'efficacité. Cependant, si les programmes ont besoin de cette mémoire physique, le noyau réalloue la mémoire cache du fichier à la première. Par conséquent, la mémoire utilisée par le cache de fichiers est libre mais inutilisée jusqu'à ce qu'elle soit nécessaire à un programme.
Reportez-vous à ce lien :
Explication de la mémoire libre.
Utilisation du disque
De même, jusqu'à 5 % du système de fichiers est réservé à l'utilisateur racine afin de réduire la fragmentation des fichiers. Ce résultat n'apparaît pas dans 'df'.
Par conséquent, on s'attend à ce qu'il y ait une petite différence entre le pourcentage calculé dans le bash racine et le résultat de l'interface de ligne de commande.
La requête SNMP ne tient pas compte de cet espace disque réservé et calcule le résultat en fonction des valeurs affichées dans le tableau.
Pour plus d'informations, référez-vous à Différence dans la sortie df et l'espace disque réservé à la sortie df.