我有一个 400+ 节点的 munin-1.4.x 安装,我想升级到 munin-2.x,以利用 munin 主服务器上基于 CGI 的内容生成(html 和图形)。我已经浏览了官方的 dox ( http://munin-monitoring.org/wiki/CgiHowto2 ),但它根本不起作用。它只涵盖了一个 VirtualHost ( http://munin.example.com ),这不是我的设置,但我尝试使用它作为起点。
具体来说,我希望 & 需要http://example.com/munin成为动态生成列出所有节点的 html 内容的基本 URL,并带有指向各个节点页面的链接(然后在单击时动态生成/更新) . 增加的问题是我在 Fedora(16) 上执行此操作,并且我发现的绝大多数操作指南都假设 Debian/Ubuntu(或假设通过 cron 生成非 cgi 静态内容)。
官方的 Fedora munin 软件包安装了以下内容:
- munin 基本目录是 /var/www/html/munin
- munin 静态内容目录是 /var/www/html/munin/static
- munin cgi 脚本 (munin-cg-graph & munin-cg-html) 在 /var/www/html/munin/cgi
到目前为止我所做的: * 在 /etc/munin/munin.conf 中设置“html_strategy cgi”和“cgiurl_graph /munin/cgi/munin-cgi-html” * 将以下内容添加到 /etc/httpd/conf/httpd .conf:
# Rewrites
RewriteEngine On
Alias /static /var/www/html/munin/static
Alias /munin /var/www/html/munin
# HTML
RewriteCond %{REQUEST_URI} !^/static
RewriteCond %{REQUEST_URI} .html$ [or]
RewriteCond %{REQUEST_URI} =/
RewriteRule ^/(.*) /var/www/html/munin/cgi/munin-cgi-html/$1 [L]
# Images
# - remove path to munin-cgi-graph, if present
RewriteRule ^/munin/cgi/munin-cgi-graph/(.*) /$1
RewriteCond %{REQUEST_URI} !^/static
RewriteCond %{REQUEST_URI} .png$
RewriteRule ^/(.*) /var/www/html/munin/cgi/munin-cgi-graph/$1 [L]
ScriptAlias /munin/cgi/munin-cgi-graph /var/www/html/munin/cgi/munin-cgi-graph
<Location /munin/cgi/munin-cgi-graph>
Options +ExecCGI FollowSymLinks
<IfModule mod_fcgid.c>
SetHandler fcgi-script
</IfModule>
<IfModule !mod_fcgid.c>
SetHandler cgi-script
</IfModule>
</Location>
ScriptAlias /munin/cgi/munin-cgi-html /var/www/html/munin/cgi/munin-cgi-html
<Location /munin/cgi/munin-cgi-html>
Options +ExecCGI FollowSymLinks
<IfModule mod_fcgid.c>
SetHandler fcgi-script
</IfModule>
<IfModule !mod_fcgid.c>
SetHandler cgi-script
</IfModule>
</Location>
但是,在完成所有这些(并重新启动 apache)之后,当我转到http://example.com/munin时,我收到 404 错误,并且在 apache 错误日志中我看到:
File does not exist: /var/www/html/munin/cgi/munin-cgi-html/munin/index.html
我希望我只是遗漏了一些明显的东西,但现在我完全不知道还有什么可能需要调整才能完成这项工作。谢谢。