告警配额¶
https://blueprints.launchpad.net/ceilometer/+spec/quotas-on-alarms
目前,Ceilometer 可以创建无限数量的告警。能够指定每个用户或项目允许的最大告警数量将是有益的,以便对 Ceilometer 所需的计算能力进行控制和限制。
问题描述¶
目前,由于告警评估过程,大量的告警会影响 Ceilometer 的性能,但为了减少这个问题,正在进行改进,具体参见蓝图 [1]。
即使性能不是问题,为了防止最终用户滥用,也必须实现告警配额机制。
提议的变更¶
拟议的更改将允许表达用户或项目可以设置的最大告警数量。如果实施这些限制,可以在 Ceilometer 的配置文件(告警部分)中指定它们。
[alarm]
user_alarm_quota =
project_alarm_quota =
当用户添加告警时,将进行以下检查
用户是否已达到其告警配额? 如果是,则拒绝该请求。
用户的项目告警配额是否已满? 如果是,则拒绝该请求。
添加告警。
配额不必在每个级别都设置。 例如,仅在项目级别设置限制将允许用户创建他们想要的任何数量的告警,只要其特定项目的告警总数小于限制即可。
为了提供向后兼容性,告警配额的默认值将设置为 None。
替代方案¶
在 Havana 开发周期中,提出了另一种解决方案,即将项目/用户配额存储在 Keystone 中,用于所有 Openstack 资源 [2]。 此解决方案后来被放弃,转而让每个组件自行管理配额。
在 Ceilometer 中实现配额的另一种解决方案是使用其他 Openstack 组件正在使用的相同机制。 这将意味着在 Ceilometer 中添加 OS-QUOTAS API 扩展,云运营商将使用该扩展来分配项目/用户特定的配额。 这些特定的项目/用户配额必须存储在 Ceilometer 后端,这意味着需要几个后端特定的配额存储实现。
这种替代解决方案更加复杂,可以在未来的发布周期中实现。
数据模型影响¶
无
REST API 影响¶
无
未添加或更改任何 API 方法。 但是,当超过告警配额时,将返回新的错误 http 响应代码(HTTP 403)。
安全影响¶
无
Pipeline 影响¶
无
其他最终用户影响¶
将评估并修复此功能对 Heat 告警和 AutoScaling 资源的影响。
性能/可扩展性影响¶
无
其他部署影响¶
部署者现在可以在配置文件(告警部分)中定义告警配额
[alarm]
quota_user_alarm =
quota_project_alarm =
开发者影响¶
无
实现¶
负责人¶
- 主要负责人
arezmerita
- 其他贡献者
mhu-s
工作项¶
实现告警配额机制
在单元测试中测试该功能
未来生命周期¶
如“替代方案”部分所述,可以在未来的发布周期中实现用于动态配额管理的 API 扩展。
依赖项¶
无
测试¶
将添加 Tempest 测试来测试此功能
文档影响¶
将更新 Ceilometer 安装文档