- Apache server status windows
- Просмотр текущих запросов к Apache
- Пример вывода текущих запросов к Apache
- Mod_status (Server-status) — модуль Apache
- Установка mod_status, server-status
- Настройка server-status, mod_status
- Обработка данных server-status
- Установка Mod_status (Server-status) — модуль Apache
- Установка mod_status
- Анализ данных статистики Mod_status (Server-status)
- How to Monitor Apache Web Server Load and Page Statistics
- What is mod_status?
- How to Enable mod_status in Apache
- Configure mod_status
- Enable ExtendedStatus
- Restart Apache
- Access mod_status Page
- Command-line Status Page View
- Conclusion
- If You Appreciate What We Do Here On TecMint, You Should Consider:
Apache server status windows
Этот модуль даст информацию о:
- количестве процессов, обрабатывающих запросы;
- количестве процессов в состоянии ожидания;
- статусе каждого процесса, числе обработанных запросов и переданных байт;
- общем числе запросов и переданных байт;
- времяени, когда сервер был запущен/перезапущен и сколько он уже работает (uptime);
- среднем числе запросов/сек, байт/сек и байт/запрос;
- текущем использовании CPU каждым процессом отдельно и Apache в целом (в процентах);
- текущих посетителях и их запросах.
Если у вас есть этот модуль, то осталось дело за малым: Надо добавить в httpd.conf или другой файл настроек апача следующие строки:
Кроме этого, надо установить какое-то ограничение по доступу (паролем, ай-пи адресом и т.п.).
Для того, чтобы все могли смотреть эту информацию, необходимо привести настройки к следующему виду:
После чего остается только перезагрузить настройки Apache:
После этих нехитрых действий вы можете перейти по адресу www.vash_domen.com/server-status и увидеть всю необходимую информацию.
Правильная настройка mod_status
В Апаче есть такой архиполезный модуль, под названием mod_status. Он может показывать, какие запросы исполняются в данный момент и сколько каждый запрос тратит ресурсов сервера, сколько расходуется CPU, с какого ip пришёл запрос, ну и конкретный урл исполняемого запроса. Всё это очень хорошо знать вам, хозяину сервера, но с другой стороны, совсем не полезно светить эти данные всем желаютщим их посмотреть. В Апаче, стоящем по умолчанию в Fedora Core, модуль уже установлен и есть пример конфигурации данного модуля, при включении которого данные как раз будут видны всем. Для юниксоида конечно не составит труда переделать настройки на защищённые, но для обычного нормального человека это может оказаться не так просто. Лично я ковырялся где-то месяц.
Этот текст надо прописать либо в главный конфиг апача, либо в какой-либо из подгружаемых файлов из директории conf.d. После этого, статистика будет показываться только с разрешенных ip и только по секретному урлу, для работы которого нужно сделать правильную DNS запись. Не забывайте, что для работы «VirtualHost *», нужно перед этим прописать «NameVirtualHost *». Также не забудьте включить сам модуль: ExtendedStatus On.
Apache Server Status в .htaccess
Включаем в разделе «Веб-сервер»\»Управление модулями» модуль mod_limitipconn. Вместе с ним включается mod_status.
Просмотр текущих запросов к Apache
Откройте для редактирования файл /etc/httpd/conf/httpd.conf, раскомментируйте сроки:
LoadModule status_module modules/mod_status.so
Далее раскомментируйте нижеследующую секцию и укажите в ней Ваш IP-адрес вместо xxx.xxx.xxx.xxx:
SetHandler server-status
Order deny,allow
Deny from all
Allow from xxx.xxx.xxx.xxx
Узнать свой IP-адрес можно на сайте 2ip.ru
# service httpd restart
Просмотреть текущие запросы к Apache и используемые им ресурсы можно по ссылке http://site.ru/server-status, вместо site.ru подставьте свой домен.
Внимание! При использовании системы с front-end и back-end и указании в httpd.conf необходимо разместить статистику запросов, например, на 8081 порту. Для этого в httpd.conf внесем строку
# service httpd restart
В таком случае просмотреть текущие запросы к Apache и используемые им ресурсы можно по ссылке http://site.ru:8081/server-status, вместо site.ru подставьте свой домен.
Пример вывода текущих запросов к Apache
В скобках даны переводы к параметрам.
Apache Server Status for www.site.ru
Server Version: Apache/2.0.54 (Fedora) Server Built: Oct 17 2005 08:59:28 Current Time: Monday, 23-Mar-2009 13:02:05 MSK Restart Time: Sunday, 22-Mar-2009 12:54:39 MSK Parent Server Generation: 0 Server uptime: 1 day 7 minutes 25 seconds Total accesses: 1350366 — Total Traffic: 252.2 MB CPU Usage: u43.52 s15.97 cu.04 cs0 —. 0685% CPU load 15.5 requests/sec — 3044 B/second — 195 B/request 10 requests currently being processed, 6 idle workers
Scoreboard Key:
« _ » Waiting for Connection, « S » Starting up, « R » Reading Request,
« W » Sending Reply, « K » Keepalive (read), « D » DNS Lookup,
« C » Closing connection, « L » Logging, « G » Gracefully finishing,
« I » Idle cleanup of worker, « . » Open slot with no current process
Mod_status (Server-status) — модуль Apache
Модуль Mod_status (иногда называют Server-status) позволяет администратору контролировать в реальном времени производительность HTTP-сервера Apache и ответить на сокраментальный вопрос: какой сайт тормозит сервер. Данные выводятся в виде HTML-страницы в браузер. При помощи модуля mod_status можно узнать такую информацию о сервере Apache:
- версия (Server Version);
- дата сборки (Server Built);
- время последнего запуска или рестарта, uptime (Restart Time, Server uptime);
- общее кол-во доступов к Apache и объем трафика с момента запуска или перезагрузки (Total accesses);
- загрузка процессора (CPU Usage);
- данные на момент запроса о кол-ве запросов в сек. (requests/sec), трафик в сек. (MB/second) и средний объем запроса (kB/request);
- кол-во обрабатываемых и не занятых процессов на данный момент времени;
- информация по виртуальным хостам, обрабатываемых на момент запроса mod_status;
- информация о кеше (SSL/TLS Session Cache Status).
Установка mod_status, server-status
Узнать, установлен ли уже модуль mod_status в Apache можно набрав в командной строке ОС такую команду (в конце прописная буква L):
Если модуль не установлен, необходимо прописать его загрузку и параметры запуска в конфигурационном файле Apache. Главный конфигурационный файл Apache — httpd.conf. В операционной системе FreeBSD, обычно, он располагается в директории /etc/httpd/conf/ . Если web-сервер работает под управлением ОС FreeBSD и панели управления DirectAdmin, то настройки модуля следует искать тут: /etc/httpd/conf/extra/httpd-info.conf . В ОС Windows, httpd.conf можно найти, используя материалы этой статьи: «Настройка Apache в Windows».
Настройка server-status, mod_status
Настройка модуля server-status сводится к его подключению к Apache (если он не скомпилирован с ядром http-сервера) и включению или выключению 2-ух основных параметров его запуска.
# Подключение модуля mod_status к Apache
LoadModule status_module /usr/lib/apache/mod_status.so
# Настройка URL адреса и прав доступа
# В этом примере данные mod_status будут доступны
# в браузере по адресу: имя или ip сервера/server-status
# Только с IP 127.0.0.1
SetHandler server-status
Order deny,allow
Deny from all
Allow from 127.0.0.1
# ExtendedStatus — отображать расширенную информацию
# (немного медленнее, но информативнее)
# Доступно с версии Apache 1.3.2 и выше
# Допустимые значения: On или Off, по умолчанию — Off
ExtendedStatus On
# SeeRequestTail — отображать первые (Off) или последние (On) 63 символа запроса
# К сожалению, весь запрос вывести не удастся
# Доступно с версии Apache 2.2.7 и выше
# Допустимые значения: On или Off, по умолчанию — Off
SeeRequestTail Off
После записи изменений в конфигурацию Apache не забудьте перезагрузить сам http-сервер, например, при помощи команды: apachectl restart .
Обработка данных server-status
Зайдя на страницу http://127.0.0.1/server-status можно увидеть данные по серверу Apache. Представление этих данных регулируется настройками ExtendedStatus и SeeRequestTail в конфигурации Apache.
Дополнительно изменить представление данных можно с помощью GET переменных:
Вывод данных в авто-режиме:
http://127.0.0.1/server-status?auto
Автоматическое обновление данных каждые N секунд
N — целое число секунд
http://127.0.0.1/server-status?refresh=N
Обновление данных каждые 10 секунд:
http://127.0.0.1/server-status?refresh=10
Предоставить данные в более удобном формате, можно, например, с помощью скриптов, написанных на PHP, которые парсят (обрабатывают) выдачу и предоставляют информацию в более удобном формате. Детальную информацию по некоторым таким скриптам (парсеры mod_status) смотрите в статье: «Скрипты обработки данных server-status — парсилка server-status».
Установка Mod_status (Server-status) — модуль Apache
По мере роста веб проекта растут нагрузки на сервер, увеличивается объем трафика, потребление памяти и нагрузка на CPU. Чаще всего на одном сервере располагается сразу несколько сайтов, порой крупных сайтов и вычислить какой именно сайт или скрипт нагружает всю систему порой очень сложно. Для этого хорошую службу может послужить модуль Apache — Mod_status (Server-status), который отображает всю доступную информацию о выполняемых скриптах в режиме реального времени. таким образом можно без особого труда и усилий вычислить тот процесс, скрипт, который потребляет наибольшие количество ресурсов.
Установка mod_status
Перед установкой модуля, желательно проверить как скомпилирован apache, с этим модулем или без. Для этого в командной строке вашего SSH (Putty) вводим
Результат может быть примерно следующим:
Как видно в данном случае в списке нет нашего модуля. В таком случае в конфиге apache придется дописать на одну строчку больше (или просто раскомментировать).
Идем в конфиг апача, если у вас ОС FreeBSD, это:
/etc/httpd/conf/apache.conf
если под ОС Debian:
/etc/apache2/apache2.conf (/etc/apache2/mods-available/status.load, /etc/apache2/mods-available/status.conf)
Добавляем следующие строки:
На этом все настройки завершены, все предельно просто. После внесения всех изменений в конфиг, следует перезагрузить Apache.
FreeBSD: apachectl restart
Debian: /etc/itit.d/apache restart
Анализ данных статистики Mod_status (Server-status)
Для просмотра статистики по запущенным скриптам, перейдите по ссылке, на локальной машине (denwer):
How to Monitor Apache Web Server Load and Page Statistics
In this article, you will learn how to monitor Apache web server load and requests using the mod_status module in your Linux distributions such as CentOS, RHEL, and Fedora.
What is mod_status?
mod_status is an Apache module that helps to monitor web server load and current httpd connections with an HTML interface that can be accessed via a web browser.
Apache’s mod_status shows a plain HTML page containing the information about current statistics of the webserver including.
- Total number of incoming requests
- Total number of bytes and counts server
- The CPU usage of Webserver
- Server Load
- Server Uptime
- Total Traffic
- Total number of idle workers
- PIDs with the respective clients and many more.
The default Apache Project enabled their server statistics page to the general public. To have a demo of the busy web site’s status page, visit.
Testing Environment
We have used the following Testing Environment for this article to explore more about mod_status with some practical examples and screen-shots.
- Operating System – CentOS 8/7
- Application – Apache Web Server
- IP Address – 5.175.142.66
- DocumentRoot – /var/www/html
- Apache Configuration file – /etc/httpd/conf/httpd.conf
- Default HTTP Port – 80 TCP
- Test Configuration Settings – httpd -t
The prerequisites for this tutorial are that you should already aware of how to install and configure a Basic Apache Server. If you don’t know how to setup Apache, read the following article that might help you in setting up your own Apache Web Server.
How to Enable mod_status in Apache
The default Apache installation comes with mod_status enabled. If not, make sure to enable it in the Apache configuration file.
Search for the word “mod_status” or keep scrolling down until you find a line containing.
If you see a ‘#‘ character at the beginning of “LoadModule”, that means mod_status is disabled. Remove the ‘#‘ to enable mod_status.
Configure mod_status
Now again search for the word “Location” or scroll down until you find a section for mod_status which should look like following.
In the above section, uncomment the lines for Location directive, SetHandler, and the directory restrictions according to your needs. For example, I am keeping it simple with the Order Allow, deny and it’s allowed for all.
Note: The above configuration is the default configuration for the default Apache web site (single website). If you’ve created one or more Apache Virtual Hosts, the above configuration will won’t work.
So, basically, you need to define the same configuration for each virtual host for any domains you’ve configured in Apache. For example, the virtual host configuration for mod_status will look like this.
Enable ExtendedStatus
The “ExtendedStatus” settings add more information to the statistics page like CPU usage, request per second, total traffic, etc. To enable it, edit the same httpd.conf file and search for the word “Extended” and Uncomment the line and set the status “On” for ExtendedStatus directive.
Restart Apache
Now make sure that you’ve correctly enabled and configured the Apache server-status page. You can also check for the errors in the httpd.conf configuration using the following command.
Once, you get syntax is OK, you can able to restart the httpd service.
Access mod_status Page
The Apache status page will be accessible via your domain name with “/server-status” at the following URL’s.
You will see something similar to the following page with ExtendedStatus enabled.
Apache mod_status View
In the above snapshot, you can see that an HTML interface, which shows all information about server uptime, process Id with its respective client, the page they are trying to access.
It also shows the meaning and usage of all the abbreviations used to display the status which helps us to understand the situation better.
You can also refresh the page every time seconds (say 5 seconds) to see the updated statistics. To set the automated refresh, please add “?refresh=N” at the end of the URL. Where N can be replaced with the number of seconds which you want your page to get refreshed.
Apache mod_status Refresh
Command-line Status Page View
You can also view the Apache status page from the command-line interface using the special command-line browsers called links or lynx. You can install them using the default package manager utility called yum as shown below.
Once, you’ve installed the, you can get the same statistics on your terminal by using the following command.
Sample Output
Conclusion
Apache’s mod_status module is a very handy monitoring tool for monitoring the performance of a web server’s activity and can able to highlight problems itself. For more information read the status page that can help you to become a more successful web server administrator.
That’s all for mod_status for now, we’ll come up with some more tricks and tips on Apache in future tutorials. Till then stay Geeky and tuned to Tecmint.com and don’t forget to add your valuable comments.
If You Appreciate What We Do Here On TecMint, You Should Consider:
TecMint is the fastest growing and most trusted community site for any kind of Linux Articles, Guides and Books on the web. Millions of people visit TecMint! to search or browse the thousands of published articles available FREELY to all.
If you like what you are reading, please consider buying us a coffee ( or 2 ) as a token of appreciation.
We are thankful for your never ending support.