为 libvirt inspector 添加内存利用率计量¶
https://blueprints.launchpad.net/ceilometer/+spec/libvirt-memory-utilization-inspector
libvirt inspector 中尚未实现内存使用统计。我们可以从 libvirt API ‘virDomainMemoryStats’ 获取实例的内存统计信息,以便向 libvirt inspector 添加内存使用计量。
问题描述¶
实例的内存使用情况是遥测数据中非常重要的信息,但目前尚未在 libvirt inspector 中实现。此规范将内存使用统计信息添加到 libvirt,以便用户可以获取实例性能数据。
提议的变更¶
实现了 LibvirtInspector 的 ‘inspect_memory_usage’ 方法,从 libvirt API ‘virDomainMemoryStats’ 获取内存统计数据,使用的内存通过可用内存和未使用内存计算得出。如果 libvirt 不支持该方法,libvirt API ‘virDomainMemoryStats’ 可能会引发异常,请参阅‘依赖项’部分,捕获该异常并将其转换为空的内存统计数据。
替代方案¶
无
数据模型影响¶
无
REST API 影响¶
无
安全影响¶
无
Pipeline 影响¶
无
其他最终用户影响¶
用户需要在镜像中准备合适的 balloon 驱动程序,特别是对于 Windows 客户机,大多数现代 Linux 系统都内置了它。启动实例即使没有镜像 balloon 驱动程序也会成功,只是无法获取客户机内存使用计量。
性能/可扩展性影响¶
无
其他部署影响¶
无。默认情况下,Nova 中已启用内存统计功能,请参阅 [1],我们只需从 libvirt API 获取和收集数据。
开发者影响¶
无
实现¶
负责人¶
- 主要负责人
<kiwik-chenrui>
工作项¶
实现了 LibvirtInspector 的 ‘inspect_memory_usage’ 方法。
添加了相关的单元测试。
更新 ceilometer 测量文档。
未来生命周期¶
启用此功能后,需要在接下来的 2 个版本中进行测试和 bug 修复,以避免回归。
依赖项¶
libvirt 1.1.1+
qemu 1.5+
支持内存 balloon 统计信息的客户机驱动程序
测试¶
由于只需要测试数据获取,因此单元测试就足够了。
文档影响¶
添加的指标需要在 测量部分中记录。