• CentOS 6.3
  • munin 2.0.17-1
  • php54(php-fpm)
  • nginx 1.2.6-1

  • 通过“epel”存储库设置munin,并进行修补后,我将其与多个节点一起使用。但是,图形缩放不适用于任何图形。根据我在网上找到的建议,我最终将* _strategy模式从HTML切换为cgi-这样做是为了确保所有图形都不会更新(因为cgi无法正常工作),并且缩放仍然损坏。

    我可以在网上找到的所有指南(包括官方的http://munin-monitoring.org/wiki/CgiHowto2)都引用使用spawnfcgi(我曾经在较旧的CentOS5服务器上使用过)并为此生成了特定的实例。但是,我在此服务器上使用的是php-fpm而不是spawnfcgi,因此无法使其适应工作。

    通过不工作,我的意思是简单地表示该图将不会加载到“缩放”屏幕上,而是显示断开的图像链接。 nginx错误日志显示:
    2013/09/05 16:31:59 [error] 29384#0: *2 open() "/usr/share/nginx/vhosts/munin.mydomain.com/public_html/munin-cgi/munin-cgi-graph/mydomain.com/host.mydomain.com/postfix_mailvolume-pinpoint=1378299671,1378407671.png" failed (2: No such file or directory), client: 10.30.2.1, server: munin.mydomain.com, request: "GET /munin-cgi/munin-cgi-graph/mydomain.com/host.mydomain.com/postfix_mailvolume-pinpoint=1378299671,1378407671.png?&lower_limit=&upper_limit=&size_x=800&size_y=400 HTTP/1.1", host: "munin.mydomain.com", referrer: "http://munin.mydomain.com/static/dynazoom.html?cgiurl_graph=/munin-cgi/munin-cgi-graph&plugin_name=mydomain.com/host.mydomain.com/postfix_mailvolume&size_x=800&size_y=400&start_epoch=1378299671&stop_epoch=1378407671"
    

    这是munin.conf:
    [16:42:21]$ cat /etc/munin/munin.conf | sed -e '/^#/d' -e '/^$/d'
    htmldir /usr/share/nginx/vhosts/munin.mydomain.com/public_html/
    includedir /etc/munin/conf.d
    graph_strategy cgi
    cgiurl_graph /munin-cgi/munin-cgi-graph
    html_strategy cgi
    [host.mydomain.com]
        address 127.0.0.1
        use_node_name yes
    [otherhost.mydomain.com]
        address 1.2.3.4
        use_node_name yes
    

    这是Nginx的虚拟主机:
    [16:44:16]$ cat /etc/nginx/conf.d/vhosts/munin.thegnomedev.com.conf | sed -e '/^$/d' -e '/^#/d'
    server {
        listen      80;
        server_name munin.mydomain.com;
        access_log /var/log/nginx/munin.mydomain.com combined;
        error_log /var/log/nginx/error.log warn;
        rewrite_log on;
        root    /usr/share/nginx/vhosts/munin.mydomain.com/public_html/;
        index   index.php index.html index.htm;
        location  /  {
            auth_basic            "Restricted";
            auth_basic_user_file  /usr/share/nginx/vhosts/munin.mydomain.com/.htpasswd;
        }
        location ^~ /cgi-bin/munin-cgi-graph/ {
            fastcgi_split_path_info ^(/cgi-bin/munin-cgi-graph)(.*);
            fastcgi_param PATH_INFO $fastcgi_path_info;
            fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
            include fastcgi_params;
        }
        location /munin/static/ {
            alias /etc/munin/static/;
        }
        location /munin/ {
            fastcgi_split_path_info ^(/munin)(.*);
            fastcgi_param PATH_INFO $fastcgi_path_info;
                    fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
            include fastcgi_params;
        }
        # Deny hidden file types
        location ~ /(\.ht|\.git|\.svn) {
        deny  all;
        }
    }
    

    在这一点上,我感到非常沮丧,以至于我想碰到大脑锁。我承认,很可能是我对nginx语法及其与php-fpm的交互方式缺乏全面的了解-尤其是如果我可以对语法进行简单更改以使其正常工作的话。

    用我现有的堆栈解决此问题的任何帮助将不胜感激。在一天的大部分时间里一直在谷歌搜索和尝试各种事情。

    谢谢

    最佳答案

    根据https://bugzilla.redhat.com/show_bug.cgi?format=multiple&id=1000736,这是与RHEL中的SELinx有关的错误。

    Description of problem:
    zooming doesn't work when selinux is in enforcing mode
    
    Version-Release number of selected component (if applicable):
    munin-2.0.17-1.el6.noarch
    selinux-policy-3.7.19-195.el6_4.12.noarch
    selinux-policy-targeted-3.7.19-195.el6_4.12.noarch
    
    Steps to Reproduce:
    1. click on munin graph to zoom in
    
    Actual results:
    no graph image
    
    Expected results:
    graph image
    
    Additional info:
    it works with selinux in permissive mode
    

    如果禁用SELinux,它将正常工作:
    sudo setenforce 0
    

    根据错误报告中的最后一条评论,此问题应在RHEL 6.5中修复(Centos应该选择它)。

    10-07 14:12