Nginx и Munin через CGI, без CSS, без графиков

Вопрос или проблема

Я новичок в Munin и Nginx. Я установил и настроил Munin и создал блок сервера Nginx. Я вижу главную страницу, сгенерированную munin, на которой перечислены различные узлы. Но когда я кликаю на хост, чтобы увидеть графики, я получаю только HTML-страницу без CSS и без графиков. Более точно, в веб-странице тот же HTML-код, CSS и даже в favicon.ico. И графики не загружаются (например, у меня нет 404).

Я следовал этому руководству.

Вот мой блок сервера Nginx:

server {
    listen 80;
    server_name munin.armagnac.[masked].com;

    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 /static/ {
        alias /etc/munin/static/;
    }

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

У меня нет ошибок и ничего в логах.

Как было сказано выше, страница узла почти пустая:

webpage node

CSS отсутствует, потому что любой другой ресурс – это просто та же HTML-страница:

css и favicon - это html

Снова, в логах ничего нет и HTML и Graphs CGIs работают нормально. Но я не знаю, где проблема конфигурации, например, на стороне Nginx или в стороне Munin.

ОС: Ubuntu Server 15.04

У меня тоже была эта проблема, когда я настраивал munin.

редактировать

Что я сделал:

  1. Установил spawn-fcgi из исходников
  2. Настроил скрипт запуска для spawn-fcgi
  3. Убедился, что местоположение /munin-cgi/munin-cgi-graph/ и /munin-cgi/munin-cgi-html/ перенаправлены на соответствующие процессы fcgi, запущенные с помощью spawn-fcgi.

Мой виртуальный хост, соответствующий раздел:

location /munin {
#    alias /var/cache/munin/www;
    index index.html;
#    include /etc/nginx/php.conf;
#    access_log off;
    allow 127.0.0.1;
    allow 192.168.0.0/16;
    deny all;                                
}

location ^~ /munin-cgi/munin-cgi-graph/ {
#   if ($uri ~ /munin-cgi/munin-cgi-graph/([^/]*)) { set $path $1; }
    fastcgi_split_path_info ^(/munin-cgi/munin-cgi-graph)(.*);
    fastcgi_param PATH_INFO $fastcgi_path_info;
    fastcgi_pass unix:/var/run/munin/fastcgi-munin-graph.sock;
    include fastcgi_params;
}
location  ^~ /munin-cgi/munin-cgi-html/ {
#   if ($uri ~ /munin-cgi/munin-cgi-html/([^/]*)) { set $path $1; }
    fastcgi_split_path_info ^(/munin-cgi/munin-cgi-html)(.*);
    fastcgi_param PATH_INFO $fastcgi_path_info;
    fastcgi_pass unix:/var/run/munin/fastcgi-munin-html.sock;
    include fastcgi_params;
}

Попробуйте мою настройку здесь:
https://serverfault.com/questions/670535/munin-nginx-no-dynazoom-into-graphs/745265#745265, где также включен скрипт инициализации.

Все работает хорошо для меня до сегодня

У меня была точно такая же проблема. Что мне помогло, так это изменение

  location /munin/ {
    alias /var/cache/munin/www/;
    index index.html;
  }

на

  location ^~ /munin/ {
    alias /var/cache/munin/www/;
    index index.html;
  }

Обратите внимание на ^~. После изменения этого и перезагрузки Nginx все css и изображения начали загружаться корректно.

Ответ или решение

Решение проблемы с недоступностью CSS и графиков в Munin через Nginx

При использовании системы мониторинга Munin в связке с веб-сервером Nginx пользователь может столкнуться с проблемой, когда на странице хоста отсутствуют CSS-стили и графики. Вместо этого отображается пустая HTML-страница, что может вызывать замешательство у новых пользователей. В данной статье мы подробно разберем все аспекты настройки Munin и Nginx, чтобы устранить возникшие проблемы.

Анализ проблемы

Согласно вашему описанию, вы успешно установили и настроили Munin и Nginx. Вы видите индексную страницу Munin с перечислением различных узлов, однако при попытке открыть страницу с графиками отображается страница без стилей и графиков. Это может быть связано с неправильной конфигурацией Nginx, особенно в настройках для обработки CGI.

Неправильные настройки в конфигурации Nginx

Ваш блок сервера Nginx выглядит следующим образом:

server {
    listen 80;
    server_name munin.armagnac.[masked].com;

    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 /static/ {
        alias /etc/munin/static/;
    }

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

Проблемы в конфигурации

  1. Отсутствие корректного маршрута для статических ресурсов: Ваши настройки для /static/ могут быть неправильно обработаны или не учитываться для правильного отображения, так как Munin обычно использует папку /var/cache/munin/www/ для своих статических файлов.

  2. Локации и алиасы: Убедитесь, что ваши локации правильно настроены. Важно, чтобы у вас была установлена правильная связь между URL и диспетчером FastCGI.

  3. Использование location ^~ /munin/: Измените ваши настройки следующим образом, чтобы гарантировать правильное отображение всех ресурсов:

location ^~ /munin/ {
    alias /var/cache/munin/www/;
    index index.html;
    allow 127.0.0.1;
    allow 192.168.0.0/16;
    deny all;
}

Важные моменты

  1. Использование allow и deny: Эти директивы очень важны для безопасности вашего сервера. Убедитесь, что только выбранные вами IP-адреса могут получать доступ к страницам Munin.

  2. Проверка работы FastCGI: Убедитесь, что ваши сокеты FastCGI работают корректно. Если возникнут проблемы, вам, возможно, придется перезапустить соответствующие службы.

  3. Логи Nginx: Проверьте журналы ошибок и доступа Nginx. Если они пусты, попробуйте временно увеличить уровень логирования с помощью error_log /var/log/nginx/error.log debug; для более детального анализа.

Примеры хорошо работающих конфигураций

В качестве дополнительного ресурса, вы можете ознакомиться с конфигурацией, предложенной на ServerFault или во вкладке с ответами на вашу изначальную проблему. Это даст вам представление о том, как другие пользователи решили схожие проблемы.

Заключение

Настройка Munin и Nginx может представлять собой вызов для новичков. Однако, следуя вышеуказанным рекомендациям, вы можете устранить проблемы с отображением графиков и CSS-стилей. Настоятельно рекомендую пересмотреть конфигурацию, убедиться в корректной работе всех сервисов и не забывать о безопасности вашего веб-сервера. Не забудьте протестировать изменения после их применения и осуществлять регулярное обновление ваших компонентов для повышения производительности и безопасности.

Оцените материал
Добавить комментарий

Капча загружается...