소개
이 문서에서는 SNMP 프로세스에서 높은 CPU 사용량을 트러블슈팅하기 위한 CPU 사용률 모니터링에 대해 설명합니다.
사전 요구 사항
요구 사항
Cisco는 Cisco IOS®-XE WLC 9800 Series에 대한 기본 지식을 갖추고 있는 것을 권장합니다.
사용되는 구성 요소
이 문서의 정보는 하드웨어 버전 Cisco IOS®-XE WLC 9800 Series를 기반으로 하며 특정 소프트웨어 버전으로 제한되지 않습니다.
이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다. 이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다. 현재 네트워크가 작동 중인 경우 모든 명령의 잠재적인 영향을 미리 숙지하시기 바랍니다.
배경 정보
우리는 SNMP가 사용률이 더 높은 것인지 확인해야 합니다. 성능에 영향을 미칠 수 있으므로 추가 조사를 위해 문제가 발생한 업무 외 시간에 이러한 로그를 수집합니다.
모니터링
예:
ID 런타임(ms) 호출됨 uSecs 5초 1분 5분 TTY Process
736 6846005 11045858 619 88.09% 9.15% 3.28% 0 SNMP 엔진
문제 해결
다음 로그를 수집하기 위해 두 개의 WLC CLI 세션을 엽니다.
Session-1: show snmp stats hosts
Debug snmp packet Debug snmp detail terminal monitor
Session-2: 이러한 통계는 간격에 대한 출력을 표시하고 서비스 내부에서 이를 실행할 수 있도록 합니다.
Conf t Service internal end wr test snmp cpu-stats start show snmp cpu-stats test snmp cpu-stats stop
또한 문제가 발견되면 SNMP 서버에서 폴링에 사용되는 MIB를 확인합니다.
EEM 스크립트
비생산 시간에 대한 단계를 따르십시오.
1단계. 다음 명령을 실행하십시오.
전화회의
내부 서비스
끝
전쟁
2단계. snmp 통계에 대한 EEM 스크립트를 활성화합니다(이 스크립트를 복사하여 컨트롤러 CLI에 붙여넣기).
전화회의
이벤트 관리자 애플릿 snmp-1 없음
이벤트 관리자 애플릿 snmp-1
event none maxrun 2000
action 10 cli 명령 "enable"
action 11 cli 명령 "terminal leng 0"
action 11.1 put "Script starts"
action 12 cli 명령 "debug snmp packet"
action 13 cli 명령 "debug snmp detail"
action 14 cli 명령 "debug snmp request"
action 20.1 cli 명령 "show clock"
조치 21 regexp "(1월|2월|3월|4월|5월|6월|7월|8월|9일|10월|11월|12월) ([1-9]|0[1-9]|[1-2][0-9]|3[0-1]) (20[1-9][0-9])" "$_cli_result" time2 month year
작업 22는 "$time2"을(를) 배치합니다.
작업 23: "$month" 넣기
작업 24: "$day" 입력
작업 25: "$year"
action 26 cli 명령 "show clock | 플래시 추가:/snmp-cpu-logs-$year$month$day.txt"
action 27 cli 명령 "show snmp stats hosts | 플래시 추가:/snmp-cpu-logs-$year$month$day.txt"
action 30 cli 명령 "test snmp cpu-stats start"
조치 35 iter 1 설정
$iter le 6 동안 작업 36
action 40 cli 명령 "show snmp cpu-stats | 플래시 추가:/snmp-cpu-logs-$year$month$day.txt"
action 40.1 put "Iterator:$iter"
작업 41 대기 300
action 43 cli 명령 "show clock | 플래시 추가:/snmp-cpu-logs-$year$month$day.txt"
조치 44 increment iter 1
작업 45 끝
action 50 cli 명령 "test snmp cpu-stats stop"
action 55 cli 명령 "no debug snmp packet"
action 56 cli 명령 "no debug snmp detail"
action 57 cli 명령 "no debug snmp request"
action 58 put "Script ends(스크립트 종료)"
끝
전쟁
3단계. 다음 명령을 사용하여 이전 스크립트를 실행합니다. #event manager run snmp-1
참고: 업무 시간이 아닌 시간에 문제가 발견되면 다음 명령을 사용하여 스크립트를 활성화합니다.
스크립트가 CLI에서 프롬프트를 종료할 때까지 기다립니다. 보통 30분 정도 걸립니다
4단계. 이전 스크립트는 실행하는 데 최대 30-40분이 소요되며 "Script ends(스크립트 종료)" 메시지가 표시됩니다.
"Script ends(스크립트 종료)"라는 메시지가 표시되면 "Iterator(반복기)"가 완성됩니다.
스크립트가 끝나면 GUI > Administration > File Manager > Bootflash로 이동합니다. snmp-cpu-logs.txt 로그를 마우스 오른쪽 버튼으로 클릭하여 다운로드하고 TAC와 공유합니다.
5단계. 문제 발생 시 WLC를 폴링하는 데 사용되는 MIB 파일을 확인합니다.
샘플 참조 출력은 다음과 같을 수 있습니다.
DR 5sec% 1min% 5min% Running(ms) Time(usecs) Invoked OID
556272A00320 0.00 6.03 3.30 59 59408 44 vmMembershipSummaryEntry.2
556272A00320 50.48 9.68 4.09 59 59659 44 vmMembershipSummaryEntry.3
556272A00320 0.23 1.60 2.23 0 8333 6 clcCdpApCacheApName
556272A00320 0.19 1.62 2.24 2 6999 5bsnDot11EssMacFiltering
556272A00320 0.23 1.60 2.23 2 3792 24 bsnDot11EssAdminStatus
556272A00320 0.23 1.60 2.23 2 4000 2 bsnDot11EssSecurityAuthType
556272A00320 0.23 1.60 2.23 2 3541 24 bsnDot11EssRowStatus
556272A00320 0.23 1.60 2.23 2 3500 2 bsnDot11EssWmePolicySet
C9800-40의 SNMP 사용률은 70-90%를 넘으면 정상입니다.
결론
SNMP를 사용하여 다른 OID를 폴링하는 경우 C9800 CPU(C9800config)#snmp-server 하위 에이전트 캐시에 미칠 수 있는 영향을 줄이기 위해 CLI를 모범 사례로 구성해야 합니다.
이 명령을 사용하면 60초 후에 캐시가 지워집니다. 간격을 변경하려면 다음 CLI를 사용합니다.
C9800(config)#snmp-server 하위 에이전트 캐시 시간 초과 ?
<1-100> 캐시 시간 초과 간격(기본값 60초)
SNMP 프로세스에서 코어를 더 많이 사용하지 않으려면 MIB를 사용하여 서버에서 SNMP 폴링을 제한합니다. SNMP MIB/서버에서 하이 대기열 시간 객체 식별자를 비활성화합니다.
MIB에서 대기열이 높은 SNMP 객체는 비활성화하거나 제거할 수 있습니다.
필요하지 않을 경우 비활성화할 수 있는 참조 목록은 다음과 같습니다.
clcCdpApCacheAp이름
bsnDot11EssMac필터링
bsnDot11Ess관리 상태
bsnDot11EssSecurityAuthType
bsnDot11EssRowStatus
bsnDot11EssWmePolicy설정
bsnMobileStationIp주소
bsn모바일 스테이션 사용자 이름
bsn모바일 스테이션APMacAddr
bsnMobileStationAPIfSlotId
bsn모바일 스테이션Ess인덱스
bsnMobileStationSsid
bsn이동국지원
bsn이동국상태
bsnAPIfDot11비콘기간
bsnGlobalDot11개인 정보 보호 옵션구현됨
bsnGlobalDot11다중 도메인기능구현
bsn전역Dot11다중 도메인기능사용
bsnGlobalDot11국가색인
bsn전역Dot11부하 균형
bsnGlobalDot11bDot11g지원
SNMP의 "bsn station" 객체는 추가 세부 정보를 가져오는 데 대기열 시간이 걸립니다.
팁: 모범 사례는 네트워크의 노드 수를 기준으로 폴링 간격을 줄이고 필요하지 않은 MIB를 제거하는 것입니다
관련 정보
C9800의 SNMP에 대한 자세한 내용은 다음 링크를 참조하십시오.