繁体   English   中英

使用Net-SNMP时,PEN之后的OID对象在snmpd.conf中扩展

[英]OID objects after PEN when using Net-SNMP extend in snmpd.conf

可以使用/etc/snmp/snmpd.conf上的PEN(专用企业编号)扩展Linux Net-SNMP代理(有关详细信息,请参见man snmpd.conf )。

# 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

在该OID上运行snmpwalk

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"

试图解释数字32473是为示例和文档保留的PEN,可以在本地将其用于测试目的50是ascii字符2 (即NAME)的十进制值。

-Of-Ossnmpwalksnmptranslate以提供对树的解释不起作用,并且输出显示纯数字

snmptranslate -OS -Td SNMPv2-SMI::enterprises.32473.2.1.1.50

结果

SNMPv2-SMI::enterprises.32473.2.1.1.50
enterprises OBJECT-TYPE
-- FROM       SNMPv2-SMI
::= { iso(1) org(3) dod(6) internet(1) private(4) enterprises(1) 32473 2 1 1 50 }

32473之后的对象(数字)是什么意思?

可以通过与不使用PEN OID的另一种形式的extend选项的snmpwalk结果进行比较来解释这些对象编号

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获得数字输出,得到

.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

PEN练习的数字输出为

 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"

现在,我们可以通过将公共部分保留在最后并添加一些方便的格式来逐行比较两个练习

.1.3.6.1.4.1.32473. 1.0 = INTEGER: 1.1.3.6.1.4.1.32473. 1.0 = INTEGER: 1 .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.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"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM