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

Учет сетевого трафика виртуальных машин Xen

Как отслеживать использование сетевого трафика на виртуальных машинах Xen, работающих под управлением Debian GNU / Linux Squeeze?

У меня есть несколько виртуальных машин Xen (domUs), работающих на нескольких физических машинах (dom0s). Каждый domU можно запустить или перенести на одну из физических машин.

Я хотел бы отслеживать и учитывать, сколько сетевого трафика используется на каждом domU. То есть сколько байтов отправляется и получается за месяц, неделю, день, час.

Я думал, что это будет довольно распространенная задача для системных администраторов, использующих виртуальные машины в Linux, однако мне не удалось найти простой способ сделать это.

Я с нетерпением жду ваших подходов к этому.

Мы написали скрипт, который запускается на каждом dom0 каждую минуту, получает статистику от «xm top» и помещает ее в очередь кэша памяти. Оттуда Cacti запрашивает очередь кэша памяти и обновляет графики.

Если вы используете iptables, вы можете настроить что-то вроде этого.

учет трафика iptables

Вы также можете установить модуль iptables NetFlow и экспортировать данные NetFlow в анализатор, такой как WANGuard (он также IP Accounting / Billing). Он хранит данные в базе данных, поэтому у вас есть история, и вы можете настраивать всевозможные красивые графики. Самые популярные по IP-адресу, протоколу и т. Д.

Если вы хотите централизованно собирать информацию и предполагаете, что гости являются доверенными (то есть не клиентскими машинами, за которые вы выставляете счет), наиболее гибким способом, вероятно, будет установка SNMP на гостевых системах. Тогда у вас есть тысячи вариантов для мониторинга и сбора данных на основе SNMP.

Если это слишком много накладных расходов, загляните в /proc/net/dev; Я полагаю, вы могли бы проанализировать это самостоятельно и каким-то образом загрузить значения на центральную машину. Если это сделано на dom0, вам нужно будет назначить постоянные имена vif и т. Д.