我正在使用 Amazon Linux 发行版(最新版本)。我尝试在本地节点(只有一个节点,既是节点又是主节点)安装 munin。因此我尝试:
$ sudo yum install munin munin-node httpd mod_fcgid
然后我编辑了 /etc/munin/munin.conf:
# cgi on demand
html_strategy cgi
graph_strategy cgi
然后我激活了该服务:
$ sudo chkconfig munin-node on
我检查了版本:
$ munin-node-configure --version
Version:
This is munin-node-configure (munin-node) v2.0.20.
[... more text here ...]
我确保 munin.conf 具有 ScriptAlias 指令:
<directory /var/www/html/munin>
AuthUserFile /etc/munin/munin-htpasswd
AuthName "Munin"
AuthType Basic
require valid-user
ExpiresActive On
ExpiresDefault M310
</directory>
ScriptAlias /munin-cgi/munin-cgi-graph /var/www/cgi-bin/munin-cgi-graph
我确保密码设置得非常好:
$ sudo htpasswd -c /etc/munin/munin-htpasswd MyUser
#stdin < my password
然后我重新启动了服务:
$ sudo /etc/init.d/munin restart
我的 httpd 是:
$ sudo /etc/init.d/httpd restart
但是访问 /munin-cgi/munin-cgi-graph 会出现 404 错误。但这个 404 不是类似 Apache 的 404,而是一个完全空的 404 错误,没有任何内容,就好像是 cgi 脚本给出的一样。httpd error_log 中什么也没显示。
我应该检查什么?我的问题是什么?
答案1
检查您的 apache/httpd 是否正在加载fcgid
或cgi
模块。
apachectl -M | grep cgi
应该回应
cgi_module (shared)
或者
fcgid_module (shared)
(或两者)。
如果它不存在启用它和
sudo a2enmod cgi
答案2
不幸的是,说:“...但是点击/munin-cgi/munin-cgi-graph 会出现 404...“您没有报告引起 404 的完整 URL。请注意,您需要使用适当的参数调用 munin-cgi-graph CGI,并且这些参数将由 munin 本身正确验证。
换句话说,在我这边,这个 URL:
https://my.monitoring.server/cgi-bin/munin-cgi-graph/SAN/SAN/SAN_SW_Brocade1-pinpoint=1435589472,1435697472.png?&lower_limit=&upper_limit=&size_x=800&size_y=400
将产生以下图表:
而另一个 URL:
https://my.monitoring.server/cgi-bin/munin-cgi-graph/something_random/here_and_there
将持续在你可能提到的 404 错误中:
verzulli@iMac-Chiara:~$ wget https://my.monitoring.server/cgi-bin/munin-cgi-graph/something_random/here_and_there
--2015-06-30 23:02:39-- https://my.monitoring.server/cgi-bin/munin-cgi-graph/something_random/here_and_there
[....]
Richiesta HTTP inviata, in attesa di risposta... 404 Not Found
2015-06-30 23:02:40 ERRORE 404: Not Found.
verzulli@iMac-Chiara:~$
这是 munin-cgi-graph CGI 的预期行为。快速查看源代码将显示以下内容:
while (new CGI::Fast) {
# 1rst thing is to validate the URL. Only a subset of chars are allowed.
# Return 404 if not compliant, w/o logging.
[...]
}
如果 munin-cgi-graph 处理的渲染过程失败,则很有可能记录某些内容/var/log/munin/munin-cgi-graph.log
(...根据您自己的配置,您的 LOG 路径可能会有所不同)。
如果问题仍然存在,请提供进一步的详细信息。
更新 1
至于访问 munin 网络界面的正确方法,请考虑在 munin 服务器上,所有监控活动均由 cron-job(munin-cron
)启动,该 cron-job 以启动一个作业开始并以一个和作业munin-update
结束。munin-html
munin-graph
网页由其管理,将根据文件中的指令munin-html
生成/更新网页。html-dir
munin.conf
默认安装可能如下所示:
munin.conf
:htmldir /var/www/html/munin
结合默认的 Apache 安装,你的 munin 网页界面可以在http://your.monitoring.server/munin
PS:最后的个人说明:尽管在 ServerFault 上寻求支持可能更容易,但我建议您更自然地处理您的 munin/监控问题,搜索/阅读临时文档/教程。即使一开始可能更具挑战性,但我保证从长远来看您会得到回报 :-)