我正试图通过SNMP监视HAProxy状态。 有一个haproxy.pl文件用于NetSNMP,我已经根据/usr/share/doc/haproxy/contrib/netsnmp-perl/README.gz在snmpd.conf中设置了这个文件。 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检查了这个net-snmp-config --configure-options并且没有提到embedded式perl选项,这意味着默认情况下根据INSTALL文档启用embedded式perl支持。 此外,我得到的错误embedded perl support failed to initalize (显然意味着我失去了一个先决条件的模块 ),直到我已经安装libsnmp-dev – embeddedperl支持编译的另一个线索。
networkingSNMP现在重新启动相当好,没有错误,但我没有运气在查询HAProxy OID。 我的日志只是显示类似的条目
Connection from UDP: [192.168.1.111]:34391->[192.168.1.102]
任何想法不胜感激。 而且,如果有人在Ubuntu上运行了一些perl-agent安装程序,我很乐意听到configuration细节。
确保你的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 addr等,snmp的安装和configuration应该没问题。 对于haproxy而言,这意味着snmp perl上不对。