SNMP 扩展不工作

SNMP 扩展不工作

我有一台运行 Postgresql 9.1 复制的服务器。我编写了一个脚本,打印出当前的复制滞后(主服务器每 60 秒插入一个 unix 时间戳,从服务器将其与当前时间戳进行比较)。

我已经添加

extend replag /usr/local/bin/check_lag_quietly.sh

snmpd.conf并重新启动snmpd服务,但当我从本地主机或网络上的另一台计算机对主机进行 snmpwalk 时,我可以看到所有其他 OID,但看不到这个。
如果我执行 SNMP-Get as

tom.oconnor@charcoal-black:~$ snmpget -v2c -cpublic dns-2 UCD-SNMP-MIB::extTable
UCD-SNMP-MIB::extTable = No Such Object available on this agent at this OID

那么它也找不到那里的 OID。

Net-SNMP 版本 5.4.2.1,Ubuntu 10.04。

答案1

在 Debian 5.4.3 中,snmpd 似乎不会默认加载所有模块,通过添加:

-I interface,ifTable,ifXTable,cpu,cpu_linux,hw_mem,extend,versioninfo,snmp_mib,ip,at,system_mib

到 snmpd 的命令行(注意其中的“extend”),我可以:

snmpwalk -Ou  -v 1 -c public localhost nsExtendOutput2Table

返回默认的“扩展”示例:

enterprises.netSnmp.netSnmpObjects.nsExtensions.nsExtendObjects.nsExtendOutput2Table.nsExtendOutput2Entry.nsExtendOutLine."test1".1 = STRING: Hello, world!
enterprises.netSnmp.netSnmpObjects.nsExtensions.nsExtendObjects.nsExtendOutput2Table.nsExtendOutput2Entry.nsExtendOutLine."test2".1 = STRING: Hello, world!
enterprises.netSnmp.netSnmpObjects.nsExtensions.nsExtendObjects.nsExtendOutput2Table.nsExtendOutput2Entry.nsExtendOutLine."test2".2 = STRING: Hi there

这与您想要的很接近。

您可以使用以下命令获取所有 snmpd 模块的列表:

snmpd -Dmib_init -H

我想这里真正的问题是“如何让 snmpd 默认加载其所有模块”

答案2

我们需要在配置pkg时启用agent/extend模块。

./configure --with-default-snmp-version=2 --with-logfile=/var/log/snmpd.log --with-sys-location= --with-sys-contact= --with-persistent-directory=/home/swuser/snmp --with-mibs=RFC1213-MIB --with-mibdirs= --disable-scripts --with-out-mib-modules=examples/ucdDemoPublic,mibII/system_mib --without-kmem-usage --disable-mibs --disable-mib-loading --disable-manuals --without-perl-modules --enable-shared --host=arm-none-linux-gnueabi --with-cc=arm-none-linux-gnueabi-gcc --target=arm-none-linux-gnueabi --disable-embedded-perl --with-ar=arm-none-linux-gnueabi-ar --with-mib-modules="ucd-snmp/dlmod"

在这里,您可以通过以下方式禁用代理/扩展模块,--with-out-mib-modules=agent/extend否则默认情况下它在 net-snmp-5.7 中启用

相关内容