Victoria 系列发布说明

15.1.0

错误修复

  • [bug 1940660] 修复了 Swift pollster 中的一个问题,即未正确使用 [service_credentials] cafile 选项。这可能会阻止与启用了 TLS 的 Swift API 通信。

14.0.0

新特性

  • 添加动态 pollster 系统。动态 pollster 系统使操作员能够在运行时收集新的指标(无需编写 pollster)。

  • 为动态 pollster 系统添加对非 OpenStack API 的支持。此扩展使操作员能够创建用于处理来自 RadosGW API 等系统的指标的 pollster。

  • 包含一个 Monasca API 的发布者。一个 monasca:// pipeline sink 将使用 ceilometer.conf 中配置的凭据将数据发送到 Monasca 实例。 此功能以前在 Ceilosca 项目中可用 (https://github.com/openstack/monasca-ceilometer)。

升级说明

  • 已停止对 Python 2.7 的支持。ceilometer 支持 py2.7 的最后一个版本是 OpenStack Train。ceilometer 现在支持的 Python 最低版本是 Python 3.6。

错误修复

  • [bug 1848286] 通过添加 loadbalancer 资源类型启用负载均衡器指标,允许 Gnocchi 捕获 Octavia 负载均衡器的测量数据。

13.0.0.0rc1

序言

添加了新的工具 ceilometer-status upgrade check

新特性

  • 为 gnocchi 实例资源添加 availability_zone 属性。通过消费 instance.create.end 事件来填充此属性。

  • 添加了 ceilometer-status upgrade check 命令的新框架。此框架允许添加各种检查,这些检查可以在 Ceilometer 升级之前运行,以确保可以安全地执行升级。

升级说明

  • 要利用此新功能,您需要更新您的 gnocchi_resources.yaml 文件。请参阅示例文件以获取示例。您需要确保实例的所有必需属性都在 event_attributes 中指定。

  • 操作员现在可以使用新的 CLI 工具 ceilometer-status upgrade check 来检查 Ceilometer 部署是否可以从 N-1 版本安全升级到 N 版本。

  • 移除已弃用的选项 meter_definitions_cfg_file,使用 meter_definitions_dirs 配置计量通知文件。

  • 以下命令不再需要列在您的 rootwrap 配置中:ipmitool。

安全问题

  • Privsep 转换。Ceilometer 正在从使用较旧的 rootwrap 权限提升路径过渡到新的 Oslo privsep 路径。 这应该从长远来看提高 Ceilometer 的性能和安全性。

  • Privsep 守护进程现在由 Ceilometer 在需要时启动。 如果需要,这些守护进程可以通过 rootwrap 启动。 因此,需要更新 rootwrap 配置以包含新的 privsep 守护进程调用。

12.0.0

新特性

  • 为现有的文件发布者添加新的 json 输出选项。

  • 新的指标可用于 snmp 轮询硬件。cpu.user、hardware.cpu.nice、hardware.cpu.system、hardware.cpu.idle、hardware.cpu.wait、hardware.cpu.kernel、hardware.cpu.interrupt。它们取代了已弃用的 hardware.cpu.util 和 hardware.system_stats.cpu.idle。

升级说明

  • 移除已弃用的选项 batch_polled_samples

  • 已弃用的 disk.* 计量已被移除。请使用 disk.device.* 计量代替。

  • 用于计算的已弃用计量已被移除
    • disk.read.requests.rate

    • disk.write.requests.rate

    • disk.read.bytes.rate

    • disk.write.bytes.rate

    • disk.device.read.requests.rate

    • disk.device.write.requests.rate

    • disk.device.read.bytes.rate

    • disk.device.write.bytes.rate

  • 已移除已弃用的 meter_definitions_cfg_file 选项。

  • 已移除用于通知代理的工作负载划分。

  • notifier publisher 选项 metering_topicevent_topic 已被弃用,将被移除。请在 notifier publisher URL 中使用 topic 查询参数代替。

  • pipeline 中的 transformers 支持已被移除。

弃用说明

  • Ceilometer 事件子系统和 pipeline 现在已被弃用,将在未来的版本中移除。

  • metrics hardware.cpu.util 和 hardware.system_stats.cpu.idle 现在已被弃用。应使用其他 hardware.cpu.* 指标代替。

11.0.0

