Munin Dynazoom не работает над Ubuntu
Недавно я установил Munin на своих машинах. Я получил все, чтобы работать, и данные на самом деле рисуются на графиках!:)
Но по какой-то причине, когда я нажимаю на каждый отдельный график, он приводит меня на страницу dynazoom, но все это обычный текст без изображений: (
Вот мой apache.conf:
# Enable this for template generation
Alias /munin /var/cache/munin/www
# Enable this for cgi-based templates
#Alias /munin-cgi/static /var/cache/munin/www/static
#ScriptAlias /munin-cgi /usr/lib/munin/cgi/munin-cgi-html
#<Location /munin-cgi>
# Order allow,deny
# Allow from localhost 127.0.0.0/8 ::1
# AuthUserFile /etc/munin/munin-htpasswd
# AuthName "Munin"
# AuthType Basic
# require valid-user
#</Location>
<Directory /var/cache/munin/www>
Order allow,deny
# Allow from localhost 127.0.0.0/8 ::1
Allow from all
Options None
AllowOverride None
# This file can be used as a .htaccess file, or a part of your apache
# config file.
#
# For the .htaccess file option to work the munin www directory
# (/var/cache/munin/www) must have "AllowOverride all" or something
# close to that set.
#
AuthUserFile /etc/munin/munin-htpasswd
AuthName "Munin"
AuthType Basic
require valid-user
# This next part requires mod_expires to be enabled.
#
# Set the default expiration time for files to 5 minutes 10 seconds from
# their creation (modification) time. There are probably new files by
# that time.
#
<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault M310
</IfModule>
</Directory>
# Enables fastcgi for munin-cgi-html if present
#<Location /munin-cgi>
# <IfModule mod_fastcgi.c>
# SetHandler fastcgi-script
# </IfModule>
#</Location>
#<Location /munin-cgi/static>
# SetHandler None
#</Location>
# Enables fastcgi for munin-cgi-graph if present
ScriptAlias /munin-cgi/munin-cgi-graph /usr/lib/munin/cgi/munin-cgi-graph
<Location /munin-cgi/munin-cgi-graph>
Order allow,deny
Allow from localhost 127.0.0.0/8 ::1
# AuthUserFile /etc/munin/munin-htpasswd
# AuthName "Munin"
# AuthType Basic
# require valid-user
<IfModule mod_fcgid.c>
SetHandler fcgid-script
</IfModule>
<IfModule !mod_fcgid.c>
SetHandler cgi-script
</IfModule>
</Location>
ScriptAlias /munin-cgi/munin-cgi-html /usr/lib/munin/cgi/munin-cgi-html
<Location /munin-cgi/munin-cgi-html>
Order allow,deny
Allow from localhost 127.0.0.0/8 ::1
# AuthUserFile /etc/munin/munin-htpasswd
# AuthName "Munin"
# AuthType Basic
# require valid-user
<IfModule mod_fcgid.c>
SetHandler fcgid-script
</IfModule>
<IfModule !mod_fcgid.c>
SetHandler cgi-script
</IfModule>
</Location>
Любая причина, по которой это не может работать? Если я не предоставил достаточно информации, пожалуйста, дайте мне знать. Спасибо вам
Ответы
Ответ 1
У меня была такая же проблема на Ubuntu 14.04.
Проверяя /var/log/apache2/error.log
, я обнаружил, что script жалуется на недостающие модули:
Can't locate CGI/Fast.pm in @INC (you may need to install the CGI::Fast module) (@INC contains: /etc/perl /usr/local/lib/perl/5.18.2 /usr/local/share/perl/5.18.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.18 /usr/share/perl/5.18 /usr/local/lib/site_perl) at /usr/lib/munin/cgi/munin-cgi-graph line 36.
Я установил модуль CGI:: Fast для решения проблемы:
sudo apt-get install libcgi-fast-perl
Нет необходимости в каком-либо правиле перезаписи, как указано в другом ответе. Пакеты в Ubuntu 14.04 правильно настроили имена путей.
Ответ 2
Включение apache2 cgi (или cgid) делает работу dynazoom.
sudo a2enmod cgi; sudo service apache2 restart
Ответ 3
В дополнение к ermannob ответ; мой apache2 error.log сообщил
AH01797: client denied by server configuration: /usr/lib/munin/cgi/munin-cgi-graph
который не позволил мне возиться с правами доступа к файлам в ОС и заставил меня взглянуть на конфигурацию apache. Все, что требовалось, это изменить
<Location /munin-cgi/munin-cgi-graph>
Order allow,deny
Allow from localhost 127.0.0.0/8 ::1
...
в /etc/apache2/conf-enabled/munin.conf, чтобы
<Location /munin-cgi/munin-cgi-graph>
Require all granted
Options FollowSymLinks SymLinksIfOwnerMatch
Мне не нужно было устанавливать пакеты fastcgi, и я следовал инструкциям здесь. Они предлагают, чтобы конфигурация была добавлена непосредственно в файл apache.conf, однако, ослабив разрешения в файле conf-enabled/munin.conf (для /munin,/munin-cgi/munin-cgi-graph и /munin-cgi/munin-cgi-html) было достаточно. Я пропустил изменения в apache.conf.
Ответ 4
При запуске Ubuntu 14.04 я исправил это на своих собственных серверах, обновив конфигурацию apache в файле /etc/apache 2/conf-available/munin.conf от 2.2 до 2.4
Пример:
<Directory /var/cache/munin/www>
Order allow,deny
Allow from localhost 127.0.0.0/8 ::1
....
</Directory>
необходимо изменить на
<Directory /var/cache/munin/www>
# Order allow,deny
# Allow from localhost 127.0.0.0/8 ::1
Require all granted
....
</Directory>
или вы могли бы сделать
Require host localhost
или
Require ip 127.0.0.0/8 ::8
см. документацию apache об изменениях здесь. Когда я это понял, я уже прошел и установил FastCGI и модуль perl, указанный в этом потоке. Это изменение необходимо будет сделать для всех областей местоположения/каталога, которые вы видите в файле munin.conf.
Ответ 5
У меня была та же проблема на Debian 8. Я редактировал файл /etc/munin/apache 24.conf следующим образом:
Alias /munin /var/cache/munin/www
<Directory /var/cache/munin/www>
Require all granted
Options FollowSymLinks SymLinksIfOwnerMatch
</Directory>
ScriptAlias /munin-cgi/munin-cgi-graph /usr/lib/munin/cgi/munin-cgi-graph
<Location /munin-cgi/munin-cgi-graph>
Require all granted
Options FollowSymLinks SymLinksIfOwnerMatch
<IfModule mod_fcgid.c>
SetHandler fcgid-script
</IfModule>
<IfModule !mod_fcgid.c>
SetHandler cgi-script
</IfModule>
</Location>
Затем я установил libapache2-mod-fcgid, как упоминалось ранее.
После перезагрузки munin- node он работает правильно.
Ответ 6
Я испытал такое же поведение в Ubuntu 14.04 LTS. Причина в том, что URL-адрес изображения на странице dynazoom был неправильно использован /cgi-bin/munin-cgi-graph/
вместо /munin-cgi/munin-cgi/graph/
, поэтому вместо поиска в коде для исправления этой ошибки я работал с ним с помощью правила быстрой перезаписи:
RewriteRule ^/cgi-bin/munin-cgi-graph/(.*) /$1
Надеюсь, что это поможет
Ответ 7
Вы должны изменить часть конфигурации о munin-cgi-графе, установив те же разрешения, что и основной раздел. Здесь ваша конфигурация:
# Enables fastcgi for munin-cgi-graph if present
ScriptAlias /munin-cgi/munin-cgi-graph /usr/lib/munin/cgi/munin-cgi-graph
<Location /munin-cgi/munin-cgi-graph>
Order allow,deny
Allow from localhost 127.0.0.0/8 ::1
# AuthUserFile /etc/munin/munin-htpasswd
# AuthName "Munin"
# AuthType Basic
# require valid-user
<IfModule mod_fcgid.c>
SetHandler fcgid-script
</IfModule>
<IfModule !mod_fcgid.c>
SetHandler cgi-script
</IfModule>
</Location>
измените его на это:
# Enables fastcgi for munin-cgi-graph if present
ScriptAlias /munin-cgi/munin-cgi-graph /usr/lib/munin/cgi/munin-cgi-graph
<Location /munin-cgi/munin-cgi-graph>
Order allow,deny
# Allow from localhost 127.0.0.0/8 ::1
Allow from all
AuthUserFile /etc/munin/munin-htpasswd
AuthName "Munin"
AuthType Basic
require valid-user
<IfModule mod_fcgid.c>
SetHandler fcgid-script
</IfModule>
<IfModule !mod_fcgid.c>
SetHandler cgi-script
</IfModule>
</Location>
Кроме того, мне пришлось установить пакет libcgi-fast-perl, выполнив следующее:
sudo apt-get install libcgi-fast-perl
Проверка /var/log/apache2/error.log
мне очень помогла.
Ответ 8
В моем случае после https://bugs.launchpad.net/ubuntu/+source/munin/+bug/1258026 и http://munin-monitoring.org/wiki/MuninConfigurationMasterCGI работал.
Единственная проблемная часть заключалась в том, где можно было установить конфигурацию виртуального хоста Apache, оказалось, что он работал с /etc/apache2/sites-enabled/001-munin.conf
.