HAProxy 上的 Zabbix-agent 发现负载均衡主机未显示在 Zabbix Server 上

Zabbix-agent on HAProxy discover load-balanced host doesn't show up on Zabbix Server

我一直在学习本教程,但我不知道为什么它不起作用: https://github.com/anapsix/zabbix-haproxy/blob/master/README.md

长话短说: 我在 Amazon EC2 上有一个 Zabbix 服务器,我想监控我网络中的一个 HAproxy 服务器。 HAProxy 服务器上有一个 Zabbix 代理。 本教程解释了如何为 zabbix-agent 设置脚本以探索其背后的内容(haproxy 是负载平衡的内容)并将其发送回 Zabbix Server。

但是一切正常,但 Zabbix 服务器上没有任何显示,尽管 zabbix 代理和服务器正在通信,但没有发现任何主机。

1 - 我确实将 userparameter_haproxy.conf 放入 /etc/zabbix/zabbix_agentd.d/ 并且 在 zabbix_agend.conf 文件中设置它。

2 - 我确实将 haproxy_discovery.sh 放入 /usr/local/bin/ 并赋予它 +x 权限

3 - 我确实导入了 haproxy_zbx_template.xml

4 - 配置 HAProxy 控制套接字:我想是我的错误。

5- 脚本正在运行,因为我在执行此命令时得到了结果:

zabbix_agentd -t haproxy.list.discovery[FRONTEND]
zabbix_agentd -t haproxy.list.discovery[BACKEND]
zabbix_agentd -t haproxy.list.discovery[SERVERS]

6 - 我将带有 HAproxy 的主机添加到正确的模板中

7 - 我可以永远等待什么都没有出现,没有新主机。

我认为第 4 步是我做错的地方。他们在教程中说:

配置 HAProxy 以侦听 /var/run/haproxy/info.sock 或设置 检查中的自定义套接字路径(将 {$HAPROXY_SOCK} 模板宏设置为 您的自定义套接字路径)或更新 userparameter_haproxy.conf 和 haproxy_discovery.sh 用你的套接字路径

我确实让 haproxy.cfg 文件监听了文件 /var/lib/haproxy/stats 并在模板宏中设置自定义套接字路径。

附加信息: Zabbix 版本:3.4 Zabbix 服务器:RHEL 7.4 Zabbix代理:Centos 7.2 重启zabbix-agent没有报错 haproxy.log

中没有错误

更新:我确实将 Zabbix 添加到根组。

现在,在 Zabbix 服务器日志中我可以看到这条消息:

changed: Value "which: no nc in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin)
2" of type "string" is not suitable for value type "Numeric (unsigned)"

我又迷路了。


更新:我缺少 netcat,我在 zabbix 服务器和客户端上安装了它。


更新:正在运行

根据您的更新,我猜您的系统上没有安装 netcat (nc)。

安装并重试