LINUX.ORG.RU

Munin не отдаёт изображения. В чём дело?

 , , , ,


0

2

Здравствуйте, господа. Решил на Debian поставить munin - пособирать статистику с целью выявления узких мест в системе.

1. Ставлю версию 2.0.25-1~bpo70+1 из backports:

aptitude install -t wheezy-backports munin munin-node munin-plugins-extra libwww-perl libio-all-lwp-perl

2. Создаю директорию для хранения контента и назначаю владельца:

mkdir /var/www/munin && chown -R munin:munin /var/www/munin

3. Файл /etc/munin/munin.conf привожу к следующему виду:

dbdir /var/lib/munin
htmldir /var/www/munin
logdir /var/log/munin
rundir /var/run/munin
#tmpldir /etc/munin/templates
#staticdir /etc/munin/static
#cgitmpdir /var/lib/munin/cgi-tmp
includedir /etc/munin/munin-conf.d
#graph_period second
graph_strategy cron
#munin_cgi_graph_jobs 6
#cgiurl_graph /munin-cgi/munin-cgi-graph
#max_size_x 4000
#max_size_y 4000
html_strategy cron
#max_processes 16
#rrdcached_socket /var/run/rrdcached.sock

[test]
address 127.0.0.1
use_node_name yes

4. Файл /etc/munin/munin-node.conf, соответственно, к такому:

log_level 4
log_file /var/log/munin/munin-node.log
pid_file /var/run/munin/munin-node.pid
background 1
setsid 1
user root
group root
ignore_file [\#~]$
ignore_file DEADJOE$
ignore_file \.bak$
ignore_file %$
ignore_file \.dpkg-(tmp|new|old|dist)$
ignore_file \.rpm(save|new)$
ignore_file \.pod$
host_name test
allow ^127\.0\.0\.1$
allow ^::1$
host *
port 4949

5. Далее, обновляю БД:

munin-node-configure --shell | sh
sudo -u munin munin-cron

6. Теперь устанавливаю spawn-fcgi:

aptitutde install spawn-fcgi

7. Создаю сокеты:

spawn-fcgi -s /var/run/munin/fcgi-graph.sock -U www-data -u www-data -g www-data /usr/lib/munin/cgi/munin-cgi-graph
spawn-fcgi -s /var/run/munin/fcgi-html.sock -U www-data -u www-data -g munin  /usr/lib/munin/cgi/munin-cgi-html

8. В /etc/nginx/conf.d/locations.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;
}

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/munin/fcgi-html.sock;
include fastcgi_params;
}

9. Перезапускаю nginx.

В итоге в /var/www/munin/ контент-файлы появляются, однако, когда захожу на http://admina.vkabinete.net/munin/test/test/, то изображений нет. В чём может быть проблема?


Вероятно, проблема в правах. Рекомендую попробовать из консоли запустить munin-cgi-graph и посмотреть, что он скажет.

post-factum ★★★★★ ()
Ответ на: комментарий от post-factum

Ругалось на права доступа у log-файлов. Сменил владельца для файлов munin-cgi-graph.log и munin-cgi-html.log на munin\munin. Теперь при запуске munin-cgi-graph пишет:

Status: 404 Not Found Content-Type: image/png X-Munin-Pid: 21068 X-Munin-Request: 0/0

Sferg ()
Ответ на: комментарий от post-factum

Нет, изображений с графиками не появляется.

Пути к некоторым не открывающимся изображениям, которые удалось получить с помощью инструмента «Проинспектировать элемент» в браузере Opera 12.17:

../../test/test/diskstats_iops-day.png
../../test/test/mysql_bin_relay_log-day.png
../../test/test/cpu-day.png

Sferg ()
Ответ на: комментарий от post-factum

Если в /etc/nginx/conf.d/locations.conf вместо той конструкции, что я указал в своём первом сообщении, прописать эту:

location /munin {
    root            /var/www;
    index           index.html;
}


, то графики есть. Но почему-то не выводится увеличенный график, где можно выделять участки...

Sferg ()
Ответ на: комментарий от Sferg

Смотри как у меня сделано:

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

        location /munin/static/ {
                alias /etc/munin/static/;
        }

        location /munin/ {
                auth_basic "Restricted administrative access";
                auth_basic_user_file /etc/munin/munin.passwd;
                fastcgi_split_path_info ^(/munin)(.*);
                fastcgi_param PATH_INFO $fastcgi_path_info;
                fastcgi_pass unix:/var/run/munin/fcgi-html.sock;
                include fastcgi_params;
        }

Статику munin кладёт по умолчанию в /var/cache/munin/www, поэтому у меня вот так:

root /var/cache/munin/www;

Запускаю вот так:

spawn-fcgi -s /var/run/munin/fcgi-html.sock -U www-data -u munin -g munin /usr/lib/munin/cgi/munin-cgi-html
spawn-fcgi -s /var/run/munin/fcgi-graph.sock -U www-data -u munin -g munin /usr/lib/munin/cgi/munin-cgi-graph

Долго возился с правами, чтобы всё заработало.

post-factum ★★★★★ ()
Ответ на: комментарий от post-factum

Статику munin кладёт по умолчанию в /var/cache/munin/www, поэтому у меня вот так:

Не совсем понял, у Вас строчка:

root /var/cache/munin/www;
прописана в одном из локейшенов Munin в nginx?

Sferg ()
Ответ на: комментарий от post-factum

Вроде бы всё получилось. Благодарствую. Не пойму только почему плагин VMStat по нулям...

Sferg ()
Ответ на: комментарий от Sferg

На такие вопросы обычно дают ответы логи самого мунина. Если что-то не читается, он жалуется.

post-factum ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.