如何监控运行在Debian GNU / Linux Squeeze上的Xen虚拟机的networkingstream量使用情况?
我有几台Xen虚拟机(domU)运行在几台物理机上(dom0s)。 每个domU可以启动或实时迁移到其中一台物理机器上。
我想监视并logging每个domU使用多lessnetworkingstream量。 也就是说,每月,每周,每天,每小时发送和接收多less字节。
我认为这对于在Linux上使用虚拟机的系统pipe理员来说是一个非常普通的任务,但是我还没有find任何简单的方法。
我期待着听到你的方法。
如果你正在使用iptables,你可以configuration这样的东西。
iptablesstream量统计
我们写了一个脚本,每分钟运行在每个dom0上,从“xm top”获取统计信息,并将它们推送到一个memcache队列中。 从那里Cacti查询memcache队列,并更新graphics。
如果你想集中收集信息,并假设客人是可信的(也就是说,你没有计费的客户端机器),那么最灵活的方法可能就是在客人端安装SNMP。 那么你有成千上万的基于SNMP的监控和收集选项。
如果这是太多的开销,请看/proc/net/dev ; 我想你可以自己parsing,并以某种方式将值上传到中央机器。 如果在dom0上完成,则需要分配持久的vif名称等。
您也可以安装iptables NetFlow模块,并将NetFlow数据导出到诸如Wanguard(也是IP Accounting / Billing)的分析器。 它将数据存储在数据库中,以便logging历史,并且可以configuration各种漂亮的graphics。 IP地址,协议等方面的顶级会议