이 문서에서는 SNMP(Simple Network Management Protocol)를 간략하게 소개하고 Cisco UCS(Unified Computing System) C-Series Rack Server에서 SNMP 기능을 테스트하는 방법을 보여 줍니다.기본 SNMP 문제 해결을 위한 참조로 사용할 수도 있습니다.
SNMP는 여러 RFC(Request for Comments)에 의해 정의된 IETF(Internet Engineering Task Force) 산업 표준입니다.SNMP는 NMS(Network Management Systems)에서 네트워크 디바이스를 모니터링하는 데 사용됩니다.SNMP는 애플리케이션 레이어에서 작동합니다.SNMP의 기본 목적은 관리되는 디바이스에서 정보를 얻기 위해 NMS를 활성화하는 것입니다.
이 문서에서는 NMS와 모든 네트워크 디바이스가 올바르게 구성되었으며 과거에 제대로 작동했다고 가정합니다.
이 문서의 정보는 다음 소프트웨어 및 하드웨어 버전을 기반으로 합니다.
SNMP
Cisco UCS C-Series 랙 서버
이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다.이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다.현재 네트워크가 작동 중인 경우, 모든 명령어의 잠재적인 영향을 미리 숙지하시기 바랍니다.
문서 규칙에 대한 자세한 내용은 Cisco 기술 팁 표기 규칙을 참고하십시오.
관리자는 NMS이며 에이전트는 관리되는 디바이스에서 실행되는 소프트웨어입니다.SNMP는 관리자와 에이전트 간에 메시지를 전달하는 데 사용됩니다.
MIB(Management Information Base)는 객체 모음입니다.객체에는 두 가지 유형이 있습니다.스칼라(단일 객체) 및 테이블 형식(다중 객체) 객체는 관리되는 디바이스의 하나 이상의 특성 또는 변수입니다.이러한 특성은 OID(object identifier)로 식별됩니다. OID는 개체 이름과 인스턴스 ID의 마침표로 구분된 숫자 표현입니다.sysDesc와 같은 스칼라 객체에는 항상 0의 인스턴스가 있습니다. 객체가 테이블의 열이면 인스턴스 ID는 일반적으로 열의 인덱스입니다.MIB는 트리 형식으로 구성되며 개체 ID는 해당 트리에서 파생됩니다.
참고: 이 문서의 샘플 출력은 Cisco UCS C-Series Rack Server에서 캡처되었습니다.
이 예에서는 cucsProcessorUnitEntry에 대한 CISCO-UNIFIED-COMPUTING-PROCESSOR-MIB 정의를 살펴봅니다.
cucsProcessorUnitEntry OBJECT-TYPE SYNTAX CucsProcessorUnitEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Entry for the cucsProcessorUnitTable table." INDEX { cucsProcessorUnitInstanceId } ::= { cucsProcessorUnitTable 1 } CucsProcessorUnitEntry ::= SEQUENCE { cucsProcessorUnitInstanceId CucsManagedObjectId, cucsProcessorUnitDn CucsManagedObjectDn, cucsProcessorUnitRn SnmpAdminString, cucsProcessorUnitArch CucsProcessorUnitArch, cucsProcessorUnitCores Gauge32, cucsProcessorUnitCoresEnabled Gauge32, cucsProcessorUnitId Gauge32, cucsProcessorUnitModel SnmpAdminString, cucsProcessorUnitOperState CucsEquipmentOperability, cucsProcessorUnitOperability CucsEquipmentOperability, cucsProcessorUnitPerf CucsEquipmentSensorThresholdStatus, cucsProcessorUnitPower CucsEquipmentPowerState, cucsProcessorUnitPresence CucsEquipmentPresence, cucsProcessorUnitRevision SnmpAdminString, cucsProcessorUnitSerial SnmpAdminString, cucsProcessorUnitSocketDesignation SnmpAdminString, cucsProcessorUnitSpeed INTEGER, cucsProcessorUnitStepping Gauge32, cucsProcessorUnitThermal CucsEquipmentSensorThresholdStatus, cucsProcessorUnitThreads Gauge32, cucsProcessorUnitVendor SnmpAdminString, cucsProcessorUnitVoltage CucsEquipmentSensorThresholdStatus, cucsProcessorUnitVisibility CucsMemoryVisibility, cucsProcessorUnitOperQualifierReason SnmpAdminString
cucsProcessorUnitEntry는 시퀀스 또는 부모이며 특정 인스턴스에 연결되어 있지 않으므로 액세스할 수 없습니다.객체는 시퀀스 또는 상위 아래에 나열됩니다.이러한 항목을 테이블의 행으로 간주하면 도움이 될 수 있습니다.객체는 정보를 위해 개별적으로 요청할 수 있는 특정 OID(숫자 객체 이름 + 인스턴스)에 해당합니다.시퀀스 또는 상위에서 snmpwalk 명령을 사용하면 모든 기본 개체에 대한 회신을 받을 수 있습니다.그러나 개체 이름을 OID에 매핑하려면 변환 도구를 사용해야 합니다.
참고:
구문 절은 정수의 형식을 정의합니다.예를 들어, 카운터 32, 카운터 64, 게이지 32, IP 주소 등이 있습니다.
Max-access는 읽기-쓰기, 읽기-생성 또는 액세스 없음을 정의합니다.
설명은 설명이 필요 없습니다.
인덱스는 테이블 ID를 식별합니다.
예를 들어 cucsProcessorUnitOperStateObject에서 snmpwalk 명령을 사용하는 경우 다음 결과가 표시됩니다.
[root@localhost snmp]# snmpwalk -v2c -c public 14.17.2.121 .1.3.6.1.4.1.9.9.719.1.41.9.1.9 SNMPv2-SMI::enterprises.9.9.719.1.41.9.1.9.1 = INTEGER: 1 SNMPv2-SMI::enterprises.9.9.719.1.41.9.1.9.2 = INTEGER: 1
서버에 프로세서가 두 개 있으므로 이 요청에 대한 응답이 두 개 있습니다.회신은 또한 각 프로세서에 하나씩 cucsProcessorUnitOperState에 대한 두 인스턴스를 반영합니다.이 유형의 모든 객체에 대해 OID 정보가 풀링됩니다.이 예에서 snmpwalk 명령은 MIB 트리를 통과하는 경로를 사용했습니다.이를 변환하려면 MIB를 로컬로 로드하거나 SNMP MIB 객체 및 OID를 변환하는 도구를 검색할 수 있습니다.
다음 예에서는 OID를 변환하기 위해 변환 도구를 사용합니다.
.1.3.6.1.4.1.9.9.719.1.41.9.1.9 (path through the tree) cucsProcessorUnitOperState OBJECT-TYPE -- FROM CISCO-UNIFIED-COMPUTING-PROCESSOR-MIB -- TEXTUAL CONVENTION CucsEquipmentOperability SYNTAX Integer { unknown(0), operable(1), inoperable(2), degraded(3),poweredOff(4), powerProblem(5), removed(6), voltageProblem(7), thermalProblem(8), performanceProblem(9), accessibilityProblem(10), identityUnestablishable(11), biosPostTimeout(12), disabled(13), fabricConnProblem(51), fabricUnsupportedConn(52), config(81), equipmentProblem(82), decomissioning(83), chassisLimitExceeded(84), notSupported(100), discovery(101), discoveryFailed(102), identify(103), postFailure(104), upgradeProblem(105), peerCommProblem(106), autoUpgrade(107) } MAX-ACCESS read-only STATUS Current DESCRIPTION "Cisco UCS processor:Unit:operState managed object property" ::= { iso(1) org(3) dod(6) internet(1) private(4) enterprises(1) cisco(9) ciscoMgmt(9) ciscoUnifiedComputingMIB(719) ciscoUnifiedComputingMIBObjects(1) cucsProcessorObjects(41) cucsProcessorUnitTable(9) cucsProcessorUnitEntry(1) 9 }
개체 유형 위에 snmpwalk 명령에서 사용한 MIB 트리를 통과하는 경로를 볼 수 있습니다.1의 응답은 프로세서가 작동 가능 상태임을 나타냅니다.
PC에서 snmpwalk 명령을 사용하려면 응용 프로그램을 검색하고 설치해야 할 수 있습니다.Windows GUI SNMP 애플리케이션을 검색할 수도 있습니다.
Mac은 기본적으로 작동합니다.
Linux용 패키지가 있습니다.Centos 또는 Redhat의 경우 Net-SNMP는 SNMP 기능을 테스트하는 명령줄 애플리케이션입니다.Centos 또는 Redhat에 Net-SNMP를 설치하려면 다음 명령을 사용합니다.
yum install net-snmp-utils
참고: 로컬에서 변환을 수행하기 위해 MIB를 로드하려는 경우 snmp.conf 파일을 만들고 원하는 MIB를 포함합니다.
특정 MIB가 해당 코드 버전에서 지원되는지 확인합니다.
관리되는 디바이스의 IP 주소에 연결할 수 있는지 확인합니다.
방화벽에서 포트가 열려 있는지 확인합니다.
Wireshark 또는 TCPDump 추적을 사용하여 응답 및 잘못된 형식의 패킷 문제를 해결하십시오.IP 주소 및 포트에서 필터(SNMP의 경우 UDP 포트 161, 회수 트랩의 경우 UDP 포트 162)
SNMP와 관련된 많은 RFC가 있습니다.부분 목록:
1155 - TCP/IP 기반 인터넷 관리 정보의 구조 및 식별
1156 - TCP/IP 기반 인터넷(MIB I)의 네트워크 관리를 위한 관리 정보 베이스
1157 - 간단한 네트워크 관리 프로토콜
1213 - TCP/IP 기반 인터넷(MIB II)의 네트워크 관리를 위한 관리 정보 베이스
1441 - 인터넷 표준 네트워크 관리 프레임워크 버전 2 소개
1452 - 인터넷 표준 네트워크 관리 프레임워크의 버전 1과 버전 2 간의 공존성
2578 - 관리 정보 버전 2 구조
3414 - Simple Network Management Protocol 버전 3에 대한 사용자 기반 보안 모델
3584 - 인터넷 표준 네트워크 관리 프로토콜의 버전 1, 버전 2 및 버전 3 간 공존