Aodh 同步插件 - get_all 实现¶
launchpad 蓝图: https://blueprints.launchpad.net/vitrage/+spec/synchronizer-aodh-get-all
此蓝图描述了 Vitrage Synchronizer 的 Aodh 插件,以及其实现 get_all Aodh 告警的功能。
问题描述¶
Aodh 告警应通过 Vitrage Synchronizer 添加到 Vitrage Graph。 这需要编写一个用于 Aodh 的同步插件。
该插件应支持两种模式
get_all: 查询所有 Aodh 告警并将相应的事件发送到 Synchronizer
notifications: 在 Aodh 告警定义或状态发生变化时通知 Synchronizer
此蓝图指的是 get_all 实现。
提议的变更¶
Aodh 插件将配置为
轮询间隔(秒),默认为 60
每隔轮询间隔秒,Aodh 插件将调用 Aodh 列出所有告警的 API。 这些告警将被转换为 Vitrage Synchronizer 事件并传递到 Vitrage Graph 队列。
备选方案¶
无
数据模型影响¶
Aodh 事件将包含以下属性发送到 Vitrage Graph 队列
字段 |
描述 |
示例 |
|---|---|---|
alarm_id |
告警 UUID |
e47e1be6-3598-46e6-bb63-0cc9a4e35ad7 |
name |
告警名称 |
CpuUtilAlarm1 |
description |
告警描述 |
当 cpu 等于 60 秒的平均值 300.0 时发出告警 |
enabled |
告警是否启用 |
true/false |
project_id |
拥有告警的项目或租户的 ID |
5542b27142154f30b32dea6238aa81aa |
repeat_actions |
是否在每次评估周期重新触发操作 |
true/false |
severity |
告警严重程度 |
低/中等/严重 |
state |
告警状态 |
正常/告警/数据不足 |
time_constraints |
可选。 在此时间约束内评估告警 |
? |
type |
告警类型 |
阈值/事件 |
user_id |
创建告警的用户的 ID |
8ab65ef808b245e3ba234b7b3554cb94 |
resource_id |
可选。 告警规则查询中的资源 ID |
b0bf3635-d9e8-4624-9793-7aac82948c0a |
sync_type |
信息来源 |
aodh (常量值) |
Aodh 阈值告警将另外包含
字段 |
描述 |
示例 |
|---|---|---|
state_timestamp |
上次告警状态更改的日期 |
2016-03-01T17:13:08.847812 |
timestamp |
上次告警定义更新的日期 |
2016-03-01T17:13:08.847812 |
threshold_rule |
阈值告警的阈值规则 |
字典 |
Aodh 事件告警将另外包含
字段 |
描述 |
示例 |
|---|---|---|
event_type |
事件告警的事件类型 |
compute.instance.update |
timestamp |
Aodh 中不存在? 将使用当前时间 |
2016-03-01T17:13:08.847812 |
Gnocchi 告警、组合告警和复合告警仍待确定。
待确定:如何将此信息转换为 Vitrage Graph 顶点
REST API 影响¶
无
版本影响¶
无
其他最终用户影响¶
无
部署者影响¶
应配置 Aodh 插件
开发者影响¶
无
Horizon 影响¶
无
实现¶
负责人¶
- 主要负责人
ifat-afek
工作项¶
无
依赖项¶
无
测试¶
此蓝图需要单元测试和 Tempest 测试。
文档影响¶
应记录 Aodh 配置
参考资料¶
Synchronizer 主蓝图: https://github.com/openstack/vitrage-specs/blob/master/specs/mitaka/vitrage-synchronizer.rst