添加删除告警历史的功能¶
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/