Мы — долго запрягаем, быстро ездим, и сильно тормозим.
www.lissyara.su —> статьи —> FreeBSD —> WWW —> ApacheStats

ApacheStats

Автор: serge.


 Данный шаблон позволяет строить достаточно информативные графики работы Apache. Данные для построения графиков беруться с html страницы, отображающей состояние веб-сервера.
Для отображения состояния Apache, необходимы модули mod_status и mod_info. По дефолту они установлены и подключены. Остаеться раскоментировать блоки разрешаюшие просмотр статистики. Доступ давать всем подряд не имеет смысла, поэтому разрешаем только самому себе.
# vi /usr/local/etc/apache2/httpd.conf
...
LoadModule status_module libexec/apache2/mod_status.so
...
LoadModule info_module libexec/apache2/mod_info.so
...
<Location /server-status>
    SetHandler server-status
    Order deny,allow
    Deny from all
    Allow from 127.0.0.1
</Location>

ExtendedStatus On

<Location /server-info>
    SetHandler server-info
    Order deny,allow
    Deny from all
    Allow from 127.0.0.1
</Location>
...

Проверяем конфиг на наличие ошибок и если все в порядке, просим апач применить новые настройки.
# /usr/local/etc/rc.d/apache2 configtest
Performing sanity check on apache2 configuration:
Syntax OK
# /usr/local/etc/rc.d/apache2 reload

Данные страницы состояния Apache распарсивает скрипт ws_apachestats.pl. Он несколько универсальный, т.е. получить страницу он может с помощью wget, lynx или perl. Для большей производительности рекомендуються две первые утилиты. Чем пользоваться скрипт выбирает сам. Помещаем его в
# /usr/local/share/cacti/scripts/ws_apachestats.pl

Для его работы необходимо установить модуль p5-LWP-UserAgent-WithCache. Несмотря на то, что ws_apachestats.pl может доставать данные с помощью wget или lynx, без этого модуля скрипт не будет запускаться. Если очень не хочеться ставить лишних модулей, то можно подправить скрипт руками и убрать оттуда вариант с получением страницы perl'ом.
# cd /usr/ports/www/p5-LWP-UserAgent-WithCache && make install clean

Проверяем работу скрипта.
# perl /usr/local/share/cacti/scripts/ws_apachestats.pl
apache_total_hits:4265 apache_total_kbytes:10357 apache_cpu_load:.0239077
apache_req_per_sec:1.45019apache_bytes_per_sec:3606.11
apache_bytes_per_req:2486.65 apache_busy_workers:3 apache_idle_workers:8
apache_cpuload:.0239077 thread_O:245 threadC:0 threadD:0 threadG:0
threadI:0 threadK:2 threadL:0
threadR:0 threadS:0 threadW:1 thread_W:8

Если все нормально, то импортируем шаблоны графиков в Cacti. Для этого на странице импорта выбираем файл cacti_host_template_webserver_apache.xml.

Осталось только добавить нужные графики в дерево Cacti и наслаждаться результатом. Тут уже сами думаю разберетесь.
Ветка на форуме для обсуждения.
Пример графиков.
       
ws_apachestats.pl
файл скачан размер размещён примечание
ws_apachestats.pl.gz
2027 1.7kb 2008-01-31 Скрипт для распарсивания страницы состояния Apache.

       
cacti_host_template_webserver_apache.xml
файл скачан размер размещён примечание
cacti_host_template_webserver_apache.xml.gz
1723 10.5kb 2008-01-31 Шаблоны графиков для ApacheStats.



размещено: 2008-01-31,
последнее обновление: 2008-01-31,
автор: serge


Sintez, 2008-01-31 в 10:50:40

Спасибо, попробую.

terminus, 2008-01-31 в 12:42:01

А через апачевый SNMP такое нельзя получить?

serge, 2008-01-31 в 13:10:41

То что мне попадалось, требует апач вручную пересобирать. Что не совсем удобно.

Евгений, 2008-02-01 в 21:50:49

