Как я могу видеть, сколько пропускной способности каждый Apache Виртуальный Хост использует?

Да. Простой способ, принимая Вы не находитесь в домене, должен отредактировать локальную политику через gpedit.msc

Это находится в Конфигурации компьютера | Административные Шаблоны | Windows Components | Windows Update, и можно изменить "Переподсказку для перезапуска с запланированными установками".

Существуют некоторые другие настройки, которые можно настроить здесь, включая установку AU, чтобы загрузить и уведомить для установки вместо просто установки.

24
задан 29 May 2009 в 17:28
8 ответов

Информация, которая Вы после, является всем в журналах, таким образом, необходимо посмотреть на журнал анализатор, такой как AWStats. Другая опция состоит в том, чтобы использовать Google Analytics.

Для анализа журналов вот грубый пример, который можно использовать, чтобы сказать Вам, о скольких МБ трафика файл журнала сообщает из командной строки:

cat /var/log/apache/access.log | awk '{SUM+=$10}END{print SUM/1024/1024}'
23
ответ дан 28 November 2019 в 20:18

Awstats является одним способом сделать это, но вероятно не лучшее

3
ответ дан 28 November 2019 в 20:18

Хм, Вы могли стать злыми с IPTables и сопоставлением строк для входа пакетов для более позднего создания отчетов. Будет только работать на не соединения SSL все же.

Или что-то протокол и сессия, знающая как Фырканье, могло быть обувью, рогатой в использование...

0
ответ дан 28 November 2019 в 20:18

Я предлагаю, чтобы Вы использовали замечательный апачский механизм входа и его менее известный %I и флаги %O:

Определите формат:

LogFormat "%t %a %v %U%q %I %O" IOFormat

Используйте его в своем основном httpd.conf:

CustomLog /var/log/apache2/all-bw.log IOFormat

Значения, вероятно, не считают всю информацию о заголовках, но вполне с точностью до, имеют точную идею трафика VirtualHost.

Просканируйте журналы со сценарием жемчуга, чтобы агрегироваться на виртуальный хост каждый n минуты (5, например) и отправить это в кактусы.

Эти флаги обеспечиваются mod_logio, который, вероятно, создается в Вашем Apache (как он для Apache моего Debian).

3
ответ дан 28 November 2019 в 20:18
  • 1
    Гул, также, как заключено в кавычки в документации Apache 2.0: Обратите внимание, что в httpd 2.0, в отличие от этого, 1.3, %b и %B строки формата не представляют число байтов, отправленных клиенту, но просто размеру в байтах ответа HTTP (который будет отличаться, например, если соединение будет прервано, или если SSL используется). %O формат, обеспеченный mod_logio, зарегистрирует фактическое число байтов, отправленных по сети. –  Oct 29 May 2009 в 19:24

Вот некоторый regex для парсинга формата журнала, предложенного Xerxes.

\[([0-9] +) / (\w +) / ([0-9] {4}) [^\\]] + \] \s (\d {1,3}.\d {1,3}.\d {1,3}.\d {1,3}) \s ([^/] +) [^\\s] + \s (\d +)\s (\d +)

Журнал в качестве примера:

[12/Jan/2011:14:25:04 +0000] 157.157.12.206 files.hjaltijakobsson.com / 581 669 [12/Jan/2011:14:25:04 +0000] 157.157.12.206 files.hjaltijakobsson.com / 624 747 [12/Jan/2011:14:25:04 +0000] 157.157.12.206 files.hjaltijakobsson.com/icons/blank.gif 687 186 [12/Jan/2011:14:25:04 +0000] 157.157.12.206 files.hjaltijakobsson.com/icons/compressed.gif 693 188 [12/Jan/2011:14:25:04 +0000] 157.157.12.206 files.hjaltijakobsson.com/favicon.ico 592 512

Соответствия:

Подшаблон 1 (день месяца): 12
Подшаблон 2 (месяц сокр.): Jan
Подшаблон 3 (год): 2011
Подшаблон 4 (хост посетителя): 157.157.12.206
Подшаблон 5 (виртуальный хост): files.hjaltijakobsson.com
Подшаблон 6 (входящие байты): 581
Подшаблон 7 (исходящие байты): 669

Удачи.

1
ответ дан 28 November 2019 в 20:18

If you decide to use awstats with Apache, out of the box it will show you aggregated bandwidth for your entire server.

To see bandwidth on a per virtual host basis, I recommend installing vlogger.

Vlogger will actually gather Apache access log information for each of your virtual hosts that you set up to do so in separate directories/files.

For example if your Apache log file is in /var/log/apache2, typical vlogger installation will create something like this for your virtual hosts (e.g. vhost1.com vhost2.com):

/var/log/apache2/vhost1.com/access.log
/var/log/apache2/vhost2.com/access.log

Vlogger gives you the option to rotate these logs for you, provides a way to change the naming template of the access log file (e.g. add a date), and claims it handles a large number of log files better than Apache.

One down side to this is that you won't have an aggregated server view anymore (you'll need to aggregate logs separately or perhaps use an additional apache setting or perhaps some other method?).

I would caution against using google analytics (or any javascript based tracking) for server bandwidth monitoring as you are relying on the client to report via the javascript. GA does not report to you people who have their javascript disabled as well as any crawlers/spiders/bots.

2
ответ дан 28 November 2019 в 20:18

Верно. Фильтрация журнала - хорошая идея. Я также хочу получить пропускную способность моего сервера Apache при загрузке файлов.

LogFormat "%h %l %t %u \"%r\" %>s %b/%D**" combined

Вычисляет выходные данные % b и % d , что дает вам текущую пропускную способность.

0
ответ дан 28 November 2019 в 20:18

Небольшая доработка принятого ответа, предполагая, что на самом деле на сервере есть несколько vhosts (и, следовательно, несколько site.com.access_log). Это позволит отсортировать и перечислить каждый виртуальный хост

for f in *.access_log ; do echo `awk '{SUM+=$10}END{print SUM/1024/1024}' $f` $f ; done | sort -rn | more

, а для каталога архивированных журналов

for f in *.access_log.*.gz ; do echo `zcat $f|awk '{SUM+=$10}END{print SUM/1024/1024}'` $f `stat -c%z $f`; done | sort -rn | more 
1
ответ дан 28 November 2019 в 20:18

Теги

Похожие вопросы