Munin динамический график зум (dynazoom) не работает – Ubuntu 22.04/Nginx

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

Я знаю, что на это уже много раз отвечали, но я не могу установить fast-cgi, версия для Ubuntu 22.04 уже установлена.

Я настроил munin.conf в соответствии со всеми руководствами, включая изменение прав собственности всех соответствующих каталогов, но когда я что-то меняю, я все равно получаю ошибку собственности.

Результат munin-check:

проверка /var/cache/munin/www
проверка /var/lib/munin/cgi-tmp
ls: невозможно получить доступ к '/var/lib/munin/cgi-tmp/munin-cgi-graph/*': Нет такого файла или каталога
# /var/lib/munin/cgi-tmp/munin-cgi-graph/* : Неправильный владелец ( != munin)
проверка /var/lib/munin/datafile
проверка /var/lib/munin/datafile.storable
проверка /var/lib/munin/graphs
проверка /var/lib/munin/htmlconf.storable
проверка /var/lib/munin/limits
проверка /var/lib/munin/limits.storable
проверка /var/lib/munin/localdomain
проверка /var/lib/munin/munin-graph.stats
проверка /var/lib/munin/munin-update.stats
проверка /var/lib/munin/state-localdomain-localhost.localdomain.storable
проверка различные
# /var/lib/munin/datafile : Неправильные разрешения (664 != 644)
# /var/lib/munin/munin-update.stats : Неправильные разрешения (664 != 644)
# /var/lib/munin-node/plugin-state : Неправильный владелец (root != nobody)
Проверка завершена. Пожалуйста, обратите внимание, что этот скрипт проверяет только большинство вещей,
не все вещи.

Также обратите внимание, что этот скрипт может быть с ошибками.

Также обратите внимание, что этот скрипт может быть с ошибками.

Мой /etc/nginx/conf.d/munin.conf :

gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;

server {

    listen      127.0.0.1:5440 default_server;
    charset     utf-8;

    # Обслуживание статических файлов Munin
    location /static/ {
        alias /etc/munin/static/;
        expires modified +1w;
    }

    # Обслуживание отчетов Munin
    location / {
        alias /var/cache/munin/www/;
        expires modified +310s;
    }
    # для динамического увеличения
    location ^~ /munin-cgi/munin-cgi-graph/ {
       access_log off;
       fastcgi_split_path_info ^(/munin-cgi/munin-cgi-graph)(.*);
       fastcgi_param PATH_INFO $fastcgi_path_info;
       fastcgi_pass unix:/var/run/munin/fastcgi-graph.sock;
       include fastcgi_params;
    }
}

Вывод /etc/munin/munin.conf:

# Пример конфигурационного файла для Munin, сгенерированный с помощью 'make build'

# Следующие три переменные указывают, где находятся RRD
# базы данных, HTML вывод, журналы и файлы блокировок/pid. Все они
# должны быть записываемыми пользователем, который запускает munin-cron. Они все
# по умолчанию имеют значения, которые вы видите здесь.
#
#dbdir  /var/lib/munin
#htmldir /var/cache/munin/www
#logdir /var/log/munin
#rundir  /var/run/munin

# Где искать HTML шаблоны
#
tmpldir /etc/munin/templates

# Где искать статические www файлы
#
staticdir /etc/munin/static

# временные cgi файлы находятся здесь. Обратите внимание, что они должны быть записываемыми
# пользователем cgi (обычно nobody или httpd).
#
cgitmpdir /var/lib/munin/cgi-tmp

# (Точно один) каталог для включения всех файлов.
includedir /etc/munin/munin-conf.d

# Вы можете выбрать временную ссылку для графиков типа "DERIVE" и показать
# значения "в минуту", "в час" вместо стандартного "в секунду"
#
#graph_period second

# Графические файлы создаются либо через cron, либо через CGI процесс.
# См. http://munin-monitoring.org/wiki/CgiHowto2 для получения дополнительной
# документации.
# Начиная с 2.0, munin-graph был переписан для использования кода cgi. 
# Теперь он работает в одном потоке *по замыслу*.
#
graph_strategy cgi

