Смотрим статус (состояние, процессы и соединения) сервера Apache через mod_status в Debian

  • Как посмотреть текущее состояние веб сервера Apache?
  • Сколько памяти использует Apache?
  • Сколько процентов процессорного времени расходует Apache?
  • Какие  подключения в данный момент есть у Apache и что какое подключение делает?

Вот вопросы, на которые отвечает идущий с Apache мод под названием «mod_status». В этой заметке я расскажу — как поставить mod_status на сервере Linux Debian.
Включаем и настраиваем:
1) Идем в каталог

$ cd /etc/apache2/mods-available

2) Открываем на редактирование файл

$ sudo vi status.conf

3) В нем мы видим настройки мода mod_status. Нам надо несколько их подправить, т.к. по-умолчанию доступ имеют только пользователи, заходящие с самого сервера (127.0.0.1)
Для того, чтобы пустить на страницу статуса с каких-то других IP адресов — добавляем после строчки

Allow from 127.0.0.1

еще строчки вида

Allow from 192.168.0.1

где указываете IP адреса, с которых можно заходить на страницу статуса.
4) Включаем сам мод.
Для этого делаем сим-линк на его файлы в каталог mods-enabled:

$ sudo ln -s /etc/apache2/mods-available/status.load /etc/apache2/mods-enabled/status.load
$ sudo ln -s /etc/apache2/mods-available/status.conf /etc/apache2/mods-enabled/status.conf

5) Перезапускаем Apache

$ sudo /etc/init.d/apache2 restart

6) Заходим на страницу статуса: http://192.168.0.1/server-status
где вместо 192.168.0.1 введите IP адрес Вашего веб-сервера (на котором сейчас мы настраиваем mod_status).
У Вас должна открыться страница с информацией о текущем состоянии сервера Apache.
Допуск к странице через логин/пароль
Однако не всегда возможно, да и просто не очень хорошо ограничить доступ только по IP. Например, с одного адреса могут ломиться люди, которым можно и которым нельзя (например, находящиеся за NAT). Давайте ограничим доступ по логин-паролю. Для этого воспользуемся техникой htpasswd.
Сначала создадим файл формата .htpasswd. Назовем его status.passwd:

$ cd /etc/apache2/
$ sudo htpasswd -c status.passwd adminuser

где вместо adminuser укажите логин пользователя, который сможет заходить на эту страницу. После чего на запрос утилиты введите пароль для этого пользователя.
Других пользователей можно добавить таким-же образом, только ключ -c указывать нельзя:

$ sudo htpasswd status.passwd anotheruser

Теперь откройте снова файл status.conf на редактирование и приведите секцию к вот такому виду:

  SetHandler server-status
  Order allow,deny
  Allow from all
  AuthName "Enter password for access"
  AuthType Basic
  AuthUserFile /etc/apache2/status.passwd
  require valid-user

И перезагрузите веб-сервер:

$ sudo /etc/init.d/apache2 restart

Ну и все — при следующем заходе на страницу статус у Вас поинтересуются логином и паролем.

One Reply to “Смотрим статус (состояние, процессы и соединения) сервера Apache через mod_status в Debian”

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*