Информация о сервере (mod_status)

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

Если скрипты на ваших сайтах обрабатываются модулями вроде mod_php или mod_perl, то команды top и ps выведут только процессы httpd. В этом случае, проследить стандартными средствами системы, какой именно из скриптов потребляет системные ресурсы, уже невозможно. Этой информацией располагает только Apache, а администратор может её получить с помощью модуля mod_status.

mod_status предоставляет следующие сведения:

  • количество процессов, обрабатывающих запросы;
  • количество процессов в состоянии ожидания;
  • статус каждого процесса, число обработанных запросов и переданных байт;
  • общее число запросов и переданных байт;
  • время, когда сервер был запущен/перезапущен и сколько он уже работает (uptime);
  • среднее число запросов/сек, байт/сек и байт/запрос;
  • текущее использование CPU каждым процессом отдельно и Apache в целом (в процентах);
  • текущие посетители и их запросы.

Выведем эту эту информацию по определенному адресу, обозначив для Location обработчик server-status. Чтобы скрыть страницу от посторонних, используем простое ограничение доступа по паролю:

ExtendedStatus On

<Location /server-status>
    SetHandler server-status
    
    AuthType        basic
    AuthName        "server-status"
    AuthUserFile    /var/www/.htpasswd
    require         valid-user
</Location>

Если вы хотите собирать эту информацию для статистики или построить график, существует специальная версия страницы для использования в скриптах. Она доступна по адресу вида: http://example.com/server-status?auto.

Ссылки