如果你选择了正确的 MIB 编号(例如 .1.3.6.1.4.1.2021.9.1.2.1),你就可以使用 SNMP 监控 Linux 系统的许多不同数据点。http://www.debianhelp.co.uk/linuxoids.htm)。
Linux 机器上每个 MIB 测试的代码存储在哪里?
是否可以添加您自己的自定义测试?(例如,当查询自定义 MIB 时,运行 python 脚本并返回响应)?
答案1
地点是大概取决于您的发行版;在 Debian 上,它们位于 下/usr/share/snmp/mibs
。除了 Antoine 关于 net-snmpd 的简单 exec 插件的回答外,您还可以为 net-snmpd 编写更复杂的插件,以便更无缝地集成;我也写了自己的Ruby SNMP 代理其设计目的是使处理自定义 SNMP 数据变得简单(这也是它存在的全部原因)。
答案2
我不知道 MIB 在 Linux 机器上存储在什么位置,但您可以使用以下语法在默认 MIB 中添加脚本的结果:
exec railsversion "/bin/bash /etc/snmp/railsversion.sh"
它将显示在您的 MIB 中,您可以使用以下命令进行测试。
snmpwalk -v 1 -c public localhost .1.3.6.1.4.1.2021.8
Debian 和其他发行版中的 snmpd.conf 文件对此进行了详细的记录。
我发现这个选项非常有用,因为它消除了对特定监控代理的需要。