ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)
Пятница, 13 декабря, 2024

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

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

В этой статье вы узнаете, как отслеживать нагрузку на веб-сервер Apache и запросы с помощью модуля mod_status, совместимого со всеми современными дистрибутивами Linux, такими как RHELFedora и Ubuntu.

 

Что такое mod_status?

mod_status — это модуль Apache, который в режиме реального времени предоставляет информацию о нагрузке веб-сервера и текущих подключениях. Доступ к ней осуществляется через HTML-интерфейс, который можно просматривать в браузере.

Этот интерфейс отображает статистику сервера, в том числе:

 

В качестве живого примера ознакомьтесь с официальной страницей состояния Apache на странице состояния проекта Apache.

 

Среда тестирования

В приведенных здесь шагах используется следующая конфигурация:

 

Убедитесь, что Apache установлен и работает в вашей системе. При необходимости обратитесь к нашему руководству по настройке сервера Apache.

 

Включение 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

 

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

http://YOUR_SERVER_IP/server-status?refresh=5

 

Состояние сервера Apache

Состояние сервера Apache

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

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

sudo yum install Lynx # на базе RHEL 
sudo apt install Lynx # на базе Debian

 

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

sudo apachectl status

 

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

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

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

 

Для более детального просмотра вы можете использовать опцию fullstatus:

sudo apachectl fullstatus

 

Заключение

Модуль mod_status в Apache — это мощный и простой в использовании инструмент мониторинга для отслеживания нагрузки и производительности вашего сервера в режиме реального времени. Это помогает заблаговременно устранять неполадки и оптимизировать работу сервера.

Exit mobile version