我一直在尝试设置一些 SNMP 扩展。以下是目标主机上 /etc/snmp/snmpd.conf 的示例条目:
extend php_pids /var/skotos/cacti/check-proc lsphp5
程序运行正常:
# /var/skotos/cacti/check-proc lsphp5
There are 26 lsphp5 processes.
但是,当我进入我的 Cacti 服务器时,出现错误:
snmpwalk -c <community> <site> 'NET-SNMP-EXTEND-MIB::nsExtendOutput1Line."php_pids"'
NET-SNMP-EXTEND-MIB::nsExtendOutput1Line."php_pids": Unknown Object Identifier
(我从 Cacti 获得超时,但我认为 snmpwalk 会带走中间人。)
对于服务器上的 Cacti 和目标上的 SNMP,其他一切都运行正常,但由于某种原因,我根本无法使 nsExtendOutput1Line 工作。
这是一个非常新的 Debian Wheezy 7.4 安装。
答案1
由于许可问题,MIB 数据库已从 libsnmp-base 中删除,因此您的客户端目前无法将名称转换为 OID。您可以直接使用对象标识符查询 snmpd 服务器,方法是:(请求输出的第一行)
snmpwalk -c <community> <site> 1.3.6.1.4.1.8072.1.3.2.3.1.1
或者,您可以安装非免费存储库中的 snmp-mibs-downloader 包。
apt-get install snmp-mibs-downloader
它应该会自动下载数据库,但如果出于某种原因它不只是运行“download-mibs”脚本。数据库正确下载后,命令:
snmpwalk -c <community> <site> 'NET-SNMP-EXTEND-MIB::nsExtendOutput1Line."php_pids"'
就可以了。