# munin-cgi-graph вызывается веб-сервером очень много раз одновременно. 
# Это не оптимально, так как это приводит к высокому потреблению CPU и памяти
# до такой степени, что система может выйти из строя. По умолчанию
# 6. Вероятно, оптимальное число для max_cgi_graph_jobs такое же, как
# max_graph_jobs.
#
#munin_cgi_graph_jobs 6

# Если автоматический URL CGI неправильный для вашей системы, переопределите его здесь:
#
#cgiurl_graph /munin-cgi/munin-cgi-graph

# max_size_x и max_size_y - это максимальные размеры изображений в пикселях.
# ПоUmолчанию это 4000. Не делайте его слишком большим, иначе RRD может использовать всю
# ОЗУ для генерации изображений.
# 
#max_size_x 4000
#max_size_y 4000

# HTML файлы, как правило, генерируются с помощью munin-html, независимо от того, 
# используются ли файлы или нет. Вы можете изменить это на по запросу 
# генерацию, следуя инструкциям на http://munin-monitoring.org/wiki/CgiHowto2
# 
# Примечания: 
# - переход на CGI для HTML означает, что вы не можете генерировать график через cron.
# - cgi html имеет некоторые ошибки, в основном вам все равно нужно запускать munin-html вручную
# 
html_strategy cgi

# munin-update работает параллельно.
#
# По умолчанию максимальное число процессов составляет 16, и, вероятно, это нормально для вас.
#
# Если установить слишком высоко, это может привести к превышению некоторых пределов по процессам/памяти/файлам.
# Если установить слишком низко, munin-update может занять больше 5 минут.
#
# Если вы хотите, чтобы munin-update не работал параллельно, установите его в 0.
#
#max_processes 16

# Обновления RRD по умолчанию выполняются непосредственно на rrd файлах.
# Чтобы уменьшить ввод-вывод и включить использование rrdcached, раскомментируйте это и установите
# его на местоположение сокета, который использует rrdcached.
#
#rrdcached_socket /var/run/rrdcached.sock

# Удалить [email protected] и [email protected] по электронной почте каждый раз
# когда что-то изменяется (ОК -> ПРЕДУПРЕЖДЕНИЕ, КРИТИЧЕСКИЙ -> ОК и т.д.)
#contact.someuser.command mail -s "Munin ${var:worst}: ${var:group}::${var:host}::${var:plugin}" [email protected]
#contact.anotheruser.command mail -s "Munin ${var:worst}: ${var:group}::${var:host}::${var:plugin}" [email protected]
#
# Для тех, у кого есть Nagios, это может быть полезно. Кроме того,
# службы также должны быть определены на сервере Nagios.
#contact.nagios.command /usr/bin/send_nsca nagios.host.comm -c /etc/nsca.conf

# простое дерево хостов
[localhost.localdomain]
    address 127.0.0.1
    use_node_name yes

