Назад | Перейти на главную страницу

Мониторинг Apache занятых и бездействующих рабочих

Для Apache я хочу отслеживать

  1. Занятые рабочие
  2. Простаивающие работники
  3. Запросы в очереди

Мониторинг будет проводиться в течение дня с отбором пробы каждую минуту в графическом виде.

Если такой инструмент недоступен бесплатно, то будет достаточно любого скрипта, который может выгружать эти данные в табличном формате, и я могу импортировать эти данные в формате CSV.

Есть ли какой-нибудь инструмент для этого?

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

busy_workers=`lynx -dump http://domain.com/server-status?auto | awk '/BusyWorkers/ { print $2 }'`
idle_workers=`lynx -dump http://domain.com/server-status?auto | awk '/IdleWorkers/ { print $2 }'`

Для ожидающих запросов вы можете рассчитать количество одновременных подключений и вычесть из него MaxClients директива:

concurrent_connections=`netstat -natp | grep httpd | grep ESTABLISHED | grep -v grep | wc -l`

На основе этого результата вы можете построить график с помощью любых инструментов мониторинга: gmetric (Ganglia), PNP4Nagios, ...

Мы используем кактусы со сценарием статистики Apache, в основном он анализирует страницу состояния сервера и генерирует график rrd для кактусов.

Интерфейс Cacti находится на php и хранит данные в MySQL. Также требуется snmp (монтаж).