소개
이 문서에서는 Cisco ISE를 모니터링하기 위해 SNMP(Simple Network Management Protocol) 트랩을 구성하고 이해하는 방법에 대해 설명합니다.
SNMP 트랩은 SNMP 지원 디바이스에서 원격 MIB 서버로 전송되는 UDP 메시지입니다. ISE(Identity Services Engine)는 트랩을 SNMP 서버로 전송하여 모니터링하고 문제를 해결하도록 구성할 수 있습니다.이 문서의 목적은 문제를 격리하고 ISE 트랩의 한계를 파악하기 위한 몇 가지 기본 검사를 숙지하는 것입니다.
사전 요구 사항
요구 사항
Cisco에서는 다음 주제에 대해 숙지할 것을 권장합니다.
사용되는 구성 요소
이 문서의 정보는 다음 소프트웨어 및 하드웨어 버전을 기반으로 합니다.
- Cisco ISE, 릴리스 2.6
- RHEL 7 서버
이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다.이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다.네트워크가 작동 중인 경우 모든 명령의 잠재적인 영향을 이해해야 합니다.
구성
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가 IP 액세스에서 SNMP 서버를 허용하는지 확인합니다(구성된 경우).

포트 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가 없습니다.Cisco ISE는 SNMP 트랩에 OID HOST-RESOURCES-MIB::hrSWRunName을 사용합니다.ISE에서 프로세스 상태 또는 디스크 사용률을 쿼리하기 위한 snmp walk 또는 snmp get 명령을 사용할 수 없습니다.
출처: 관리 가이드
Lab에서 디스크 사용률이 임계값 제한을 초과할 때 트리거되도록 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-Server HOST로 전송됩니다.디스크 사용률을 직접 계산하고 표시할 MIB 리소스가 없습니다.
또한 MIB 프로세스 hrSWRunName은 이 정보를 수집하는 데 사용됩니다(ISE 관리 설명서에 따라).
제조업체, 수정 버전 및 일반적으로 알려진 이름을 포함하여 이 실행 중인 소프트웨어에 대한 텍스트 설명입니다.이 소프트웨어가 로컬로 설치된 경우 해당 hrSWInstatedName에 사용된 것과 동일한 문자열이어야 합니다.고려되는 서비스는 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, 메모리 또는 디스크 사용률의 값을 계산하고 표시할 수 있는 직접 쿼리가 없음을 유추할 수 있습니다.그러나 출력을 계산하는 데 사용되는 데이터는 다음 테이블에 있습니다.
- hrSWRunPerfTable
- hr디스크저장영역표
- 스칼라 테이블
메모리 및 디스크 사용률에 대한 추가 포인터
사용된 메모리
사용된 메모리를 계산하려면
mem_used = kb_main_total - kb_main_free - kb_main_cached - kb_main_buffers
kb_main_cached = kb_page_cache + kb_slap_reclaimable;
사용 가능한 메모리
SNMP 서버와 ISE CLI 루트 배시에서 수집된 값 간에 약간의 차이가 있습니다.또한 메모리 사용률은 SNMP에서 계산되지 않은 슬랩으로 인한 값의 차이를 가지며 총 값을 표시합니다.
사용 가능한 메모리는 현재 사용되지 않는 작은 양의 메모리로, 이 차이를 유발합니다.시스템이 사용할 수 없는 메모리의 낭비된 부분입니다. ISE는 Linux OS에서 호스팅되며 효율성을 위해 현재 프로그램에서 파일 캐시로 필요하지 않은 모든 물리적 메모리를 사용합니다.그러나 프로그램에 이 물리적 메모리가 필요한 경우 커널은 파일 캐시 메모리를 이전 메모리에 재할당합니다.따라서 파일 캐시에 사용되는 메모리는 사용 가능하지만 프로그램이 필요할 때까지 사용되지 않습니다.
아래 링크를 참조하십시오.
여유 메모리 설명
디스크 사용률
마찬가지로, 파일 시스템의 최대 5%는 파일 단편화를 줄이기 위해 루트 사용자용으로 예약되어 있습니다.이 출력은 df에서 표시되지 않습니다.
따라서 루트 배쉬 및 이후 CLI 출력에 계산된 백분율에서 작은 차이가 나타날 것으로 예상됩니다.
SNMP 쿼리는 이 예약된 디스크 공간을 고려하지 않으며 테이블에 표시된 값을 기반으로 출력을 계산합니다.
자세한 내용은 df 출력의 차이 및 df 출력 예약 디스크 공간을 참조하십시오.