#
# Более сложный пример дерева хостов
#
## Сначала наш "нормальный" хост.
# [fii.foo.com]
#       address foo
#
## Затем наш другой хост...
# [fay.foo.com]
#       address fay
#
## IPv6 хост. Обратите внимание, что IP адрес должен быть в скобках
# [ip6.foo.com]
#       address [2001::1234:1]
#
## Затем мы хотим общее...
# [foo.com;Totals] # Принудительно вводим в домен "foo.com"...
#       update no   # Отключить получение данных для этого "хоста".
#
#   # График "load1". Мы хотим видеть нагрузки обеих машин...
#   # "fii=fii.foo.com:load.load" означает "метка=машина:график.поле"
#       load1.graph_title Нагрузки рядом
#       load1.graph_order fii=fii.foo.com:load.load fay=fay.foo.com:load.load
#
#   # График "load2". Теперь мы хотим, чтобы они были расположены один над другим.
#       load2.graph_title Нагрузки друг на друге
#       load2.dummy_field.stack fii=fii.foo.com:load.load fay=fay.foo.com:load.load
#       load2.dummy_field.draw AREA # Мы хотим область вместо стандартной LINE2.
#       load2.dummy_field.label dummy # Это необходимо. На самом деле, это глупо.
#
#   # График "load3". Теперь мы хотим, чтобы они были обобщены в одно поле
#       load3.graph_title Обобщенные нагрузки
#       load3.combined_loads.sum fii.foo.com:load.load fay=fay.foo.com:load.load
#       load3.combined_loads.label Комбинированные нагрузки # Необходимо установить, так как это
#                                                 # не поле-заглушка!
#
## ...и к слову, я хочу, чтобы они были перечислены в другом порядке (по умолчанию
## в алфавитном порядке)
#
# # Поскольку [foo.com] будет интерпретироваться как хост в домене "com", мы
# # указываем, что это домен, добавив точку с запятой.
# [foo.com;]
#       node_order Totals fii.foo.com fay.foo.com
#

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

Решение проблемы с динамическим зумом графиков Munin на Ubuntu 22.04/Nginx

Введение

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

1. Проверка конфигурации Nginx

Конфигурация вашего файла /etc/nginx/conf.d/munin.conf выглядит в целом корректно, однако важно убедиться, что все пути и параметры настроены правильно.

Первое, на что стоит обратить внимание — это правильность указания сокета FastCGI:

fastcgi_pass unix:/var/run/munin/fastcgi-graph.sock;

Убедитесь, что сокет действительно существует и доступен для чтения/записи. Для этого выполните команду:

ls -la /var/run/munin/fastcgi-graph.sock

Если файла нет или нет прав доступа, это может быть основной причиной проблемы.

2. Проверка прав доступа

По данным вывода команды munin-check, у вас есть несколько ошибок, связанных с правами и владельцами директорий:

  • Неверный владелец для /var/lib/munin/cgi-tmp/munin-cgi-graph/*.
  • Неверные разрешения для /var/lib/munin/datafile и /var/lib/munin/munin-update.stats.

Для исправления этих проблем выполните следующие действия:

  1. Убедитесь, что все необходимые директории созданы и имеют правильного владельца:
sudo chown -R munin:munin /var/cache/munin/www
sudo chown -R munin:munin /var/lib/munin/cgi-tmp
  1. Убедитесь, что у файлов правильные права доступа (644) с помощью команды:
sudo chmod 644 /var/lib/munin/datafile
sudo chmod 644 /var/lib/munin/munin-update.stats

Если cgi-tmp директория не существует, то создайте её:

sudo mkdir -p /var/lib/munin/cgi-tmp
sudo chown munin:munin /var/lib/munin/cgi-tmp

3. Проверка конфигурации Munin

Ваш файл конфигурации /etc/munin/munin.conf также нужно проверить на предмет правильности указания параметров. Убедитесь, что пути к директориям соответствуют тем, что у вас настроены.

Также убедитесь, что следующие параметры настроены корректно:

cgitmpdir /var/lib/munin/cgi-tmp

Параметры должны соответствовать фактическим путям, которые используются для хранения временных CGI-файлов.

4. Перезапуск службы и проверки

После внесения всех вышеописанных изменений, перезапустите службы Munin и Nginx:

sudo systemctl restart munin
sudo systemctl restart nginx

Теперь выполните команду munin-check, чтобы удостовериться, что все ошибки устранены. Если никаких проблем не осталось, попробуйте снова загрузить страницу с графиками Munin в браузере.

Заключение

Проблемы с динамическим зумом графиков Munin на Ubuntu 22.04/Nginx могут быть вызваны неправильными правами доступа, неверной конфигурацией сокета FastCGI или расхождением между конфигурационными файлами. Следуя инструкциям, изложенным в этой статье, вы сможете устранить основные проблемы. Если у вас остались вопросы или возникли новые проблемы, обратитесь к документации Munin или сообществу для получения дополнительной помощи.

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

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