snmpd를 설정하고 check_snmp를 통해 확인하려고 합니다.
snmpwalk -c public -v 2c localhost
iso.3.6.1.2.1.1.1.0 = STRING: "Linux ik1-325-22819 4.15.0-55-generic #60-Ubuntu SMP Tue Jul 2 18:22:20 UTC 2019 x86_64"
iso.3.6.1.2.1.1.2.0 = OID: iso.3.6.1.4.1.8072.3.2.10
iso.3.6.1.2.1.1.3.0 = Timeticks: (45994) 0:07:39.94
iso.3.6.1.2.1.1.4.0 = STRING: "Me <[email protected]>"
iso.3.6.1.2.1.1.5.0 = STRING: "ik1-325-22819"
iso.3.6.1.2.1.1.6.0 = STRING: "Sitting on the Dock of the Bay"
iso.3.6.1.2.1.1.7.0 = INTEGER: 72
iso.3.6.1.2.1.1.8.0 = Timeticks: (1) 0:00:00.01
iso.3.6.1.2.1.1.9.1.2.1 = OID: iso.3.6.1.6.3.11.3.1.1
iso.3.6.1.2.1.1.9.1.2.2 = OID: iso.3.6.1.6.3.15.2.1.1
iso.3.6.1.2.1.1.9.1.2.3 = OID: iso.3.6.1.6.3.10.3.1.1
iso.3.6.1.2.1.1.9.1.2.4 = OID: iso.3.6.1.6.3.1
iso.3.6.1.2.1.1.9.1.2.5 = OID: iso.3.6.1.6.3.16.2.2.1
iso.3.6.1.2.1.1.9.1.2.6 = OID: iso.3.6.1.2.1.49
iso.3.6.1.2.1.1.9.1.2.7 = OID: iso.3.6.1.2.1.4
iso.3.6.1.2.1.1.9.1.2.8 = OID: iso.3.6.1.2.1.50
iso.3.6.1.2.1.1.9.1.2.9 = OID: iso.3.6.1.6.3.13.3.1.3
iso.3.6.1.2.1.1.9.1.2.10 = OID: iso.3.6.1.2.1.92
iso.3.6.1.2.1.1.9.1.3.1 = STRING: "The MIB for Message Processing and Dispatching."
iso.3.6.1.2.1.1.9.1.3.2 = STRING: "The management information definitions for the SNMP User-based Security Model."
iso.3.6.1.2.1.1.9.1.3.3 = STRING: "The SNMP Management Architecture MIB."
iso.3.6.1.2.1.1.9.1.3.4 = STRING: "The MIB module for SNMPv2 entities"
iso.3.6.1.2.1.1.9.1.3.5 = STRING: "View-based Access Control Model for SNMP."
iso.3.6.1.2.1.1.9.1.3.6 = STRING: "The MIB module for managing TCP implementations"
iso.3.6.1.2.1.1.9.1.3.7 = STRING: "The MIB module for managing IP and ICMP implementations"
iso.3.6.1.2.1.1.9.1.3.8 = STRING: "The MIB module for managing UDP implementations"
iso.3.6.1.2.1.1.9.1.3.9 = STRING: "The MIB modules for managing SNMP Notification, plus filtering."
iso.3.6.1.2.1.1.9.1.3.10 = STRING: "The MIB module for logging SNMP Notifications."
iso.3.6.1.2.1.1.9.1.4.1 = Timeticks: (1) 0:00:00.01
iso.3.6.1.2.1.1.9.1.4.2 = Timeticks: (1) 0:00:00.01
iso.3.6.1.2.1.1.9.1.4.3 = Timeticks: (1) 0:00:00.01
iso.3.6.1.2.1.1.9.1.4.4 = Timeticks: (1) 0:00:00.01
iso.3.6.1.2.1.1.9.1.4.5 = Timeticks: (1) 0:00:00.01
iso.3.6.1.2.1.1.9.1.4.6 = Timeticks: (1) 0:00:00.01
iso.3.6.1.2.1.1.9.1.4.7 = Timeticks: (1) 0:00:00.01
iso.3.6.1.2.1.1.9.1.4.8 = Timeticks: (1) 0:00:00.01
iso.3.6.1.2.1.1.9.1.4.9 = Timeticks: (1) 0:00:00.01
iso.3.6.1.2.1.1.9.1.4.10 = Timeticks: (1) 0:00:00.01
iso.3.6.1.2.1.2.1.0 = INTEGER: 6
iso.3.6.1.2.1.2.2.1.1.1 = INTEGER: 1
iso.3.6.1.2.1.2.2.1.1.2 = INTEGER: 2
iso.3.6.1.2.1.2.2.1.1.3 = INTEGER: 3
iso.3.6.1.2.1.2.2.1.1.4 = INTEGER: 4
iso.3.6.1.2.1.2.2.1.1.5 = INTEGER: 5
iso.3.6.1.2.1.2.2.1.1.6 = INTEGER: 6
iso.3.6.1.2.1.2.2.1.2.1 = STRING: "lo"
iso.3.6.1.2.1.2.2.1.2.2 = STRING: "Red Hat, Inc. Device 0001"
iso.3.6.1.2.1.2.2.1.2.3 = STRING: "Red Hat, Inc. Device 0001"
iso.3.6.1.2.1.2.2.1.2.4 = STRING: "Red Hat, Inc. Device 0001"
iso.3.6.1.2.1.2.2.1.2.5 = STRING: "docker0"
iso.3.6.1.2.1.2.2.1.2.6 = STRING: "br-6ec47ade44ad"
iso.3.6.1.2.1.2.2.1.3.1 = INTEGER: 24
iso.3.6.1.2.1.2.2.1.3.2 = INTEGER: 6
iso.3.6.1.2.1.2.2.1.3.3 = INTEGER: 6
iso.3.6.1.2.1.2.2.1.3.4 = INTEGER: 6
iso.3.6.1.2.1.2.2.1.3.5 = INTEGER: 6
iso.3.6.1.2.1.2.2.1.3.6 = INTEGER: 6
iso.3.6.1.2.1.2.2.1.4.1 = INTEGER: 65536
iso.3.6.1.2.1.2.2.1.4.2 = INTEGER: 1500
iso.3.6.1.2.1.2.2.1.4.3 = INTEGER: 1500
iso.3.6.1.2.1.2.2.1.4.4 = INTEGER: 1500
iso.3.6.1.2.1.2.2.1.4.5 = INTEGER: 1500
iso.3.6.1.2.1.2.2.1.4.6 = INTEGER: 1500
iso.3.6.1.2.1.2.2.1.5.1 = Gauge32: 10000000
iso.3.6.1.2.1.2.2.1.5.2 = Gauge32: 0
iso.3.6.1.2.1.2.2.1.5.3 = Gauge32: 0
iso.3.6.1.2.1.2.2.1.5.4 = Gauge32: 0
iso.3.6.1.2.1.2.2.1.5.5 = Gauge32: 0
iso.3.6.1.2.1.2.2.1.5.6 = Gauge32: 0
iso.3.6.1.2.1.2.2.1.6.1 = ""
iso.3.6.1.2.1.2.2.1.6.2 = Hex-STRING: 9C A3 BA 01 DF C3
iso.3.6.1.2.1.2.2.1.6.3 = Hex-STRING: 9C A3 BA 03 66 63
iso.3.6.1.2.1.2.2.1.6.4 = Hex-STRING: 9C A3 BA 04 ED 03
iso.3.6.1.2.1.2.2.1.6.5 = Hex-STRING: 02 42 D7 D1 60 44
iso.3.6.1.2.1.2.2.1.6.6 = Hex-STRING: 02 42 D8 24 17 95
iso.3.6.1.2.1.2.2.1.7.1 = INTEGER: 1
iso.3.6.1.2.1.2.2.1.7.2 = INTEGER: 1
iso.3.6.1.2.1.2.2.1.7.3 = INTEGER: 2
iso.3.6.1.2.1.2.2.1.7.4 = INTEGER: 2
iso.3.6.1.2.1.2.2.1.7.5 = INTEGER: 1
iso.3.6.1.2.1.2.2.1.7.6 = INTEGER: 1
iso.3.6.1.2.1.2.2.1.8.1 = INTEGER: 1
iso.3.6.1.2.1.2.2.1.8.2 = INTEGER: 1
iso.3.6.1.2.1.2.2.1.8.3 = INTEGER: 2
iso.3.6.1.2.1.2.2.1.8.4 = INTEGER: 2
iso.3.6.1.2.1.2.2.1.8.5 = INTEGER: 2
iso.3.6.1.2.1.2.2.1.8.6 = INTEGER: 2
iso.3.6.1.2.1.2.2.1.9.1 = Timeticks: (0) 0:00:00.00
iso.3.6.1.2.1.2.2.1.9.2 = Timeticks: (0) 0:00:00.00
iso.3.6.1.2.1.2.2.1.9.3 = Timeticks: (0) 0:00:00.00
iso.3.6.1.2.1.2.2.1.9.4 = Timeticks: (0) 0:00:00.00
iso.3.6.1.2.1.2.2.1.9.5 = Timeticks: (0) 0:00:00.00
iso.3.6.1.2.1.2.2.1.9.6 = Timeticks: (0) 0:00:00.00
iso.3.6.1.2.1.2.2.1.10.1 = Counter32: 3214378817
iso.3.6.1.2.1.2.2.1.10.2 = Counter32: 1235162258
iso.3.6.1.2.1.2.2.1.10.3 = Counter32: 0
iso.3.6.1.2.1.2.2.1.10.4 = Counter32: 0
iso.3.6.1.2.1.2.2.1.10.5 = Counter32: 0
iso.3.6.1.2.1.2.2.1.10.6 = Counter32: 286316
iso.3.6.1.2.1.2.2.1.11.1 = Counter32: 135588065
iso.3.6.1.2.1.2.2.1.11.2 = Counter32: 60939410
iso.3.6.1.2.1.2.2.1.11.3 = Counter32: 0
iso.3.6.1.2.1.2.2.1.11.4 = Counter32: 0
iso.3.6.1.2.1.2.2.1.11.5 = Counter32: 0
iso.3.6.1.2.1.2.2.1.11.6 = Counter32: 4466
iso.3.6.1.2.1.2.2.1.12.1 = Counter32: 0
iso.3.6.1.2.1.2.2.1.12.2 = Counter32: 0
iso.3.6.1.2.1.2.2.1.12.3 = Counter32: 0
iso.3.6.1.2.1.2.2.1.12.4 = Counter32: 0
iso.3.6.1.2.1.2.2.1.12.5 = Counter32: 0
iso.3.6.1.2.1.2.2.1.12.6 = Counter32: 0
iso.3.6.1.2.1.2.2.1.13.1 = Counter32: 0
iso.3.6.1.2.1.2.2.1.13.2 = Counter32: 0
iso.3.6.1.2.1.2.2.1.13.3 = Counter32: 0
iso.3.6.1.2.1.2.2.1.13.4 = Counter32: 0
iso.3.6.1.2.1.2.2.1.13.5 = Counter32: 0
iso.3.6.1.2.1.2.2.1.13.6 = Counter32: 0
iso.3.6.1.2.1.2.2.1.14.1 = Counter32: 0
iso.3.6.1.2.1.2.2.1.14.2 = Counter32: 0
iso.3.6.1.2.1.2.2.1.14.3 = Counter32: 0
iso.3.6.1.2.1.2.2.1.14.4 = Counter32: 0
iso.3.6.1.2.1.2.2.1.14.5 = Counter32: 0
iso.3.6.1.2.1.2.2.1.14.6 = Counter32: 0
iso.3.6.1.2.1.2.2.1.15.1 = Counter32: 0
iso.3.6.1.2.1.2.2.1.15.2 = Counter32: 0
iso.3.6.1.2.1.2.2.1.15.3 = Counter32: 0
iso.3.6.1.2.1.2.2.1.15.4 = Counter32: 0
iso.3.6.1.2.1.2.2.1.15.5 = Counter32: 0
iso.3.6.1.2.1.2.2.1.15.6 = Counter32: 0
iso.3.6.1.2.1.2.2.1.16.1 = Counter32: 3214378817
iso.3.6.1.2.1.2.2.1.16.2 = Counter32: 2438196185
iso.3.6.1.2.1.2.2.1.16.3 = Counter32: 0
iso.3.6.1.2.1.2.2.1.16.4 = Counter32: 0
iso.3.6.1.2.1.2.2.1.16.5 = Counter32: 0
.
.
.
그런 다음 _snmp를 확인하려고 합니다.
./check_snmp -H localhost -O
No OIDs specified
둘 다 동일한 호스트에 있습니다.
OID는 어떻게 찾을 수 있나요? check_snmp의 경우?
인터페이스의 전송량을 알고 싶습니다.ens3
하지만 솔직히 어디서부터 시작해야 할지 모르겠습니다.
나는 이것을 시도했다.
$ snmpwalk -c public -v 2c localhost | grep ens3
iso.3.6.1.2.1.25.3.2.1.3.262146 = STRING: "network interface ens3"
iso.3.6.1.2.1.31.1.1.1.1.2 = STRING: "ens3"
$ ./check_snmp -H localost -O iso.3.6.1.2.1.31.1.1.1.1.2
No OIDs specified
답변1
OID는오물체ID실재. 숫자 형식에서는 점으로 구분된 숫자 문자열로 표시됩니다. 또한 숫자는 일부 정의에 따라 키워드에 매핑되는 상징적 형식을 갖습니다.
OID는 OID 트리 구조의 루트에 있는 첫 번째 마스터 분기를 식별하기 때문에 iso
바로 입니다 . 1
해당 기호 정보를 사용할 수 없는 경우 OID의 기호 형식으로 시작한 다음 숫자 접미사를 추가할 수 있습니다.
이러한 정의는 표준화된 형식으로 MIB 파일에 저장됩니다.
귀하의 시스템에 표준 MIB 파일이 로드되어 있지 않거나 snmpwalk
해당 파일을 사용하도록 시스템이 구성되어 있지 않은 것 같습니다. 그렇지 않으면 snmpwalk 출력은 다음과 비슷해 보일 것입니다.
SNMPv2-MIB::sysDescr.0 = STRING: "Linux ik1-325-22819 4.15.0-55-generic #60-Ubuntu SMP Tue Jul 2 18:22:20 UTC 2019 x86_64"
SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-TC::linux
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (45994) 0:07:39.94
SNMPv2-MIB::sysContact.0 = STRING: "Me <[email protected]>"
SNMPv2-MIB::sysName.0 = STRING: "ik1-325-22819"
SNMPv2-MIB::sysLocation.0 = STRING: "Sitting on the Dock of the Bay"
SNMPv2-MIB::sysServices.0 = INTEGER: 72
SNMPv2-MIB::sysORLastChange.0 = Timeticks: (1) 0:00:00.01
... 등. 그게 더 유익할 것 같지 않나요?
MIB 파일은 OID 이름 외에 다른 것을 정의합니다. 또한 다양한 값의 의미에 대한 설명을 포함하고 정보 테이블을 구성하는 OID 그룹을 정의합니다.
OID부터 시작하여 iso.3.6.1.2.1.31.1.1
이라는 네트워크 인터페이스 통계 테이블이 있습니다 IF-MIB::ifXTable
. 양식의 OID는 iso.3.6.1.2.1.31.1.1.1.1.N
각 인터페이스의 이름을 식별하는 테이블의 첫 번째 열을 구성합니다. 이 인터페이스를 통해 인바운드로 전송된 바이트 수는 각각 형식의 OID와 함께 테이블의 다른 열에 표시됩니다 iso.3.6.1.2.1.31.1.1.1.6.N
. 여기서 N은 인터페이스 이름에 해당합니다. 인터페이스를 통해 전송된 바이트 수는 OID 형식으로 다른 열에 있습니다 iso.3.6.1.2.1.31.1.1.1.10.N
.
귀하의 명령을 보면 인터페이스의 SNMP 테이블 행 번호( N
) ens3
가 2인 것을 알 수 있습니다. 나중에 필요하다는 점을 기억하세요.
MIB가 로드되어 사용되면 이 snmptable
명령을 사용하여 의미 있는 방식으로 모든 테이블을 한 번에 볼 수 있습니다. 예를 들어 이 인터페이스 통계 테이블을 보려면 다음을 실행하면 됩니다.
snmptable -c public -v 2c localhost IF-MIB::ifXTable
그리고 그것을 모두 표 형식으로 표시합니다. (이것은 상당히 넓은 책상이므로 이것을 시도하려면 먼저 터미널 창을 매우 넓게 만드십시오.)
snmptable
이 명령은 해당 테이블을 정의하는 MIB 파일을 사용할 수 있는 경우에만 작동합니다.
데비안과 아마도 우분투에서도 sudo apt install snmp-mibs-downloader
인터넷의 권위 있는 표준 소스에서 광범위한 표준 MIB 세트를 다운로드하고 여기에 일부 정오표를 적용한 다음 /var/lib/snmp/mibs/
저장하게 됩니다. 패키지가 설치되면 자동으로 다운로드할 수도 있고, 명령을 사용해야 할 수도 있습니다 sudo download-mibs
.
다운로드한 MIB 사용을 시작하려면 다음 줄을 주석 처리해야 할 수도 있습니다 /etc/snmp/snmp.conf
.
# As the snmp packages come without MIB files due to license reasons, loading
# of MIBs is disabled by default. If you added the MIBs you can reenable
# loading them by commenting out the following line.
mibs :
마지막 줄을 주석 처리하거나 로 바꾸 mibs ALL
거나, ~/.snmp/snmp.conf
한 줄만 작성하면 mibs ALL
다운로드한 MIB를 자동으로 사용할 수 있습니다.
게다가공급업체별 MIB, 공급업체별 OID를 설명할 수 있을 뿐만 아니라 특정 제조업체 및 기기 모델과 관련된 추가 정보도 설명할 수 있습니다. 일반적으로 공급업체 지원 다운로드 사이트에서 일부 공급업체별 관리 팩의 일부로 이러한 항목을 얻을 수 있습니다.
의 check_snmp
경우 -o
(소문자) 옵션. 예를 들어 네트워크 인터페이스에서 인바운드로 전송되는 데이터의 양을 모니터링하려면 ens3
다음을 실행합니다.
./check_snmp -H localhost -C public -P 2c -O -o iso.3.6.1.2.1.31.1.1.1.6.2
또는 MIB가 설치된 경우:
./check_snmp -H localhost -C public -P 2c -O -o IF-MIB::ifHCInOctets.2
아웃바운드로 전송된 데이터의 경우:
./check_snmp -H localhost -C public -P 2c -O -o iso.3.6.1.2.1.31.1.1.1.10.2
또는 MIB를 사용하십시오.
./check_snmp -H localhost -C public -P 2c -O -o IF-MIB::ifHCOutOctets.2