基于事件驱动的优化¶
https://blueprints.launchpad.net/watcher/+spec/event-driven-optimization-based
问题描述¶
Watcher 提供了 ONESHOT 和 CONTINUOUS 审计。ONESHOT 审计在启动后仅执行一次优化。CONTINUOUS 审计会周期性地执行优化。但是,没有办法响应系统的变化,例如告警事件。
用例¶
作为 Watcher 的用户,我希望在系统出现告警时尽快执行优化。
提议的变更¶
许多监控系统,例如 aodh,可以设置 webhook 作为告警动作,如果触发了告警,将发送一个 POST 请求。关于 POST 请求的身份验证,Aodh 的 告警动作 可以设置前缀 trust 以在请求 url 中添加 X-Auth-Token 头。Watcher 添加一个新的配置选项 enable_webhooks_auth 来决定是否启用 webhook 身份验证,默认值为 True。Watcher 添加了接收和处理告警事件的机制。
以下是处理流程摘要:用户创建一个基于事件的审计,需要一种新的审计类型,名为 EVENT。在监控系统(例如 aodh)中创建带有 Watcher webhook 和审计 uuid 的告警。当告警被触发时,Watcher 将接收带有审计 uuid 的事件。Watcher 执行审计并创建行动计划。
备选方案¶
CONTINUOUS 审计可以用来满足这个目的,但这会增加工作负载。
数据模型影响¶
无
REST API 影响¶
添加一个新的 webhook API
/v1/webhooks/{audit_ident}
触发基于事件的审计,audit_ident 是审计的 uuid 或名称。不执行身份验证令牌的验证。
方法类型:POST
正常的 http 响应代码:202(Accepted)
预期的错误 http 响应代码:400, 404(Not Found)
安全影响¶
无
通知影响¶
无
其他最终用户影响¶
无
性能影响¶
无
其他部署者影响¶
无
开发人员影响¶
无
实现¶
负责人¶
- 主要负责人
licanwei
工作项¶
添加一个新的审计类型,名为 EVENT
添加一个新的 webhook API
基于事件的审计处理流程
依赖项¶
无
测试¶
新功能单元测试
文档影响¶
添加关于如何使用新功能的文档
参考资料¶
历史¶
发布名称 |
描述 |
|---|---|
Ussuri |
引入 |