Ubuntu 10.04 上的 HAProxy perl 插件和 Net-SNMPd

Ubuntu 10.04 上的 HAProxy perl 插件和 Net-SNMPd

我正在尝试通过 SNMP 监控 HAProxy 状态。有一个用于 NetSNMP 的 haproxy.pl 文件,我已根据 复制并设置到 snmpd.conf 中/usr/share/doc/haproxy/contrib/netsnmp-perl/README.gz。已将两行附加到 snmpd.conf:

disablePerl false
perl do '/etc/snmp/haproxy.pl';

这应该可以解决问题,但是查询相应的 OID 只会给出:

denis@nagios:~# snmpbulkwalk -c public -v2c 192.168.1.102 1.3.6.1.4.1.29385.106
SNMPv2-SMI::enterprises.29385.106 = No Such Object available on this agent at this OID

我在网上做了研究,似乎有一些关于 Ubuntu 的 net-snmp 没有使用 --enable-embedded-perl 选项进行编译的模糊信息。我检查了一下,net-snmp-config --configure-options没有提到嵌入式 perl 选项,这意味着它默认启用嵌入式 perl 支持,根据安装文档。此外,我得到了错误embedded perl support failed to initalize(显然意味着我缺少先决条件模块) 直到我安装了 libsnmp-dev - 另一个线索是嵌入式 perl 支持已被编译。

Net-SNMP 现在重新启动得相当好,没有错误,但我还没有成功查询 HAProxy OID。我的日志只显示类似

Connection from UDP: [192.168.1.111]:34391->[192.168.1.102]

任何想法都非常感谢。此外,如果有人在 Ubuntu 上运行了一些 perl-agent 设置,我很乐意听听配置细节。

答案1

确保你的 haproxy 统计信息已启用

 haproxy.cfg
 global
     stats socket /var/run/haproxy.stat mode 666

然后尝试执行 /etc/snmp/haproxy.pl

 perl /etc/snmp/haproxy.pl

如果上述步骤运行良好,它应该显示输出,当您 snmpwalk 仍然没有输出时,请再次检查您的 snmp 安装。或者只需运行以下命令来检查您的标准 snmp 是否正常工作。

 snmpwalk -c YOUR_COMMUNITY -v1 YOUR_IPADDRESS

上述命令应该显示诸如 cpu、ip 地址等统计信息,并且 snmp 安装和配置应该没问题。这意味着 haproxy 的 snmp perl 上存在问题。

相关内容