簡介
本文檔介紹如何配置和理解簡單網路管理協議(SNMP)陷阱以監控思科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中使用,以便查詢進程狀態或磁碟利用率。
來源:管理指南
在實驗中,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輸出保留磁盤空間中的差異。