添加删除告警历史的功能

https://blueprints.launchpad.net/ceilometer/+spec/delete-alarmhistory

目前 ceilometer-expirer 不会删除过期的 AlarmChanges。残留的 AlarmChanges 会导致磁盘空间浪费和响应速度变慢。此蓝图添加了删除告警历史的功能。

问题描述

目前 ceilometer-expirer 不会删除过期的 AlarmChanges。因此,我们需要添加删除告警历史的功能。

为此,需要指定一个生存时间 (TTL) 值。目前 metering_time_to_live (又名 time_to_live) 值用于删除计量数据。但是,告警历史的过期时间不应与样本过期时间相同。

因此,需要为告警历史引入单独的 TTL 值。

提议的变更

添加删除告警历史的功能。此功能将放入 ceilometer-expirer 中。

新的 TTL,alarm_history_time_to_live,作为配置选项添加到数据库部分。

替代方案

可以为样本和告警历史使用相同 time_to_live 值。

但是,它们的规模可能完全不同,因此过期频率不应相同。

因此,我们将拥有单独的 TTL。

数据模型影响

REST API 影响

安全影响

Pipeline 影响

其他最终用户影响

性能/可扩展性影响

其他部署影响

如果部署者希望启用此功能,则应设置一个新的选项。

开发者影响

实现

负责人

主要负责人
  • honjo-rikimaru-c6

  • ZhiQiang Fan

其他贡献者

持续维护者
  • ZhiQiang Fan

工作项

  • “alarm_history_time_to_live” 已被添加为配置选项。

  • 支持 mongodb 后端

  • 支持 sqlalchemy 后端

未来生命周期

依赖项

测试

此代码将在单元测试中进行过期测试。

文档影响

参考资料

[1] https://blueprints.launchpad.net/ceilometer/+spec/delete-alarmhistory

[2] 解决此问题的 bug 报告 https://bugs.launchpad.net/ceilometer/+bug/1289141

[3] 针对 [2] 的进行中补丁 https://review.openstack.org/#/c/87869/