Mitaka 发行说明¶
6.0.0¶
新特性¶
添加了对队列中批量处理消息的支持。这将允许收集器和通知代理每线程获取多个消息,以实现更高效的处理。
为了减少对 Nova API 的负载,添加了一个额外的配置选项来控制发现间隔与指标轮询间隔。如果在 compute 部分配置了 resource_update_interval 选项,则 compute 代理将基于定义的间隔发现新的实例。代理将继续以 pipeline 定义的间隔轮询已发现的实例。
[bug 1480333] 支持配置收集器以互斥地捕获事件或指标,而不是始终捕获两者。
添加了对 CORS 的支持。更多信息请参见 [此处]
为了避免额外的查询,在 Gnocchi 调度器中添加了资源缓存支持以提高写入性能。
Gnocchi 调度器现在使用客户端而不是直接 HTTP 请求
[bug 1518338] 添加了将 SNMP 指标存储在 Gnocchi 中的支持。此功能需要安装 Gnocchi v2.1.0。
添加了对 Keystone v3 身份验证的支持
Ceilometer 告警代码已从代码库中完全删除。等效功能由 Aodh 处理。
由于 pyCADF 中的 audit 中间件在 Kilo 周期中已被删除,因此已放弃对 HTTP 调度器中仅 CADF 有效负载的支持。
为了支持线程化方法,Ceilometer 中已删除了 eventlet。
已放弃 RPC 收集器支持。从 Icehouse 周期开始,基于队列的通知发布者和收集器被添加为推荐的替代方案。
添加了对轮询 Neutron 的 LBaaS v2 API 的支持,因为 Neutron 中的 v1 API 已被弃用。v1 和 v2 之间可用相同的指标。
[bug 1513731] 在 snmp.yaml 中添加了对硬件 cpu_util 的支持
[bug 1506959] 添加了查询与每个资源关联的指标而不是唯一指标集合的支持。通过在请求中添加 unique=True 选项,可以获得该列表。
已知问题¶
Neutron API 并非设计用于轮询。如果启用了对 Neutron 的轮询,Ceilometer 的轮询代理可能会对 Neutron API 产生显著的负载。建议启用专用的 API 用于轮询,同时改进 Neutron 的 API 以处理轮询。
升级说明¶
配置选项 ‘requeue_event_on_dispatcher_error’ 和 ‘requeue_sample_on_dispatcher_error’ 已启用并删除。
在配置文件的 [notification] 和 [collector] 部分添加了 batch_size 和 batch_timeout 配置选项。batch_size 控制在处理之前获取的消息数量。类似地,batch_timeout 定义了在处理之前等待的时间。
可以修改 api-paste.ini 文件以包含或排除 CORS 中间件。还可以对中间件进行其他配置。
如果使用 ceilometer+gnocchi,gnocchiclient 库现在是必需的。
Ceilometer 中的 gnocchi_resources.yaml 应该更新。
为了利用新的策略支持,应相应地更新 policy.json 文件。如果不需要策略更改,现有的 policy.json 文件将继续像以前一样工作。
运行 db-sync 以添加新的索引。
应使用 keystonemiddleware 库中的 audit 中间件来获得类似的支持。
应将代理的 Pipeline.yaml 文件更新为 notifier:// 或 udp:// 发布者。不再支持 rpc:// 发布者。
默认情况下,Ceilometer 将轮询 v2 API。要轮询旧版 v1 API,请将 neutron_lbaas_version=v1 选项添加到配置文件中。
关键问题¶
以前的配置选项默认值 ‘requeue_sample_on_dispatcher_error’ 和 ‘requeue_event_on_dispatcher_error’ 很容易导致数据丢失:如果调度器未能将数据发送到后端(例如,Gnocchi 宕机),则调度器会引发错误,数据将永久丢失。这是完全不可接受的,不应以这种方式配置 Ceilometer。”
[bug 1533787] 修复了在部署多个通知代理时,代理无法正确注册到组的问题。这可能导致转换不正确,因为代理没有协调。仍然建议在 [oslo_messaging_rabbit] 部分设置 heartbeat_timeout_threshold = 0,以便部署多个代理。
[bug 1519767] Python <= 2.7.9 中的 fnmatch 功能不是线程安全的。此问题及其潜在的竞争条件现已修复。
错误修复¶
[bug 1531626] 如果未提供大小,请确保聚合器转换器超时生效。
[bug 1550436] 在构建解析逻辑时缓存 json 解析器以处理事件和指标定义。这将提高代理启动和设置时间。
[bug 1254800] 添加了更好的支持来捕获在创建 event_types 时的竞争条件
[bug 1539163] 添加了定义在聚合样本时使用第一个或最后一个时间戳的能力。这将允许在链接转换器时更灵活。
[bug 1536338] 添加了一个补丁来修复从 nova api 轮询数据,但由于 nova api 按租户过滤数据,Ceilometer 无法获取任何数据的 broken floatingip pollster。该修复程序将 pollster 更改为使用 neutron api 来获取 floating ip 信息。
[bug 1530793] network.services.lb.incoming.bytes 指标先前设置为不正确的类型。它应该是一个 gauge 指标。
[bug 255569] 修复 Gnocchi 调度器中的缓存支持。添加了更好的锁定支持以实现更平滑的缓存访问。
修复来自 Heat 的样本以映射到正确的 Gnocchi 资源类型
[bug 1523124] 修复 Gnocchi 调度器以支持 UDP 收集器
[bug 1542189] 优雅地处理 gnocchi_resources.yaml 中的格式错误的资源定义。当前,我们会在遇到错误资源时引发异常并跳过其余资源。相反,该补丁会跳过错误的资源并继续处理其余定义。
[bug 1504495] 配置 Ceilometer 以尽可能处理 policy.json 规则。
[bug 1526793] 添加了额外的索引以更好地支持查询事件数据。
[bug 1536699] 添加了一个补丁来修复指标定义文件中的 volume 字段查找。如果定义中缺少该字段,它会引发 KeyError 并中止。相反,我们应该跳过缺少的字段指标并继续处理其余定义。
[bug 1532661] 修复由于 MongoDB 中存储的大数字导致统计查询失败。来自 MongoDB 的数据作为 Int64 返回给大数字,而需要 int 和 float 类型。将数据转换为适当的类型以处理大数据。
[bug 1536498] 添加了一个补丁来修复重复的指标定义导致重复的样本。如果找到重复项,则记录警告并跳过指标定义。请注意,第一个出现的指标将被使用,并且任何后续重复项将被跳过处理。
[bug 1506738] [bug 1509677] 优化 SQL 后端查询以最大程度地减少查询负载
[bug 1388680] 假设在使用 SQL 后端时查询 None 值的能力。
其他说明¶
通过在配置文件中指定 meter_dispatchers 和 event_dispatchers 来配置各个调度器。
需要受 dogpile.cache 支持的后端才能启用缓存。还需要其他配置 选项。