>

Linux Net-SNMP 에이전트는 /etc/snmp/snmpd.conf( man snmpd.conf )의 PEN (개인 엔터프라이즈 번호)을 사용하여 확장 할 수 있습니다.  자세한 내용은

# from the man page: extend [MIBOID] NAME PROG ARGS
extend .1.3.6.1.4.1.32473 2 /tmp/snmp.sh

snmp.sh는 전달 된 인수 또는 현재 날짜를 이상한 종료 코드와 함께 반향하는 간단한 bash 스크립트입니다

#!/bin/bash
if [ -n "$1" ]; then
    echo "$1"
    exit 51
fi
/bin/date '+%F %T'
exit 37

snmpwalk 를 실행  그 OID에

snmpwalk -c public -v 2c 127.0.0.1 SNMPv2-SMI::enterprises.32473

반환

SNMPv2-SMI::enterprises.32473.1.0 = INTEGER: 1
SNMPv2-SMI::enterprises.32473.2.1.2.1.50 = STRING: "/tmp/snmp.sh"
SNMPv2-SMI::enterprises.32473.2.1.3.1.50 = ""
SNMPv2-SMI::enterprises.32473.2.1.4.1.50 = ""
SNMPv2-SMI::enterprises.32473.2.1.5.1.50 = INTEGER: 5
SNMPv2-SMI::enterprises.32473.2.1.6.1.50 = INTEGER: 1
SNMPv2-SMI::enterprises.32473.2.1.7.1.50 = INTEGER: 1
SNMPv2-SMI::enterprises.32473.2.1.20.1.50 = INTEGER: 4
SNMPv2-SMI::enterprises.32473.2.1.21.1.50 = INTEGER: 1
SNMPv2-SMI::enterprises.32473.3.1.1.1.50 = STRING: "2018-06-07 20:53:44"
SNMPv2-SMI::enterprises.32473.3.1.2.1.50 = STRING: "2018-06-07 20:53:44"
SNMPv2-SMI::enterprises.32473.3.1.3.1.50 = INTEGER: 1
SNMPv2-SMI::enterprises.32473.3.1.4.1.50 = INTEGER: 37
SNMPv2-SMI::enterprises.32473.4.1.2.1.50.1 = STRING: "2018-06-07 20:53:44"

숫자 해석하려고 와이즈 비즈  PEN은 테스트 목적으로 로컬로 사용할 수있는 예제 및 문서 용으로 예약되어 있습니다. 와이즈 비즈  ASCII 문자 32473 의 10 진수 값입니다. , 이름.

50 사용  오위 츠 비츠   2 와 함께  또는 -Of  트리에 대한 설명을 제공하지 않고 출력에 일반 숫자가 표시됩니다.

-Os

결과

snmpwalk

32473 이후의 객체 (숫자)는 무엇을 의미합니까?