新特性

  • 添加 disk.device.read.latencydisk.device.write.latency 指标来捕获读取或写入操作使用的总时间。

  • Nova 实例的 launched_at/created_at/deleted_at 现在被跟踪。

  • 添加支持配置 poller 在每个批次中发送的样本大小。

  • 已添加一个新的 pulisher 以将数据推送到 Prometheus Pushgateway。

  • 存档策略现在可以在 gnocchi_resources.yaml 中为指标配置。Ceilometer 现在会创建一个默认的存档策略列表。它们被称为“ceilometer-low-rate”用于所有 IO 指标,以及“ceilometer-low”用于其他指标。

  • 如果可用,则使用 libvirt memoryStats 中的可用内存指标。

已知问题

  • Ceilometer 创建的指标可能无法根据轮询配置获得测量结果。现在,只有在 Ceilometer 获得至少一个测量结果时,才会创建指标。

升级说明

  • ceilometer-upgrade 必须运行才能在 Gnocchi 中构建 IPMI 传感器资源。

  • 在配置的 [polling] 部分添加了 batch_size 选项。使用 batch_size=0 禁用样本批处理。

  • 已移除已弃用的 gnocchi_dispatcher 选项组。

  • 已弃用的 rgw.* 计量已被移除。请使用 radosgw.* 代替。

  • Ceilometer 现在在 Gnocchi 中创建自己的存档策略并使用它们来创建指标。旧指标保留了当前的存档策略,不会使用 ceilometer-upgrade 进行更新。只有新创建的指标会受到影响。可以通过 publisher URL 覆盖存档策略(例如:gnocchi://archive_policy=high)。

弃用说明

  • 在 [DEFAULT] 部分的 batch_polled_samples 选项已被弃用。使用 [polling] 中的 batch_size 选项来配置和/或禁用批处理。

  • cpu_util 和 *.rate 计量已被弃用,将在未来的版本中移除,以支持 Gnocchi 费率计算等效项。

  • 在 Ceilometer pipeline 中使用 transformers 已被弃用。当您有多个 worker 时,Ceilometer 中的 transformers 永远无法正确计算样本。此功能可以轻松地由存储后端完成,而无需 Ceilometer 存在的所有问题。例如,费率计算今天已经在 Gnocchi 中完成。

  • Pipeline 划分也被弃用了。这仅用于解决 transformers 存在的一些问题。

错误修复

  • Ceilometer 以前不会从 IPMI 代理或 Ironic 在 Gnocchi 中创建 IPMI 传感器数据。现在,此数据被推送到 Gnocchi。

10.0.0

新特性

  • 添加支持从 cinder 捕获卷容量使用情况详细信息。此数据是从 Ocata 开始的 Cinder 发送的通知中提取的。

  • 通知代理的工作负载划分现在根据 pipeline 类型(样本、事件等)而不是每个单独的 pipeline 分割成队列。这将节省一些内存使用量,特别是对于具有许多源/sink 组合的 pipeline 定义。

  • 通知代理现在可以配置为构建计量或事件。默认情况下,通知代理将继续加载两个 pipeline 并构建两种数据模型。要选择性地启用 pipeline,请在 [notification] 部分配置 pipelines 选项。

    可以按照现有 pipeline 使用的格式创建其他 pipeline。

  • 添加 hardware.disk.read.* 和 hardware.disk.write.* 指标以捕获磁盘 io 详细信息。

升级说明

  • 已移除已弃用的 Ceilometer API。

  • 已移除 collector 服务。从 Ocata 开始,可以编辑 pipeline.yaml 和 event_pipeline.yaml 文件并修改 publisher 以提供与 collector dispatcher 相同的功能。您可以将 publisher 更改为“gnocchi”、“http”、“panko”或文档中列出的任何可用 publisher 的组合。

  • 使用 radosgw.* 显式启用/禁用 radosgw 计量,而不是 rgw.*

  • 如果启用了通知代理的工作负载划分,则通知代理不应与 Queens 之前的代理一起运行。这样做可能会在使用转换时导致丢失样本。要升级而不会丢失数据,请将 notification_control_exchanges 选项设置为空,以便仅处理现有的 ceilometer-pipe-* 队列。清除后,重置 notification_control_exchanges 选项并启动新的通知代理。如果未启用 workload_partitioning,则无需采取特殊步骤。

  • 已弃用在 pipeline.yaml 文件中配置轮询的支持。Ceilometer 现在仅使用 polling.yaml 文件进行轮询配置。

  • 已弃用的 compute.workload_partitioning 选项已被移除,取而代之的是 compute.instance_discovery_method

  • 移除直接发布者并使用显式发布者。

  • 已移除已弃用的控制交换机选项。

  • 已移除已弃用的文件 dispatcher。

  • 已移除 Gnocchi dispatcher 并替换为本机 Gnocchi publisher。从 [dispatcher_gnocchi] 的配置选项已被移除,应通过 pipeline.yaml 中的 URL 传递。可以通过在 [gnocchi] 部分添加特定凭据来覆盖服务身份验证。

  • 已移除已弃用的 http dispatcher。

  • 已移除已弃用的 kafka publisher,请使用 NotifierPublisher 代替。

  • 已移除已弃用的 nova_http_log_debug 选项。

  • 已移除已弃用的 pollster-list 选项。

弃用说明

  • 实例的 disk.* 聚合指标已被弃用,以支持每个磁盘的指标(disk.device.*)。现在,后端负责提供此类聚合功能。Gnocchi 已经提供了此功能。

  • 以前,要启用/禁用 radosgw.* 计量,您必须定义 entry_point 名称而不是计量名称。现在已更正,因此您无需了解 entry_point 命名。使用 radosgw.* 显式启用/禁用 radosgw 计量,而不是 rgw.*rgw.* 支持已被弃用,将在 Rocky 中移除。

  • 已移除 shuffle_time_before_polling_task 选项。此选项从未按其最初的意图工作。

错误修复

  • 修复显式启用/禁用 radosgw.* 计量的能力

9.0.0

序言

来自 OpenDaylight 的网络统计信息。

新特性

  • 添加 VM 的内存交换指标,包括“memory.swap.in”和“memory.swap.out”。

  • 由于弃用 collector,pipeline.yaml 和 event_pipeline.yaml 中的默认发布者现在已更改为使用数据库而不是 notifier。

  • Ceilometer 支持通用的 notifier 以发布数据,并允许用户自定义参数,例如主题、传输驱动程序和优先级。pipeline 中的发布者配置可以是 notifier://[notifier_ip]:[notifier_port]?topic=[topic]&driver=driver&max_retry=100。不仅可以使用 rabbit 驱动程序,还可以使用其他驱动程序,例如 kafka。

  • 在 pipeline 的“publishers”部分,https:// 现在可以与 http:// 一起使用。此外,可以使用基本身份验证或客户端证书身份验证(显然,客户端证书仅在 https 的情况下才有意义)。对于基本身份验证,请使用 http://username:password@hostname/ 形式。对于客户端证书身份验证,请使用参数“clientcert”和“clientkey”传递客户端证书的路径(如果密钥不在证书文件中),例如 https://hostname/path?clientcert=/path/to/cert&clientkey=/path/to/key。在发出实际 HTTP 请求之前,将用于 http(s) 发布者的任何参数或凭据从 URL 中删除。

  • 添加一个 Ceilometer 驱动程序以使用 OpenDaylight 中 network-statistics 模块公开的 REST API 收集网络统计信息。

  • 添加对使用 gnocchi 进行网络统计计量支持

  • 一个新的选项 named max_parallel_requests 可用于控制代理可以执行的并行请求的最大数量。此选项还取代了 HTTP 发布者的 poolsize 选项。

  • 轮询代理中的租户(项目)发现代码现在扫描所有可用域中的租户。

  • 支持加载多个计量定义文件,并允许用户根据不同类型的指标将自己的计量定义添加到 /etc/ceilometer/meters.d 目录中的几个文件中。

  • 添加一个新的发布者以将样本或事件推送到 Zaqar 队列。

升级说明

  • 添加一个工具,用于将计量数据从 Ceilometer 的本机存储迁移到 Gnocchi。由于我们已弃用 Ceilometer API,并且 Gnocchi 将是推荐的计量数据存储后端。

  • Ceilometer 现在利用 tooz 库提供的最新分发机制。因此,coordination.retry_backoffcoordination.max_retry_interval 选项不再存在。

弃用说明

  • 此版本中不再支持 collector。collector 会导致将数据推送到后端时出现延迟。为了优化架构,Ceilometer 通过使用通知代理中的发布者直接将数据推送到后端。

  • 允许用户在 ceilometer.conf 中添加额外的交换机,而不是硬编码交换机。现在,原始 http_control_exchanges 正在被弃用并重命名为 notification_control_exchanges。此外,新的选项与默认 EXCHANGE_OPTS 中的其他交换机集成,使其可用于扩展其他交换机。

  • Kafka 发布者已被弃用,以使用通用的 notifier 代替。

  • 弃用通过命令行启用 pollsters 的支持。应通过 polling.yaml 文件配置计量和 pollster 启用。

  • 以前弃用的 kwapi 计量未被移除。

  • 现在已弃用使用 pipeline.yaml 进行轮询配置。应使用专用的 polling.yaml 代替。

  • 已移除 pipeline 动态刷新代码。Ceilometer 依赖于 cotyledon 库,该库提供通过向进程发送 SIGHUP 信号来实现重新加载功能。这在确保文件正确且完全写入磁盘后实现相同的特性,避免加载半写入文件的失败时,实现了相同的特性。

错误修复

  • 修复了启用/禁用 radosgw.* 计量的能力

其他说明

  • 将 YAML 文件运送到 ceilometer/pipeline/data/ 使升级时更新所有文件变得方便。用户可以从 /usr/share/ceilometer 复制 YAML 文件并自定义位于 /etc/ceilometer/ 的自己文件。

8.0.0

序言

为了尽量减少噪音,Ceilometer 将不再生成没有可测量数据的计量。Image 计量仅捕获已经通过事件和其他计量捕获的状态信息。

样本需要测量资源的某些方面。不测量任何内容的样本将被丢弃。

新特性

  • 在 ceilometer.conf 的 [dispatcher_http] 部分,可以将 batch_mode 设置为 True 以激活批量发送计量和事件,或设置为 False(默认值)以使用新的 HTTP 调用发送每个计量和事件。

  • Ceilometer 在 Ceilometer 前面设置了 HTTPProxyToWSGI 中间件。此中间件的目的是在 Ceilometer 前面存在代理(例如负载均衡器,如 HAProxy)的情况下正确设置请求 URL。因此,例如,当 TLS 连接在代理中终止,并且尝试从 Ceilometer 的 / 资源获取版本时,会注意到协议不正确;它会显示 ‘http’ 而不是 ‘https’。因此,此中间件处理此类情况,从而帮助 Keystone 发现正常工作。HTTPProxyToWSGI 默认关闭,需要通过配置值启用。

  • Ceilometer 计算代理现在可以从 libvirt 元数据 API 而不是轮询 Nova API 检索一些实例元数据。从 Mitaka 开始,Nova 会将一些关于实例的信息填充到此元数据中。要启用此功能,您应该在配置文件中设置 [compute]/instance_discovery_method = libvirt_metadata。此方法的唯一缺点是 user_metadata(和其他一些实例属性)不再是代理创建的样本的一部分。但是,当使用 Gnocchi 作为后端时,这不是一个问题,因为 Gnocchi 不会存储资源元数据,而只存储测量结果。并且缺失的信息仍然可以通过 Nova 通知检索到,并将完全更新 Gnocchi 中的资源信息。

  • 添加支持计量 cinder 卷/快照/备份的大小。与其他计量一样,这些计量对于计费系统很有用。

升级说明

  • 可以通过 pipeline 中发布者的查询字符串传递配置值。例如,而不是在 conf 的 [dispatcher_http] 部分设置 target、timeout、verify_ssl 和 batch_mode,您可以指定 http://<target>/?verify_ssl=True&batch=True&timeout=10。如果只需要事件的原始详细信息,请使用 raw_only=1

  • 任何使用 image 指标的现有命令都应切换到 image.size 指标,它将提供等效的功能

  • instance 指标将不再生成。对于等效功能,请对任何计算指标(例如 cpudisk.read.requestsmemory.usagenetwork.incoming.bytes 等)执行完全相同的查询。

  • Ceilometer 遗留后端和 Ceilometer API 现在已被弃用。使用 Gnocchi 时,不再需要从计算代理轮询所有 nova 实例。因此,我们将 [compute]instance_discovery_method 切换到 libvirt_metadata。要切换回旧的弃用行为,可以将它设置回 ‘naive’。

  • 如果您正在使用 Gnocchi 作为后端,强烈建议将 [compute]/instance_discovery_method 切换到 libvirt_metadata。这将减少 Nova API 上的负载,尤其是在您拥有许多计算节点的情况下。

  • api.pecan_debug 选项已被删除。

  • 轮询代理中的管道处理已在 Liberty 周期中删除。创建了一个新的轮询特定定义文件来处理轮询功能,而管道定义文件现在仅用于转换和路由。polling.yaml 文件遵循与 pipeline.yaml 相同的语法,但仅处理轮询属性,例如间隔、发现、资源、指标匹配。它通过在轮询部分下设置 cfg_file 来配置。如果未找到轮询定义文件,它将回退到重用 pipeline_cfg_file。

弃用说明

  • Ceilometer API 已被弃用。使用来自 Aodh(警报)、Gnocchi(指标)和/或 Panko(事件)的 API。

  • 由于收集器服务已被弃用,我们现在必须解决调度器和发布者之间的重复问题。file dispatcher 现在被标记为已弃用。使用 file publisher 将样本推送到文件。

  • 由于收集器服务正在被弃用,发布者和调度器之间的重复问题正在得到解决。http dispatcher 现在被标记为已弃用,推荐的方法是使用 http publisher。

  • image 指标已被删除,以支持 image.size 指标。

  • instance 指标将不再生成。

  • [compute]/workload_partitioning = True 已被弃用,以支持 [compute]/instance_discovery_method = workload_partitioning

错误修复

  • 轮询实例指标时使用本地缓存,以最大程度地减少对 Nova API 的调用。添加了一个新选项 resource_cache_expiry 来配置缓存的生存时间。这解决了迁移实例未从缓存中删除的问题。只有当 instance_discovery_method 设置为 naive 时,这才是相关的。如果可能,建议使用 libvirt_metadata

其他说明

  • 已删除的 Events API(在 /v2/events 处公开)。Panko 项目现在负责提供此 API,可以单独安装。

  • 已删除的 ceilometer-dbsync 已被删除。使用 ceilometer-upgrade 代替。

7.0.0.0rc1

序言

Ceilometer 后端不再仅是数据库,还有像 Gnocchi 这样的 REST API。因此,ceilometer-dbsync 二进制名称不再有意义,并已重命名为 ceilometer-upgrade。新的二进制文件处理数据库模式升级,就像 ceilometer-dbsync 一样,但它还处理配置的 Ceilometer 后端(如 Gnocchi)所需的任何更改。

新功能

  • 添加了四个新指标,包括 perf.cpu.cycles,用于一个指令所需的 cpu 周期数,perf.instructions 用于指令计数,perf.cache_references 用于缓存命中计数,以及 cache_misses 用于缓存未命中计数。

升级说明

  • 当启用协调工作器时,现在默认启用批处理。根据负载,建议扩展 pipeline_processing_queues 的数量以提高分配。还应相应地配置 batch_size

弃用说明

  • 事件数据库调度器现在已被弃用。它已移动到一个新项目,以及 Ceilometer API,用于 /v2/events,名为 Panko。

  • Kwapi 轮询器已被弃用,将在 Ceilometer 的下一个主要版本中删除。

  • 为了向后兼容,我们暂时保留 ceilometer-dbsync,至少保留一个主要版本,以确保部署者有时间更新他们的工具。

错误修复

  • 修复以改进在严重备份的环境中处理消息的方式。以前,通知处理程序会贪婪地从队列中获取消息,这可能导致排序问题。已应用修复程序,以在单个线程中顺序处理消息,以防止排序问题。

7.0.0.0b3

新功能

  • 添加了对 magnum bay CRUD 事件的支持,事件类型为 ‘magnum.bay.*’。

  • 在 ceilometer.conf 的 [dispatcher_http] 部分,可以将 verify_ssl 设置为 True 以使用系统安装的证书(默认值),或设置为 False 以忽略证书验证(仅在开发中使用!)。verify_ssl 也可以设置为证书文件的位置,例如 /some/path/cert.crt(用于自签名证书),或设置为证书目录。该值作为 ‘verify’ 选项传递给底层的请求方法,该方法在 http://docs.python-requests.org/en/2025.2/user/advanced/#ssl-cert-verification 上有文档说明

  • 添加了两个新指标,包括 memory.bandwidth.total 和 memory.bandwidth.local,用于基于 Intel CMT 功能获取内存带宽统计信息。

  • 由于 Glance v1 API 将不再维护,因此此更改添加了对 glance v2 在 images 轮询器中的支持。

升级说明

  • 已删除选项 glance_page_size,因为它实际上不需要。

错误修复

  • [bug 1597618] 添加了对 snmp v3 用户安全模型的完全支持。

7.0.0.0b2

新功能

  • 添加了对将计量数据批量记录到 mongodb 后端的支持,因为 pymongo 支持 insert_many 接口,该接口可用于批量记录项目,在“大数据”场景中,此更改可以提高计量数据记录的性能。

升级说明

  • 已启用并删除了选项 requeue_event_on_dispatcher_errorrequeue_sample_on_dispatcher_error

关键问题

  • 先前配置选项的默认值 requeue_sample_on_dispatcher_errorrequeue_event_on_dispatcher_error 很容易导致数据丢失:如果调度器未能将数据发送到后端(例如 Gnocchi 宕机),则调度器会引发异常,数据将永久丢失。这是完全不可接受的,任何人都不应能够以这种方式配置 Ceilometer。”

错误修复

  • [bug 1578128] 添加了一个工具,允许用户删除遗留警报和警报历史表。

  • [bug 1491509] 补丁以统一轮询器轮询的样本中的时间戳。将轮询开始的时间点设置为样本的时间戳,并删除轮询器中的时间戳。