测量

Telemetry 服务在 OpenStack 部署中收集计量数据。本节简要概述了计量数据的格式和来源,并包含可用计量数据的列表。

Telemetry 通过轮询基础设施元素以及消费其他 OpenStack 服务发出的通知来收集计量数据。有关轮询机制和通知的更多信息,请参阅 数据收集。有些计量数据通过轮询和消费两种方式收集。下表列出了每个计量数据的来源。

注意

您可能需要配置 Telemetry 或其他 OpenStack 服务,以便能够收集所需的所有样本。有关配置要求的更多信息,请参阅安装教程和指南中的 Telemetry 章节

Telemetry 使用以下计量数据类型

类型

描述

累积

随时间增加(实例小时数)

Delta

随时间变化(带宽)

Gauge

离散项目(浮动 IP、镜像上传)和波动值(磁盘 I/O)


Telemetry 提供了存储样本元数据的可能性。此元数据可以扩展用于 OpenStack Compute 和 OpenStack 对象存储。

为了向 OpenStack Compute 添加额外的元数据信息,您可以选择两种方法。第一种是在启动新实例时指定它们。附加信息将以 resource_metadata.user_metadata.* 的形式与样本一起存储。新的字段应使用前缀 metering. 定义。修改后的启动命令如下所示

$ openstack server create --property metering.custom_metadata=a_value my_vm

另一种方法是设置 reserved_metadata_keys 为您希望包含在 OpenStack Compute 相关样本的 resource_metadata 中的元数据键列表。此选项包含在 ceilometer.conf 配置文件中的 DEFAULT 部分。

您还可以指定将与其值一起存储在 OpenStack 对象存储样本数据中的标头。附加信息也存储在 resource_metadata 下。新字段的格式为 resource_metadata.http_header_$name,其中 $name 是标头的名称,并将 - 替换为 _

要指定新的标头,您需要在 swift 文件夹下的 proxy-server.conf 中的 [filter:ceilometer] 部分下设置 metadata_headers 选项。您可以使用此附加数据来区分外部和内部用户。

计量数据按 Telemetry 轮询的服务或消费通知的服务进行分组。

OpenStack Compute

以下计量数据是为 OpenStack Compute 收集的。

名称

类型

单元

资源

来源

支持

注意

Mitaka 版本或更早版本中添加的计量数据

memory

Gauge

MB

实例 ID

通知、Pollster

Libvirt

分配给实例的 RAM 容量

memory.usage

Gauge

MB

实例 ID

Pollster

Libvirt,

实例从其分配的内存量中使用的 RAM 容量

memory.resident

Gauge

MB

实例 ID

Pollster

Libvirt

实例在物理机器上使用的 RAM 容量

cpu

累积

ns

实例 ID

Pollster

Libvirt

CPU 使用时间

vcpus

Gauge

vcpu

实例 ID

通知、Pollster

Libvirt

分配给实例的虚拟 CPU 数量

disk.device.read.requests

累积

请求

磁盘 ID

Pollster

Libvirt

读取请求数量

disk.device.write.requests

累积

请求

磁盘 ID

Pollster

Libvirt

写入请求数量

disk.device.read.bytes

累积

B

磁盘 ID

Pollster

Libvirt

读取量

disk.device.write.bytes

累积

B

磁盘 ID

Pollster

Libvirt

写入量

disk.root.size

Gauge

GB

实例 ID

通知、Pollster

Libvirt

根磁盘大小

disk.ephemeral.size

Gauge

GB

实例 ID

通知、Pollster

Libvirt

临时磁盘大小

disk.device.capacity

Gauge

B

磁盘 ID

Pollster

Libvirt

实例可以查看的每个磁盘的磁盘量

disk.device.allocation

Gauge

B

磁盘 ID

Pollster

Libvirt

实例在主机上占用的每个磁盘的磁盘量

disk.device.usage

Gauge

B

磁盘 ID

Pollster

Libvirt

主机上每个设备的镜像容器的物理大小

