snmp - 如何在 PEN 下构建 OID 树而不是 Net-SNMP 扩展?

标签 snmp net-snmp

目前,我的 OID 使用 extend 从 Net-SNMP 分支,这会产生如下所示的 OID:

SNMPv2-SMI::enterprises.8072.1.3.2.4.1.2.1.49.1258

或者没有 MIB:

.1.3.6.1.4.1.8072.1.3.2.4.1.2.1.49.1258

8072 是 Net-SNMP,
49 是 ASCII“1”的十进制值(我为扩展名指定的任意名称),并且
1258 是我的根 OID (49) 上的一个“叶子”。

现在我有了 PEN如何在我的 PEN 下创建 OID 树,以便我可以执行 snmpwalk显示:

.1.3.6.1.4.1.<MyPEN>.<MyOIDTree>

操作系统:Linux(Raspbian)

最佳答案

部分解决方案:

-好-
extend 中指定 OID命令(在 snmpd.conf 中)如下所示:

extend [OID] <extName> </dir/binary> </dir/script>

OID 是可选的,但是,省略它会导致默认使用 Net-SNMP PEN。

就我而言,我的extend看起来像这样:

extend .1.3.6.1.4.1.<myPEN> SQL /bin/sh /usr/sbin/MyScript.sh

这会产生以下输出:

.1.3.6.1.4.1.[PEN redacted].4.1.2.3.83.81.76.1258 = STRING: "My Data"

这更接近所需的结构,因为它现在是从自定义 PEN 扩展而来的,尽管现在面临着修剪 .4.1.2.3 的问题。和 .83.81.76 (由扩展名“SQL”产生)。

如果有人知道如何删除它们,请将其作为新答案发布!

-更好-
使用pass命令:
pass .1.3.6.1.4.1.PEN /bin/sh /home/pi/net-snmp/local/shellCode
Shell 代码示例:passtest

输出:

.1.3.6.1.4.1.PEN.1.0 = STRING: "Hello World!"
.1.3.6.1.4.1.PEN.2.1.2.1 = INTEGER: 9
.1.3.6.1.4.1.PEN.2.1.3.1 = OID: .1.3.6.1.4.1.PEN.99
.1.3.6.1.4.1.PEN.3.0 = Timeticks: (363136200) 42 days, 0:42:42.00
.1.3.6.1.4.1.PEN.4.0 = IpAddress: 127.0.0.1
.1.3.6.1.4.1.PEN.5.0 = Counter32: 9
.1.3.6.1.4.1.PEN.6.0 = Gauge32: 9

这似乎解决了这两个问题,但是我不确定它与“正确的”OID 树安装相比的功能范围。

-最佳-(完整解决方案)
使用 MIB 注册 OID...

关于snmp - 如何在 PEN 下构建 OID 树而不是 Net-SNMP 扩展?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50648488/

相关文章:

python - 解析 SNMP MIB 文件以生成设备和 OID 列表

snmp - 如何从 SNMP 流中获取变量的单位?

SNMP GETBULK 问题 : Only could get parts records(Such as 59 records, 但有超过 100 条记录)

snmp - 警告 : Failed to connect to the agentx master agent ([NIL])

php - PHP/Linux 中的 SNMP 陷阱

ubuntu - 如何在 Ubuntu 中使用 snmp 检索 hrSWRuntable?

mysql - 如何在 Ubuntu 的一个 Makefile 中编译 libssh、mysql 和 net-snmp?

c - net-snmp api 使用用户的凭据

port - 使用 snmptrap 时指定端口

linux - 在Unix/Linux上提供检查信息的网络服务