Я бы не давал ссылку на графики cacti, так как там есть бага, которая позволяет лазить потмо по всем другим настрйокам и их править.
Выкладывайте в виде картинки пример графиков.

lissyara, 2008-02-01 в 22:01:05

Сходил на www.cacti.net.
Там нет такого бага в состоянии "открыт"...
Если вы знаете - напишите им багрепот - http://cacti.net/bugs.php
============
Если не для красного словца сказали - тогда скажите коммьюнити для этого хоста - оно есть в базе, и вы его можете достать, если знаете такой баг.

Morty, 2008-02-07 в 14:48:19

Спасибо ! Поставил - очень вкусно -)

daevy, 2008-02-14 в 12:56:56

спасибо автору осилил с его подсказкой:-)

Z, 2008-04-07 в 18:35:12

тут есть еще много темплейтов! http://www.debianhelp.co.uk/cactitemplates.htm

Donat, 2009-06-09 в 5:21:01

Версия ApacheStats 0.6 дает мне следующией файлы:
(внизу приклепленных не заметил)
cacti_host_template_webserver_apache_30sec.xml
cacti_host_template_webserver_apache_5min.xml
ss_apache_stats.php

ss_apache_stats.php - идет вроде как на замену ws_apachestats.pl

Rostov114, 2010-04-29 в 14:25:39

Кстати, p5-LWP-UserAgent-WithCache можно ведь и поставить через cpan

[code]cpan LWP::UserAgent[/code]

Alex Keda, 2010-04-29 в 14:44:58

За обновлениями кто следить тогда будет?
А в портах - есть специально обученные люди =)

Rostov114, 2010-04-30 в 21:17:02

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

cpan же он скачал и сам LWP::UserAgent и еще зависимости подтянул.

Burzum, 2011-01-31 в 3:26:13

Такие опции как: ServerTokens, ServerSignature, TraceEnable и ExtendedStatus — влияют на производительность apache и при высоких нагрузках лучше их отключить.
Т.е.:
ServerTokens Prod
ServerSignature Off
TraceEnable Off
ExtendedStatus Off

по этому мне пришлось отказаться от сбора статистики таким образом :(
К apache есть SNMP модуль - mod_ap2_snmp, но заставить его работать у меня не вышло, да и нужды пока в этом нету... и времени...

vadim, 2013-01-17 в 12:38:45

Установил в CentOS. Скрипт пришлось изменить, хотя perl, wget и lynx они же и в Африке?..

my $hostname = $ARGV[0];
#не сработал chomp, в исходнике  указание в $#ARGV "только цифры", а в IP ведь и точки?..

...

#my $method = ( -f $wget ) ? $wget : (-f $lynx) ? $lynx : "perl";
my $method = $lynx;

И закомментировал ненужное в операторе case, по совету автора, потому что perl модулей для Linux так и не нашел, да и незачем, lyxn для apache вполне достаточно. Все работает, даже для удаленых, не localhost серверов.

Влад, 2014-04-13 в 4:23:42

там ошибка.
-my $hostname = ($#ARGV <= 0) ? "localhost" : chomp $ARGV[0];
+my $hostname = ($#ARGV < 0) ? "localhost" : $ARGV[0];



 

  Этот информационный блок появился по той простой причине, что многие считают нормальным, брать чужую информацию не уведомляя автора (что не так страшно), и не оставляя линк на оригинал и автора — что более существенно. Я не против распространения информации — только за. Только условие простое — извольте подписывать автора, и оставлять линк на оригинальную страницу в виде прямой, активной, нескриптовой, незакрытой от индексирования, и не запрещенной для следования роботов ссылки.
  Если соизволите поставить автора в известность — то вообще почёт вам и уважение.

© lissyara 2006-10-24 08:47 MSK

Время генерации страницы 0.0364 секунд
Из них PHP: 21%; SQL: 79%; Число SQL-запросов: 79 шт.
Исходный размер: 29485; Сжатая: 7488