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)。
安装并重试
我一直在学习本教程,但我不知道为什么它不起作用: 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)。
安装并重试