network.incoming.bytes

累积

B

接口 ID

Pollster

Libvirt

传入字节数

network.outgoing.bytes

累积

B

接口 ID

Pollster

Libvirt

传出字节数

network.incoming.packets

累积

数据包

接口 ID

Pollster

Libvirt

传入数据包数量

network.outgoing.packets

累积

数据包

接口 ID

Pollster

Libvirt

传出数据包数量

Newton 版本中添加的计量数据

perf.cpu.cycles

Gauge

周期

实例 ID

Pollster

Libvirt

一条指令需要的 CPU 周期数

perf.instructions

Gauge

指令

实例 ID

Pollster

Libvirt

指令计数

perf.cache.references

Gauge

count

实例 ID

Pollster

Libvirt

缓存命中计数

perf.cache.misses

Gauge

count

实例 ID

Pollster

Libvirt

缓存未命中计数

Ocata 版本中添加的计量数据

network.incoming.packets.drop

累积

数据包

接口 ID

Pollster

Libvirt

传入丢弃数据包数量

network.outgoing.packets.drop

累积

数据包

接口 ID

Pollster

Libvirt

传出丢弃数据包数量

network.incoming.packets.error

累积

数据包

接口 ID

Pollster

Libvirt

传入错误数据包数量

network.outgoing.packets.error

累积

数据包

接口 ID

Pollster

Libvirt

传出错误数据包数量

Pike 版本中添加的计量数据

memory.swap.in

累积

MB

实例 ID

Pollster

Libvirt

内存交换入

memory.swap.out

累积

MB

实例 ID

Pollster

Libvirt

内存交换出

Queens 版本中添加的计量数据

disk.device.read.latency

累积

ns

磁盘 ID

Pollster

Libvirt

读取操作花费的总时间

disk.device.write.latency

累积

ns

磁盘 ID

Pollster

Libvirt

写入操作花费的总时间

Epoxy 版本中添加的计量数据

power.state

Gauge

state

实例 ID

Pollster

Libvirt

VM 的 virDomainState

Flamingo 版本中添加的计量数据

memory.available

Gauge

MB

实例 ID

Pollster

Libvirt

实例可用的 RAM 容量,从实例内部可见

注意

要启用 libvirt memory.usage 支持,您需要安装 libvirt 版本 1.1.1+,QEMU 版本 1.5+,并且您还需要在镜像中准备合适的 balloon 驱动程序。它尤其适用于 Windows 来宾,大多数现代 Linux 发行版已经内置了它。如果没有镜像 balloon 驱动程序,Telemetry 无法获取 memory.usage 样本。

注意

要在基于 RBD 的共享存储上运行 libvirt disk.* 支持,您需要安装 libvirt 版本 1.2.16+。

OpenStack Compute 能够从计算主机收集 CPU 相关计量数据。为了使用它,您需要在 nova.conf 配置文件中将 compute_monitors 选项设置为 cpu.virt_driver。有关更多信息,请参阅 OpenStack 配置参考的 Compute 章节中的 Compute 配置部分 Compute 章节

以下主机相关计量数据是为 OpenStack Compute 收集的

名称

类型

单元

资源

来源

注意

Mitaka 版本或更早版本中添加的计量数据

compute.node.cpu.frequency

Gauge

MHz

主机 ID

通知

CPU 频率

compute.node.cpu.kernel.time

累积

ns

主机 ID

通知

CPU 内核时间

compute.node.cpu.idle.time

累积

ns

主机 ID

通知

CPU 空闲时间

compute.node.cpu.user.time

累积

ns

主机 ID

通知

CPU 用户模式时间

compute.node.cpu.iowait.time

累积

ns

主机 ID

通知

CPU I/O 等待时间

compute.node.cpu.kernel.percent

Gauge

%

主机 ID

通知

CPU 内核百分比

compute.node.cpu.idle.percent

Gauge

%

主机 ID

通知

CPU 空闲百分比

compute.node.cpu.user.percent

Gauge

%

