我是 snmp 初学者,创建了一个自定义 MIB,并通过 pass persist 将其包含在 snmpd.conf 中。
pass_persist .1.3.6.1.4.1.56947.1.1 /usr/bin/env python3 -u my_script.py
虽然我可以成功查询数据,但返回的数据是 OID 和 OID 的文本表示之间的混合。
就像是
SNMPv2-SMI::enterprises.56947.1.1.1
如果我查询,例如 UCD MIB (.1.3.6.1.4.1.2021) 我得到完整的文本表示,就像UCD-SNMP-MIB::memIndex.0
对应于.1.3.6.1.4.1.2021.4.1
据我所知,UCD Mib 已合并到 net-snmp 本身,并且可能与我自己的 MIB 不同。
我的 MIB(为了简洁省略了一些部分)
MY-MIB DEFINITIONS ::= BEGIN
IMPORTS
MODULE-IDENTITY, enterprises, Integer32
FROM SNMPv2-SMI
myMIB MODULE-IDENTITY
-- identify stuff
::= { enterprises 56947 }
product1 OBJECT IDENTIFIER ::= { myMIB 1 }
product1Data OBJECT IDENTIFIER ::= { product1 1 }
objectCount OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION "test"
::= { product1Data 1 }
END
但是这种行为是设计的还是我错过了什么?
我的期望/希望是收到类似的东西MY-MIB::objectCount
我混淆了代理和经理,并认为这些工具喜欢
snmpwalk
并snmptranslate
使用配置/etc/snmp/snmpd.conf
(注意最后的d),但他们使用/etc/snmp/snmp.conf
.我
mibs +MY-MIB
在
/etc/snmp/snmp.conf
(在经理机器上)添加了线路并且它起作用了。还将您的 mib 文件添加到您的经理/客户(我将我的添加到
/usr/share/snmp/mibs
)