尽管 munin-run show data 和其他插件运行正常,但 Munin haproxy 插件仍未获取数据

尽管 munin-run show data 和其他插件运行正常,但 Munin haproxy 插件仍未获取数据

我有一个 Munin 服务器(2.72),可以很好地监控很多服务器。

我有一个带有 munin-node(2.0.73)的 haproxy 服务器,除 haproxy_*(haproxy_sessions_frontend、haproxy_bytes_frontend、haproxy_rate_frontend 等)之外的每个插件都能正常运行,而 haproxy_* 会给我 NaN 值。

当我在 haproxy 服务器上本地测试插件时,我得到了相关值:

# Skipping systemd properties simulation due to required systemd version (999)
# Processing plugin configuration from /etc/munin/plugin-conf.d/00-default
# Processing plugin configuration from /etc/munin/plugin-conf.d/haproxy
# Processing plugin configuration from /etc/munin/plugin-conf.d/munin-node
# Setting /rgid/ruid/ to /982/0/
# Setting /egid/euid/ to /982 982/0/
# Setting up environment
# Environment frontend = https_front haproxy-monitoring fe-letsencrypt
# Environment url = http://127.0.0.1:8080/haproxy_stats;csv;norefresh
# Environment backend = app-main haproxy-monitoring letsencrypt-backend
# About to run '/etc/munin/plugins/haproxy_sessions_frontend'
scurea490f35148af7011c03b86177948440.value 3
smaxea490f35148af7011c03b86177948440.value 25
scur4dc7a8e588e9bb787fe6e39c1c96957a.value 1
smax4dc7a8e588e9bb787fe6e39c1c96957a.value 2
scura92191189150289a82c2c4464351178c.value 0
smaxa92191189150289a82c2c4464351178c.value 5

当我从 Munin 服务器远程连接时,我得到的结果如下:

bash-4.4$ /usr/share/munin/munin-update --debug --nofork --host servxxx.domain.tld --service haproxy_session_frontend
2023/10/05 17:12:57 [DEBUG] Creating new lock file /var/run/munin/munin-update.lock
2023/10/05 17:12:57 [DEBUG] Creating lock : /var/run/munin/munin-update.lock succeeded
2023/10/05 17:12:57 [INFO]: Starting munin-update
2023/10/05 17:12:58 [DEBUG] Creating new lock file /var/run/munin/munin-datafile.lock
2023/10/05 17:12:58 [DEBUG] Creating lock : /var/run/munin/munin-datafile.lock succeeded
2023/10/05 17:12:58 [DEBUG] Writing state to /var/lib/munin/datafile.storable
2023/10/05 17:12:58 [DEBUG] about to write '/var/lib/munin/datafile.storable'
2023/10/05 17:12:58 [INFO]: Munin-update finished (1.47 sec)

但是我的 rrd 文件中充满了 NaN,并且在 munin-update.log 中,每次 Munin 尝试从节点更新数据时,我都会收到此警告:

2023/10/05 17:15:13 [WARNING] 6 lines had errors while 0 lines were correct (100.00%) in data from 'fetch haproxy_sessions_frontend' on haproxy.captcha/x.x.x.x:4949

我几乎尝试了本页上的所有方法https://guide.munin-monitoring.org/en/latest/tutorial/troubleshooting.html但我不知道。同样的插件在另一台 haproxy 服务器上运行良好。主要区别在于另一台服务器运行的是 Rocky Linux 8,而有问题的服务器运行的是 Rocky Linux 9

我该怎么做才能让这个插件运行?

答案1

我在 /var/log/messages 中找到了罪魁祸首

SELinux 拒绝了一些调用。添加以下建议的规则后,一切正常。

日志摘录:

服务器 setroubleshoot[681531]: SELinux 阻止 /usr/bin/curl 在 tcp_socket 端口 8080 上进行 name_connect 访问。

***** 插件 catchall (100.confidence) 建议 ****************************

如果您认为默认情况下应允许 curl 在端口 8080 tcp_socket 上进行 name_connect 访问。那么您应该将此报告为错误。您可以生成本地策略模块以允许此访问。现在通过执行以下命令允许此访问:

ausearch -c 'curl' --raw | audit2allow -M my-curl
semodule -X 300 -i my-curl.pp

相关内容