2014-12-04 12 views
0

Как отслеживать использование полосы пропускания отдельных виртуальных сайтов в Apache? (Ubuntu 14).Мониторинг пропускной способности на индивидуальных виртуальных сайтах Apache (MRTG?)

На нашем сервере IIS мы используем монитор производительности, сохраняем файл csv и анализируем данные MRTG и отображаем его как графики.

Могу ли я сделать это с помощью MRTG? Я читал о неподдерживаемом модуле для Apache (mod_monitor?), Который некоторые пытались использовать, но на самом деле не хотят идти с неподдерживаемым программным обеспечением.

ответ

0

Короткий ответ заключается в том, что вы, вероятно, не можете сделать это без небольшой дополнительной работы.

Более длинный ответ заключается в том, что, хотя MRTG может строить что-либо теоретически, вы должны предоставить ему способ получения данных. Пропуск сетевого интерфейса уже предоставляется через SNMP, но сетевой трафик на виртуальный сервер немного сложнее, и вам нужно убедить Apache передать эти данные в формате, который вы можете использовать.

Вы, очевидно, уже знаете об этом, так как в IIS вы использовали монитор производительности для получения данных из perfstats. Фактически, с помощью IIS вместо того, чтобы сбрасывать статистику в файл и анализировать ее, вы можете использовать плагин, например mrtg-nsclient, для запроса perfstats непосредственно через агент Nagios nsclient ++. Тем не менее, вы используете Apache ...

Одним из способов достижения этого является запуск каждого виртуального сервера на отдельном TCP-порту, а затем использование правил регистрации iptables для подсчета пройденных байтов. Выходной сигнал iptables -L затем может быть проанализирован MRTG для получения счетчиков.

Если вы хотите использовать виртуальные хосты имен, тем не менее, только внутренние элементы Apache имеют соответствующие данные.

У меня есть плагин сбора данных MRTG, который получает общее количество трафика через URL-адрес mod_status. Это позволяет графически отображать количество активных потоков Apache и общий трафик. Однако он не разделяется виртуальным сервером, поэтому вы не можете получить отдельную статистику. Даже с ExtendedStatus включен, вы видите только активность текущих потоков, а не подсчеты, разделенные на vhost. ExtendedStatus позволит вам увидеть, сколько потоков активно для каждого vhost, но не общее количество байтов, переданных каждым vhost.

Вывод, который вы хотите, по-видимому, существует в mod_watch, который выведет одну строку статистики для каждого хоста по URL-адресу /watch-list. Тем не менее, это более старый модуль и может потребовать изменения для его компиляции с Apache 2.4. Это также очень трудно найти, поскольку автор, похоже, пытался его похоронить. Раньше на GitHub, но исчез в 2012 году

Попробуйте здесь: https://github.com/pld-linux/apache-mod_watch для источника, Try здесь: http://fossies.org/windows/www/httpd-modules-2.4-win64-VC11.zip/index_o.html для бинарных окон для Apache 2.4

+0

Ого, спасибо за подробный ответ, Стив. В некотором смысле, похоже, это подтверждает то, что я подозревал, т. Е. В настоящее время нет быстрого ответа на этот вызов. К сожалению, у меня нет навыков в это время, чтобы иметь возможность изменять код в модуле apache! Насколько я понимаю ваш ответ, проблема заключается не столько в MRTG, а в другом инструменте, отображающем данные, поскольку он получает данные, необходимые из Apache. –

+0

Да, проблема заключается в том, что вы получаете разбивку по каждому хосту от Apache. Однако модуль mod_watch, кажется, дает то, что вы хотите; последние две ссылки, которые я добавил, похоже, относятся к допустимому скомпилированному модулю для Apache 2.4 под Windows (они также имеют отдельный компилятор для win32) –

+0

mod_watch для Windows Apache 2.4.17 https://www.apachelounge.com/download/ –

 Смежные вопросы

  • Нет связанных вопросов^_^