Вопрос или проблема
Я знаю, что на это уже много раз отвечали, но я не могу установить 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
.
Для исправления этих проблем выполните следующие действия:
- Убедитесь, что все необходимые директории созданы и имеют правильного владельца:
sudo chown -R munin:munin /var/cache/munin/www
sudo chown -R munin:munin /var/lib/munin/cgi-tmp
- Убедитесь, что у файлов правильные права доступа (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 или сообществу для получения дополнительной помощи.