Мунин динамическое масштабирование графика (dynazoom) не работает (CentOS6, nginx, php-fpm)

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

Настройте munin через репо epel и после того, как я возился, я получил его работу с несколькими узлами. Однако масштаб графика не работал ни на одном из графиков. В итоге я переключил режим * _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 

Вот vhost для 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, вероятно, виноват – особенно если есть просто синтаксическое изменение, которое я могу сделать, чтобы это работало.

Любая помощь в разрешении этого с моим существующим стекем была бы наиболее оценена. Быть гуглингом и пробовать различные вещи в течение большей части дня.

благодаря

Это ошибка, связанная с SELinx в RHEL в соответствии с https://bugzilla.redhat.com/show_bug.cgi?format=multiple&id=1000736 .

 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 должен забрать его).

Вы сопоставили местоположение / cgi-bin / munin-cgi-graph / через пересылку FastCGI в PHP-FPM, но это работает для PHP-скриптов, а не для любых сценариев CGI, таких как CGI-маркер Munin, который на самом деле является Perl. Чтобы этот скрипт CGI говорил по протоколу FastCGI, обертка, которую вы должны использовать, была бы общей spawn-fcgi .