![VMware vCenter Server + VDS - 测量每个虚拟机的每月流量](https://linux22.com/image/624546/VMware%20vCenter%20Server%20%2B%20VDS%20-%20%E6%B5%8B%E9%87%8F%E6%AF%8F%E4%B8%AA%E8%99%9A%E6%8B%9F%E6%9C%BA%E7%9A%84%E6%AF%8F%E6%9C%88%E6%B5%81%E9%87%8F.png)
有没有办法可以测量每个虚拟机的每月流量,而无需在每个虚拟机上进行直接访问(例如:SNMP)?
我知道 VMware vCenter Chargeback Manager 软件声称可以提供这种类型的测量,但它并不是我们所需要的(而且似乎没有可供尝试的公共演示)。
理想情况下,通过 vCenter 涉及 SNMP 的解决方案将是最好的,这样我们就可以与现有的统计系统集成。或者像 Cisco Catalyst 交换机这样的产品,它通过 SNMP 提供端口统计信息。
但由于很可能不会有这样的解决方案(至少我的所有谷歌搜索似乎都表明如此),因此任何实现此目的的方向(也许通过 API?)都会受到欢迎。
我们正在使用 ESXi 5.5、vCenter 5.5 和虚拟分布式交换机。虽然我们无法访问数据中心上的网关路由器。这由数据中心本身管理。
更新:
ESXi 主机连接的公共交换机 (c2960G) 是我们的,但由数据中心 netadmin 管理(我来公司时发现是这样)。所以目前我无法访问它。
通往公共互联网的网关路由器属于数据中心,由其管理。同样无法访问。
如果有帮助的话,我们可以安排访问我们的公共交换机。
数据中心测量我们的全部的每个月通过我们交换机上的 SNMP (在上行链路端口上)监控流量。
答案1
我们最终使用了思科 Nexus 1000V。
它取代了 VMware 的 vDS,并提供像物理思科交换机一样的管理界面。
因此现在我们只需从 VSM 收集每个端口的 SNMP 统计信息(在其生命周期内每个 VM 是固定的) - 就像我们已经在物理服务器的 cisco catalyst 交换机上所做的那样 - 并在我们现有的统计软件上使用它们。
对于像我这样的非思科用户来说,它的学习曲线相当陡峭,但在熟悉了所有新术语之后,它看起来是一个可行的解决方案,可以满足需要,甚至更多。
另外,基本版本是免费的:)
答案2
衡量这些信息的两种方式在某种程度上是相关的……
在多租户 vSphere 环境中,vCenter 计费管理器是标准方法。它允许您设置计费模型或仅根据标准和用户定义的指标显示信息。它非常可定制,可能正是您所需要的。
我曾与一家云服务提供商合作,他们使用这种方法来计量出站vCloud Director 环境中每个 VM 级别的网络流量(以及 CPU 和存储)。
但是,vCenter Chargeback 产品从vCloud 网络和安全防火墙 vApps(又称虚拟盾) 安装到每个集群成员上。这就是将此过滤器插入虚拟机的 .vmx 配置文件和网络路径的原因:
ethernet0.filter0.name = "vshield-dvfilter-module"
ethernet0.filter0.param1 = "uuid=5004257e-a6e1-f2fa-6ae8-a991b79a9d91.000"
ethernet0.filter0.onFailure = "failClosed"
vShield 防火墙有一个接口,可以轮询该接口以提供每个虚拟机的信息。我会尝试找到一张屏幕截图。
因此,如果您有可用的 dvSwitches,则意味着您正在使用 Enterprise Plus 许可。vCNS 下载应该可供您或通过您的提供商提供。
答案3
有没有办法可以测量每个虚拟机的每月流量,而无需在每个虚拟机上进行直接访问(例如:SNMP)?
是的。在交换机/路由器上测量。这并非是火箭科学——这种测量已经进行了很多年。您认为主机托管中心如何测量?
虽然我们无法访问数据中心的网关路由器,但这是由数据中心本身管理的。
我要改变的第一件事就是。每次我在数据中心运行某些东西时,我都会将自己的交换机放入机架,然后从那里取出。
话虽如此:你有没有想过与你的数据中心沟通?因为每次我在付费流量的数据中心有东西时,我实际上都会从他们那里获得每个 IP 地址的使用情况统计信息(每 5 分钟或每小时或任何间隔)。