简介
本文档介绍如何配置和了解简单网络管理协议(SNMP)陷阱以监控Cisco ISE。
先决条件
要求
Cisco建议您了解以下主题:
- 基本Linux
- SNMP
- 身份服务引擎 (ISE)
使用的组件
本文档中的信息基于以下软件和硬件版本:
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您的网络处于活动状态,请确保您了解所有命令的潜在影响。
背景信息
SNMP陷阱是从启用了SNMP的设备发送到远程MIB服务器的UDP消息。 ISE可以配置为向SNMP服务器发送陷阱,以便进行监控和故障排除。本文档旨在熟悉一些基本检查以隔离问题并了解ISE陷阱的限制。
配置
ISE支持SNMP v1、v2和v3。检查ISE CLI和其余配置上是否启用了SNMP。
例如,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
端口和可达性
远程服务器必须能够访问ISE,以便在需要时查询陷阱。确保ISE允许SNMP服务器进行IP访问(如果已配置)。
检查端口161是否在ISE CLI上打开:
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
日志
如果SNMP服务守护程序停滞或无法重新启动,则会在消息日志文件中看到这些错误。
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
陷阱和查询
默认情况下在Cisco ISE中生成的通用SNMP陷阱:
ISE没有任何MIB用于进程状态或磁盘利用率。思科ISE使用OID HOST-RESOURCES-MIB::hrSWRunName 进行SNMP陷阱。snmp walk或
snmp get命令可查询进程状态或磁盘使用率,但不可在ISE中使用。
有关详细信息,请参阅思科身份服务引擎管理员指南3.1版中的用于监控思科ISE的SNMP陷阱部分。
在本实验中,SNMP陷阱被设置为当磁盘使用率超过阈值限制75:sotumu24/admin(config)# snmp-server trap dskThresholdLimit "75"时触发。
此陷阱的数据是从图中所示的输出中收集的。
在外部LINUX机箱或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
从这些输出计算磁盘利用率,当值达到75时,SNMP陷阱发送到已配置的SNMP服务器主机。没有MIB资源可以直接计算和显示磁盘利用率。
此外,MIB流程hrSWRunName用于收集此信息(根据《ISE管理员指南》)。
此软件运行部分的文字说明,包括制造商、修订版本和通常使用的名称。如果此软件在本地安装,则必须使用与hrSWInstalledName 对应的中使用的字符串相同。考虑的服务包括app-server、rsyslog、redis-server、ad-connector、mnt-collector、mnt-processor、ca-server est-server和elasticsearch。
MIB资源
ISE应用托管在RHEL OS(Linux)上。但是,如ISE管理指南中所述,ISE使用主机资源MIB收集SNMP陷阱信息。本文档包含可查询的主机资源MIB列表:
SNMP主机MIB。
从本文档中可以推断,没有可以计算和显示CPU、内存或磁盘使用率的值的直接查询。但是,用于计算输出的数据存在于以下表中:
hrSWRunPerf 表
hrDiskStorage 表
- Scalars表
有关内存和磁盘利用率的附加指针
已用内存
要计算已用内存,请使用:
mem_used = kb_main_total - kb_main_free - kb_main_cached - kb_main_buffers;
kb_main_cached = kb_page_cache + kb_slab_reclaimable;
可用内存
在SNMP服务器和ISE CLI root-bash中收集的值之间略有差异。内存使用率也因未在SNMP中说明的slab值而存在差异,它显示总值。
可用内存是当前未使用的一小部分内存,会导致此差异。这是系统无法利用的内存的浪费部分。 ISE托管在Linux操作系统上,它使用当前程序不需要的全部物理内存作为文件缓存,以提高效率。但是,如果程序需要此物理内存,内核会将文件缓存内存重新分配给前者。因此,文件缓存使用的内存是可用的,但在程序需要它之前未使用。
请参阅可用内存说明。
磁盘利用率
同样,为根用户保留的文件系统最多达5%,以减少文件碎片。'df'中未显示此输出。
因此,预计根bash中计算的百分比与CLI输出中的百分比会有细微的差异。
SNMP查询不考虑此保留磁盘空间,而是根据表中显示的值计算输出。
有关详细信息,请参阅df输出和df输出保留磁盘空间之间的区别。
相关信息