snmptranslate

  • 답변 # 1

    이 객체 번호는 snmpwalk 와 비교하여 설명 할 수 있습니다.   extend 의 다른 형태의 결과  PEN OID를 사용하지 않는 옵션

    extend 3 /tmp/snmp.sh 787878
    
    

    와이즈 비즈 달리기 상징적 인 이름을 얻는 방법

    snmpwalk
    
    

    결과 :

    snmpwalk -c public -v 2c localhost NET-SNMP-EXTEND-MIB::nsExtendObjects
    
    

    NET-SNMP-EXTEND-MIB::nsExtendNumEntries.0 = INTEGER: 1 NET-SNMP-EXTEND-MIB::nsExtendCommand."3" = STRING: /tmp/snmp.sh NET-SNMP-EXTEND-MIB::nsExtendArgs."3" = STRING: 787878 NET-SNMP-EXTEND-MIB::nsExtendInput."3" = STRING: NET-SNMP-EXTEND-MIB::nsExtendCacheTime."3" = INTEGER: 5 NET-SNMP-EXTEND-MIB::nsExtendExecType."3" = INTEGER: exec(1) NET-SNMP-EXTEND-MIB::nsExtendRunType."3" = INTEGER: run-on-read(1) NET-SNMP-EXTEND-MIB::nsExtendStorage."3" = INTEGER: permanent(4) NET-SNMP-EXTEND-MIB::nsExtendStatus."3" = INTEGER: active(1) NET-SNMP-EXTEND-MIB::nsExtendOutput1Line."3" = STRING: 787878 NET-SNMP-EXTEND-MIB::nsExtendOutputFull."3" = STRING: 787878 NET-SNMP-EXTEND-MIB::nsExtendOutNumLines."3" = INTEGER: 1 NET-SNMP-EXTEND-MIB::nsExtendResult."3" = INTEGER: 51 NET-SNMP-EXTEND-MIB::nsExtendOutLine."3".1 = STRING: 787878 추가  숫자 출력을 얻으려면

    -On
    
    

    PEN 연습의 숫자 출력은

    .1.3.6.1.4.1.8072.1.3.2.1.0 = INTEGER: 1
    .1.3.6.1.4.1.8072.1.3.2.2.1.2.1.51 = STRING: /tmp/snmp.sh
    .1.3.6.1.4.1.8072.1.3.2.2.1.3.1.51 = STRING: 787878
    .1.3.6.1.4.1.8072.1.3.2.2.1.4.1.51 = STRING: 
    .1.3.6.1.4.1.8072.1.3.2.2.1.5.1.51 = INTEGER: 5
    .1.3.6.1.4.1.8072.1.3.2.2.1.6.1.51 = INTEGER: exec(1)
    .1.3.6.1.4.1.8072.1.3.2.2.1.7.1.51 = INTEGER: run-on-read(1)
    .1.3.6.1.4.1.8072.1.3.2.2.1.20.1.51 = INTEGER: permanent(4)
    .1.3.6.1.4.1.8072.1.3.2.2.1.21.1.51 = INTEGER: active(1)
    .1.3.6.1.4.1.8072.1.3.2.3.1.1.1.51 = STRING: 787878
    .1.3.6.1.4.1.8072.1.3.2.3.1.2.1.51 = STRING: 787878
    .1.3.6.1.4.1.8072.1.3.2.3.1.3.1.51 = INTEGER: 1
    .1.3.6.1.4.1.8072.1.3.2.3.1.4.1.51 = INTEGER: 55
    .1.3.6.1.4.1.8072.1.3.2.4.1.2.1.51.1 = STRING: 787878
    
    

    이제 공통 부분을 유지하고 편리한 형식을 추가하여 두 연습을 한 줄씩 비교할 수 있습니다

    예 1 : snmpwalk -On -c public -v 2c 127.0.0.1 SNMPv2-SMI::enterprises.32473 .1.3.6.1.4.1.32473.1.0 = INTEGER: 1 .1.3.6.1.4.1.32473.2.1.2.1.50 = STRING: "/tmp/snmp.sh" .1.3.6.1.4.1.32473.2.1.3.1.50 = "" .1.3.6.1.4.1.32473.2.1.4.1.50 = "" .1.3.6.1.4.1.32473.2.1.5.1.50 = INTEGER: 5 .1.3.6.1.4.1.32473.2.1.6.1.50 = INTEGER: 1 .1.3.6.1.4.1.32473.2.1.7.1.50 = INTEGER: 1 .1.3.6.1.4.1.32473.2.1.20.1.50 = INTEGER: 4 .1.3.6.1.4.1.32473.2.1.21.1.50 = INTEGER: 1 .1.3.6.1.4.1.32473.3.1.1.1.50 = STRING: "2018-06-07 20:24:36" .1.3.6.1.4.1.32473.3.1.2.1.50 = STRING: "2018-06-07 20:24:36" .1.3.6.1.4.1.32473.3.1.3.1.50 = INTEGER: 1 .1.3.6.1.4.1.32473.3.1.4.1.50 = INTEGER: 33 .1.3.6.1.4.1.32473.4.1.2.1.50.1 = STRING: "2018-06-07 20:24:36"
    예 2 : .1.3.6.1.4.1.32473. 1.0 = INTEGER: 1

    모든 항목에 대해 동일하게 수행하고 한 줄씩 비교 :

    .1.3.6.1.4.1.8072.1.3.2.1.0 = INTEGER: 1
    
    
    nsExtendNumEntries .1.0 = INTEGER: 1 nsExtendCommand .2.1.2.1.50 = STRING: "/tmp/snmp.sh" nsExtendArgs .2.1.3.1.50 = "" nsExtendInput .3.2.1.4.1.50 = "" nsExtendCacheTime .2.1.5.1.50 = INTEGER: 5 nsExtendExecType .2.1.6.1.50 = INTEGER: 1 nsExtendRunType .2.1.7.1.50 = INTEGER: 1 nsExtendStorage .2.1.20.1.50 = INTEGER: 4 nsExtendStatus .2.1.21.1.50 = INTEGER: 1 nsExtendOutput1Line .3.1.1.1.50 = STRING: "2018-06-07 20:24:36" nsExtendOutputFull .3.1.2.1.50 = STRING: "2018-06-07 20:24:36" nsExtendOutNumLines .3.1.3.1.50 = INTEGER: 1 nsExtendResult .3.1.4.1.50 = INTEGER: 37 nsExtendOutLine .4.1.2.1.50.1 = STRING: "2018-06-07 20:24:36"

  • 이전 C의 간단한 strtod () 예제
  • 다음 html - 이 레이아웃은 모든 유형의 CSS 그리드에서도 가능합니까? (Flex, Grid, Box Model 등)