🖧 Как отслеживать загрузку Apache с помощью mod_status на Linux |

🖧 Как отслеживать загрузку Apache с помощью mod_status на Linux

Мануал

В этой статье вы узнаете, как контролировать загрузку веб-сервера 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 включен по умолчанию, и вы можете убедиться в этом, выполнив следующую команду.

ls /etc/httpd/modules | grep mod_status      # RHEL
apachectl -M | grep status                   # Debian

Затем откройте файл конфигурации Apache.

sudo vi /etc/httpd/conf/httpd.conf    # RHEL
sudo nano /etc/apache2/apache2.conf   # Debian

Чтобы получить доступ к статусу сервера, добавьте или измените следующую секцию в конфигурационном файле 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, чтобы применить их:

sudo apachectl configtest
sudo systemctl restart httpd    # RHEL
sudo systemctl restart apache2  # Debian

Теперь вы можете получить доступ к странице состояния вашего сервера, перейдя по ссылке:

http://YOUR_SERVER_IP/server-status

Чтобы он автоматически обновлялся каждые несколько секунд, добавьте к URL ?refresh=5 (или любое другое количество секунд):

Проверка состояния сервера Apache из командной строки

Чтобы проверить состояние сервера Apache из командной строки, вы можете воспользоваться lynx – текстовым веб-браузером.

sudo yum install lynx     # RHEL
sudo apt install lynx     # Debian

После установки попробуйте выполнить команду apachectl, чтобы проверить состояние сервера Apache:

sudo apachectl status

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

Заключение

Модуль mod_status в Apache – это мощный и простой в использовании инструмент мониторинга, позволяющий в режиме реального времени получать информацию о нагрузке и производительности вашего сервера.

Это поможет вам проактивно устранять неполадки и поддерживать сервер в оптимальном состоянии.

см. также:

 

 

Пожалуйста, не спамьте и никого не оскорбляйте. Это поле для комментариев, а не спамбокс. Рекламные ссылки не индексируются!
Добавить комментарий