munin + nginx:没有动态图

aag*_*aag 6 munin nginx fastcgi

我无法让 Munin 动态变焦工作。我很确定问题与 Nginx 配置有关。任何生成缩放图的尝试都会触发 nginx 日志中的以下错误条目:

2015/02/22 13:26:01 [error] 4782#0: *2580 open() "/data/munin/usr/share/munin/cgi/munin-cgi-graph/bellaria/antergos1.bellaria/diskstats_latency/AntergosVG_AntergosRoot-pinpoint=1421756527,1424607727.png" failed (2: No such file or directory), client: 10.10.10.25, server: munin, request: "GET /usr/share/munin/cgi/munin-cgi-graph/bellaria/antergos1.bellaria/diskstats_latency/AntergosVG_AntergosRoot-pinpoint=1421756527,1424607727.png?&lower_limit=&upper_limit=&size_x=800&size_y=400 HTTP/1.1", host: "munin.bellaria", referrer: "http://munin.bellaria/static/dynazoom.html?cgiurl_graph=/usr/share/munin/cgi/munin-cgi-graph&plugin_name=bellaria/antergos1.bellaria/diskstats_latency/AntergosVG_AntergosRoot&size_x=800&size_y=400&start_epoch=1421756527&stop_epoch=1424607727"
Run Code Online (Sandbox Code Playgroud)

具体来说,我怀疑 fastCGI 参数有问题。好心人可以看看我的 Munin 虚拟服务器(见下文)并向我解释有什么问题吗?这让我发疯 - 但我有一种预感,任何专家都会在几分之一秒内确定问题......

# Munin server
server {
       listen 80;
    server_name munin munin.bellaria;
    root /data/munin;
    allow all;
    access_log logs/munin.access.log;
    error_log logs/munin.error.log;

    location / {
        index index.html index.htm index.php;
        }

    location ~ \.(php|html|html|cgi)$ {
        fastcgi_pass   unix:/run/php-fpm/php-fpm.sock;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        fastcgi_param   AUTH_USER $remote_user;
        fastcgi_param   REMOTE_USER $remote_user;
        fastcgi_param   SCRIPT_FILENAME    $document_root$fastcgi_script_name;
        fastcgi_index  index.php;
        include        fastcgi.conf;
        }


location ^~ /cgi-bin/munin-cgi-graph/ {
    access_log off;
    fastcgi_split_path_info ^(/cgi-bin/munin-cgi-graph)(.*);
    fastcgi_param PATH_INFO $fastcgi_path_info;
    fastcgi_pass unix:/var/run/munin/fcgi-graph.sock;
    include fastcgi_params;
    }

   }
Run Code Online (Sandbox Code Playgroud)

Pau*_*ane 0

这听起来像是 中的定义有问题static/dynazoom.html。在我们的安装中,我们有

form.cgiurl_graph.value = qs.get("cgiurl_graph", "/munin-cgi/munin-cgi-graph");
Run Code Online (Sandbox Code Playgroud)

我怀疑你有

form.cgiurl_graph.value = qs.get("cgiurl_graph", "/usr/share/munin/cgi/munin-cgi-graph");
Run Code Online (Sandbox Code Playgroud)

虽然应该是

form.cgiurl_graph.value = qs.get("cgiurl_graph", "/cgi-bin/munin-cgi-graph");
Run Code Online (Sandbox Code Playgroud)

我仍然相信这大概就是问题所在。只要缩放图的请求以/cgi-bin/munin-cgi-graph. 我不知道从哪里来/data/munin/...

尝试在可以监视浏览器(fiddler、chrome 开发工具)发送的请求的环境中运行,并查看真正发送的内容。

您确定您正在编辑正确的 dynazoom 副本吗?尝试进行一个微小的可见更改来验证这一点。