主机 ID

通知

CPU 用户模式百分比

compute.node.cpu.iowait.percent

Gauge

%

主机 ID

通知

CPU I/O 等待百分比

compute.node.cpu.percent

Gauge

%

主机 ID

通知

CPU 利用率

IPMI 计量数据

Telemetry 捕获由 Bare metal 服务发出的通知。通知的来源是 IPMI 传感器,它们从主机收集数据。

或者,可以通过在每个支持 IPMI 的节点上部署 ceilometer-agent-ipmi 来生成 IPMI 计量数据。有关 IPMI 代理的更多信息,请参阅 IPMI 代理

警告

为了避免计量数据的重复和 IPMI 接口上的不必要负载,请不要在由 Bare metal 服务管理的节点上部署 IPMI 代理,并使 ironic.conf 配置文件中的 conductor.send_sensor_data 选项设置为 False

记录以下 IPMI 传感器计量数据

名称

类型

单元

资源

来源

注意

Mitaka 版本或更早版本中添加的计量数据

hardware.ipmi.fan

Gauge

RPM

风扇传感器

通知、Pollster

风扇转速(RPM)

hardware.ipmi.temperature

Gauge

C

温度传感器

通知、Pollster

来自传感器的温度读数

hardware.ipmi.current

Gauge

A

电流传感器

通知、Pollster

来自传感器的电流读数

hardware.ipmi.voltage

Gauge

V

电压传感器

通知、Pollster

来自传感器的电压读数

注意

传感器数据默认情况下在 Bare metal 服务中不可用。要启用计量数据并配置此模块以发出有关测量值的通知,请参阅 Bare metal 服务的 安装指南

OpenStack Image 服务

以下计量数据是为 OpenStack Image 服务收集的

名称

类型

单元

资源

来源

注意

Mitaka 版本或更早版本中添加的计量数据

image.size

Gauge

B

镜像 ID

通知、Pollster

上传镜像的大小

image.download

Delta

B

镜像 ID

通知

镜像已下载

image.serve

Delta

B

镜像 ID

通知

镜像已提供

OpenStack Block Storage

以下计量数据是为 OpenStack Block Storage 收集的

名称

类型

单元

资源

来源

注意

Mitaka 版本或更早版本中添加的计量数据

volume.size

Gauge

GB

volume ID

通知

卷的大小

snapshot.size

Gauge

GB

快照 ID

通知

快照的大小

Queens 版本中添加的计量数据

volume.provider.capacity.total

Gauge

GB

hostname

通知

主机上的总卷容量

volume.provider.capacity.free

Gauge

GB

hostname

通知

主机上的可用卷容量

volume.provider.capacity.allocated

Gauge

GB

hostname

通知

Cinder 在主机上分配的卷容量

volume.provider.capacity.provisioned

Gauge

GB

hostname

通知

主机上分配的卷容量

volume.provider.capacity.virtual_free

Gauge

GB

hostname

通知

主机上的虚拟可用卷容量

volume.provider.pool.capacity.total

Gauge

GB

hostname#pool

通知、Pollster

池中的总卷容量

volume.provider.pool.capacity.free

Gauge

GB

hostname#pool

通知、Pollster

池中的可用卷容量

volume.provider.pool.capacity.allocated

Gauge

GB

hostname#pool

通知、Pollster

Cinder 在池中分配的卷容量

volume.provider.pool.capacity.provisioned

Gauge

GB

hostname#pool

通知、Pollster

池中分配的卷容量

volume.provider.pool.capacity.virtual_free

Gauge

GB

hostname#pool

通知、Pollster

池中的虚拟可用卷容量

OpenStack File Share

以下计量数据是为 OpenStack File Share 收集的

名称

类型

单元

资源

来源

注意

Pike 版本中添加的计量数据

manila.share.size

Gauge

GB

共享 ID

通知

文件共享的大小

OpenStack Object Storage

以下计量数据是为 OpenStack Object Storage 收集的

名称

类型

单元

资源

