Я включил apache_
плагины на узле munin:
ln -sv /usr/share/munin/plugins/apache_* /etc/munin/plugins/
После перезапуска узла service munin-node restart
вот ошибки, которые я получаю:
$ munin-node-configure --suggest 2>/dev/null | grep "apache\|Plugin\|------"
Plugin | Used | Suggestions
------ | ---- | -----------
apache_accesses | yes | no [apache server-status not found. check if mod_status is enabled]
apache_processes | yes | no [apache server-status not found. check if mod_status is enabled]
apache_volume | yes | no [apache server-status not found. check if mod_status is enabled]
Однако mod_status
уже включен:
$ a2enmod status
Module status already enabled
И перезапуск apache не имеет значения.
Если я попытаюсь запустить плагины вручную, вот что я получаю (я читал, что получение U - плохая новость, так что, по крайней мере, это соответствует).
$ munin-run apache_accesses --debug
# Processing plugin configuration from /etc/munin/plugin-conf.d/munin-node
# Set /rgid/ruid/egid/euid/ to /110/65534/110 110 /65534/
# Setting up environment
# About to run '/etc/munin/plugins/apache_accesses'
accesses80.value U
$ munin-run apache_processes --debug
# Processing plugin configuration from /etc/munin/plugin-conf.d/munin-node
# Set /rgid/ruid/egid/euid/ to /110/65534/110 110 /65534/
# Setting up environment
# About to run '/etc/munin/plugins/apache_processes'
busy80.value U
idle80.value U
free80.value U
$ munin-run apache_volume --debug
# Processing plugin configuration from /etc/munin/plugin-conf.d/munin-node
# Set /rgid/ruid/egid/euid/ to /110/65534/110 110 /65534/
# Setting up environment
# About to run '/etc/munin/plugins/apache_volume'
volume80.value U
Кто-нибудь знает, почему я все еще получаю server-status not found
сообщение и как я могу от него избавиться?
Обновленный ответ 1
Предложение Шейна было правильным относительно настройки обработчика запросов с помощью Location
и SetHandler
на сайте apache. Для получения дополнительной информации, mod_status
пожалуйста, обратитесь к этой странице
Я мог убедиться, что munin
это эффективно делает соответствующие запросы, посмотрев, /var/log/apache2/access.log
где я получаю это:
127.0.0.1 - - [10/Nov/2011:07:24:15 +0000] "GET /server-status?auto HTTP/1.1" 404 7774 "-" "libwww-perl/5.834
В моем случае настройки Location
было недостаточно, так как я управляю Drupal
сайтом, а в .htaccess
сочетании с mod_rewrite
переписываем запросы. Чтобы это исправить, мне пришлось добавить следующую строку в мой.htaccess
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !=/favicon.ico
RewriteCond %{REQUEST_URI} !=/server-status # <= added this line
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
Обратите внимание, что это не представляет проблемы безопасности, так как доступ к нему /server-status
ограничен на 127.0.0.1
сайте apache.
Обновленный ответ 2
Похоже, что добавление Location
на сайт apache не было необходимости, поскольку это уже определено в /etc/apache2/mods-enabled/status.conf
. Кстати, если вы хотите добавить ExtendedStatus On
директиву, это в том файле, что вы должны сделать это.
источник
mod_rewrite
работу (см. Обновленный вопрос с ответом)Я узнал, что могу бежать
но нет
Первый работает с сервером по умолчанию, второй - с виртуальным сервером.
Поэтому я явно добавил раздел apache в
/etc/munin/plugin-conf.d/munin-node
и получил мои графики Муни Apache.
источник
Я нашел решение от многих Ayromlou на этом сайте :
источник
Модуль mod_status встроен в веб-сервер Apache для получения статуса сервера из веб-браузера. С помощью этого модуля мы можем легко узнать, насколько хорошо работает сервер. Все отчеты генерируются в формате html.
Шаг 1. Проверьте, включен ли модуль состояния или нет apache2ctl -M или ls / etc / apache2 / sites-enabled
Шаг 2. Если не включено, включите его командой
статус sudo a2enmod
шаг 3. Настроить доступ,
Откройте /etc/apache2/mods-enabled/status.conf и прокомментируйте строки,
И добавьте следующую строку,
Мы можем ограничить доступ к состоянию сервера для определенных IP-адресов в этой конфигурации, отредактировав «Разрешить из нашего_публикации_адрес» вместо «Разрешить для всех».
Сохраните файл status.conf.
Step4. Перезапустите Apache по команде,
/etc/init.d/apache2 restart
Step5. Проверьте страницу состояния сервера в браузере
HTTP: // сервер-IP / сервер-статус
Надеюсь, это будет полезно.
источник
У меня была такая же проблема. Вот еще несколько диагностических шагов. Попробуй сделать
Это более прямой способ увидеть ту же ошибку « нет (нет состояния сервера apache на портах 80) »
Теперь попробуйте сделать
Для меня это дает 403 Запрещено .
Я также видел «клиент отклонен конфигурацией сервера: / var / www / server-status» в моем основном журнале ошибок apache
Вы получаете то же самое?
Для меня фактически ответ Шейна Мэддена решил это.
источник
Если / server-status запрещен только с 127.0.0.1, вы можете создать конфигурацию VirtualHost для 127.0.0.1 со следующим содержимым:
Вот более подробное объяснение
источник