在 Hyper-V Inspector 中添加磁盘延迟指标实现

https://blueprints.launchpad.net/ceilometer/+spec/hyper-v-disk-latency-metrics

I/O 请求之间的较高延迟可能是问题的征兆。收集磁盘延迟指标可以帮助我们检测这些问题。Hyper-V Inspector 可以收集这些指标。

问题描述

磁盘延迟指标在遥测数据中非常重要,并且在确定实例性能时很有用。本规范讨论这些统计数据及其在 Hyper-V Inspector 中的实现。

提议的变更

添加 DiskLatencyPollster 和 PerDeviceDiskLatencyPollster 轮询器,它们创建具有以下属性的样本:* name: ‘disk.latency’ * type: ‘gauge’ * unit: ‘ms’

在 Inspector 中添加方法 ‘inspect_disk_latency’ 并在 HyperVInspector 中实现它,从 Hyper-V 虚拟机获取磁盘延迟统计数据,这些数据位于与虚拟机关联的 Msvm_AggregationMetricValue 对象(以下简称“指标对象”)中。指标对象的 ‘MetricDefinitionId’ 必须等于具有 Caption ‘Average Disk Latency’ 的 Msvm_AggregationMetricDefinition 对象的 ‘Id’。

Hyper-V 磁盘指标是在 Windows / Hyper-V Server 2012 R2(内核版本 6.3)中引入的。它们不受早期版本支持。

替代方案

数据模型影响

REST API 影响

安全影响

Pipeline 影响

其他最终用户影响

性能/可扩展性影响

其他部署影响

用户需要在 pipeline.yaml 中的 disk_source 源中添加 meter ‘disk.latency’。默认情况下,Nova 中启用了磁盘使用情况指标收集,我们只需要从 Hyper-V API 收集数据。

开发者影响

实现

负责人

主要负责人

<cbelu>

工作项

  • 添加 DiskLatencyPollster 和 PerDeviceDiskLatencyPollster 轮询器

  • 在 Inspector 中添加方法 ‘inspector_disk_latency’。

  • 在 HyperVInspector 中实现方法 ‘inspect_disk_latency’。

  • 添加相关的单元测试。

  • 更新 ceilometer 测量文档。

未来生命周期

一旦此功能启用,需要在接下来的 2 个版本中进行测试和错误修复,以避免回归。

依赖项

  • Windows / Hyper-V Server 2012 R2(内核版本 6.3)

  • wmi 1.4.9+

测试

需要单元测试来测试新的轮询器以及 Hyper-V 侧的实现。

文档影响

添加的指标需要在 测量部分中记录。

参考资料