来源

注意

Mitaka 版本或更早版本中添加的计量数据

storage.objects

Gauge

对象

存储 ID

Pollster

对象数量

storage.objects.size

Gauge

B

存储 ID

Pollster

存储对象的总大小

storage.objects.containers

Gauge

container

存储 ID

Pollster

容器数量

storage.objects.incoming.bytes

Delta

B

存储 ID

通知

传入字节数

storage.objects.outgoing.bytes

Delta

B

存储 ID

通知

传出字节数

storage.containers.objects

Gauge

对象

存储 ID/容器

Pollster

容器中的对象数量

storage.containers.objects.size

Gauge

B

存储 ID/容器

Pollster

容器中存储对象的总大小

Ceph Object Storage

为了从 Ceph 收集计量数据,您需要按照 安装手册 中的说明安装和配置 Ceph 对象网关 (radosgw)。您还需要启用 使用情况日志记录,以便从 Ceph 获取相关的计量数据。您需要一个配置了 usersbucketsmetadatausage capsadmin 用户。

为了从 Telemetry 访问 Ceph,您需要在 ceilometer.conf 配置文件中为 radosgw 指定一个 service group,以及上述 admin 用户的 access_keysecret_key

以下计量数据是为 Ceph Object Storage 收集的

名称

类型

单元

资源

来源

注意

Mitaka 版本或更早版本中添加的计量数据

radosgw.objects

Gauge

对象

存储 ID

Pollster

对象数量

radosgw.objects.size

Gauge

B

存储 ID

Pollster

存储对象的总大小

radosgw.objects.containers

Gauge

container

存储 ID

Pollster

容器数量

radosgw.api.request

Gauge

请求

存储 ID

Pollster

对 Ceph 对象网关 (radosgw) 的 API 请求数量

radosgw.containers.objects

Gauge

对象

存储 ID/容器

Pollster

容器中的对象数量

radosgw.containers.objects.size

Gauge

B

存储 ID/容器

Pollster

容器中存储对象的总大小

注意

使用情况相关信息可能不会在上传或下载后立即更新,因为 Ceph 对象网关需要时间来更新使用情况属性。例如,默认配置需要大约 30 分钟才能生成使用情况日志。

OpenStack Identity

以下计量数据是为 OpenStack Identity 收集的

名称

类型

单元

资源

来源

注意

Mitaka 版本或更早版本中添加的计量数据

identity.authenticate.success

Delta

user

用户 ID

通知

用户成功认证

identity.authenticate.pending

Delta

user

用户 ID

通知

用户待认证

identity.authenticate.failure

Delta

user

用户 ID

通知

用户身份验证失败

OpenStack Networking

以下指标将为 OpenStack Networking 收集

名称

类型

单元

资源

来源

注意

Mitaka 版本或更早版本中添加的计量数据

带宽

Delta

B

标签 ID

通知

通过此 l3 计量标签的字节数

VPN-as-a-Service (VPNaaS)

以下指标将为 VPNaaS 收集

名称

类型

单元

资源

来源

注意

Mitaka 版本或更早版本中添加的计量数据

network.services.vpn

Gauge

vpnservice

VPN ID

Pollster

VPN 的存在

network.services.vpn.connections

Gauge

ipsec_site_connection

连接 ID

Pollster

IPSec 连接的存在

Firewall-as-a-Service (FWaaS)

以下指标将为 FWaaS 收集

名称

类型

单元

资源

来源

注意

Mitaka 版本或更早版本中添加的计量数据

network.services.firewall

Gauge

firewall

防火墙 ID

Pollster

防火墙的存在

network.services.firewall.policy

Gauge

firewall_policy

防火墙 ID

Pollster

防火墙策略的存在

Openstack alarming

以下指标将为 Aodh 收集

名称

类型

单元

资源

来源

注意

Flamingo 版本中添加的计量数据

alarm.evaluation_result

Gauge

evaluation_result_count

告警 ID

Pollster

每个告警的评估结果总数