簡介
本文檔介紹如何配置和理解簡單網路管理協定(SNMP)陷阱,以便監控Cisco ISE。
必要條件
需求
思科建議您瞭解以下主題:
- 基本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訪問(如果已配置)。
檢查ISE CLI上的埠161是否打開:
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
陷阱和查詢
預設情況下在思科ISE中生成的通用SNMP陷阱:
ISE沒有任何MIB用於進程狀態或磁碟利用率。Cisco ISE使用OID HOST-RESOURCES-MIB::hrSWRunName 進行SNMP陷阱。
snmp walk或snmp get命令,為了查詢進程狀態或磁碟使用率,不能用於ISE。
有關詳細資訊,請參閱Cisco身份服務引擎管理員指南3.1版中的用於監控Cisco 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中收集的值之間存在細微差異。由於slab(未在SNMP中說明),記憶體使用率在值上也有差異,並顯示總值。
空閒記憶體是當前未使用的少量記憶體,會導致這種差異。這是系統無法利用的浪費記憶體部分。 ISE託管在Linux作業系統上,並使用當前程式不需要的所有實體記憶體作為檔案快取,以提高效率。然而,如果程式需要此實體記憶體,核心會將檔案快取記憶體重新配置給前者。因此,檔案快取使用的記憶體是可用的,但在程式需要它之前未使用。
請參閱可用記憶體說明。
磁碟利用率
同樣,為根使用者保留的檔案系統多達5%,以減少檔案碎片。'df'中未顯示此輸出。
因此,預計根bash中計算的百分比以及隨後的CLI輸出會出現小差異。
SNMP查詢不考慮此保留的磁碟空間,而是根據表中顯示的值計算輸出。
有關詳細資訊,請參閱df輸出差異和df輸出保留磁碟空間。
相關資訊