В этой статье вы узнаете, как контролировать загрузку веб-сервера Apache и отслеживать запросы с помощью модуля mod_status, совместимого со всеми современными дистрибутивами Linux, такими как RHEL, Fedora и Ubuntu.
🖧 Как настроить Apache на проксирование запросов WebSocket (wss://)
Что такое mod_status?
mod_status – это модуль Apache, предоставляющий в режиме реального времени информацию о загрузке веб-сервера и текущих соединениях, доступную через HTML-интерфейс, который можно просматривать в браузере.
Этот интерфейс отображает статистику сервера, в том числе:
- Общее количество полученных запросов
- Общее количество обслуживаемых байт
- Использование процессора
- Загрузка и время работы сервера
- Статистика трафика
- Активные и неактивные рабочие
- Идентификаторы процессов подключенных клиентов и многое другое.
Среда тестирования
В описанных здесь шагах используется следующая конфигурация:
- Операционная система: Ubuntu 22.04 / RHEL 9
- Приложение: Apache HTTP Server
- Путь: /var/www/html
- Конфигурационный файл Apache: /etc/apache2/apache2.conf (Debian/Ubuntu) или /etc/httpd/conf/httpd.conf (CentOS/RHEL)
- Порт HTTP по умолчанию: 80 TCP
Включение mod_status в Apache
В большинстве современных дистрибутивов mod_status включен по умолчанию, и вы можете убедиться в этом, выполнив следующую команду.
Затем откройте файл конфигурации Apache.
Чтобы получить доступ к статусу сервера, добавьте или измените следующую секцию в конфигурационном файле Apache:
<Location /server-status> SetHandler server-status Require local Require ip YOUR_IP_ADDRESS </Location>
Чтобы разрешить удаленный доступ, замените YOUR_IP_ADDRESS на ваш реальный IP-адрес.
Если вы используете виртуальные хосты, повторите эту настройку в каждом соответствующем разделе <VirtualHost>.
<VirtualHost *:80> DocumentRoot /var/www/html ServerName example.com <Location /server-status> SetHandler server-status Require ip YOUR_IP_ADDRESS </Location> </VirtualHost>
Чтобы получить более подробные показатели, такие как загрузка процессора и количество запросов в секунду, вы можете включить ExtendedStatus, добавив эту строку в свой конфигурационный файл.
ExtendedStatus On
После внесения изменений перезапустите службу Apache, чтобы применить их:
Теперь вы можете получить доступ к странице состояния вашего сервера, перейдя по ссылке:
http://YOUR_SERVER_IP/server-status
Чтобы он автоматически обновлялся каждые несколько секунд, добавьте к URL ?refresh=5 (или любое другое количество секунд):
Проверка состояния сервера Apache из командной строки
Чтобы проверить состояние сервера Apache из командной строки, вы можете воспользоваться lynx – текстовым веб-браузером.
После установки попробуйте выполнить команду apachectl, чтобы проверить состояние сервера Apache:
Это позволит получить краткую информацию о состоянии сервера, включая количество обработанных запросов, время работы сервера и другие важные показатели.
Заключение
Модуль mod_status в Apache – это мощный и простой в использовании инструмент мониторинга, позволяющий в режиме реального времени получать информацию о нагрузке и производительности вашего сервера.
Это поможет вам проактивно устранять неполадки и поддерживать сервер в оптимальном состоянии.
см. также:
- 🌐 Защита Apache от брутфорса и DDoS с помощью модулей Mod_Security и Mod_evasive
- Как установить Apache с mod_ssl & mod_http2 на RHEL 8
- 🌐 Как разрешить в Apache только методы GET и POST
- 🔎 Парсинг полезной информации из логов сервера Apache с помощью awk