事件持久化器¶
https://blueprints.launchpad.net/vitrage/+spec/event-persistor
持久化器服务监听 RabbitMQ2(在不同的主题上),并异步地将事件写入关系数据库。所有事件在经过过滤/丰富处理后存储。
问题描述¶
为了支持 Vitrage 的一些主要未来用例,包括完全的 HA 支持、告警历史和 RCA 历史,我们需要将从收集器接收到的事件存储在持久化数据库中。详见 Vitrage HA 和历史愿景。
存储数据的用例示例:从处理器控制的历史数据中重建图,将在两种情况下使用
发生故障时,为了启动待机 vitrage-graph 进程
用于 RCA 历史
提议的变更¶
在 Vitrage 数据库中添加 event 表。数据源驱动程序和监听服务(收集器)通过 vitrage_persistor 主题将过滤/丰富后的事件传递给持久化器。添加一个持久化器服务,该服务监听 vitrage_persistor 主题并将事件写入 event 表。
备选方案¶
无
数据模型影响¶
该表将包含以下字段
字段 |
描述 |
示例 |
|---|---|---|
id |
INTEGER, 自动递增 |
19588 |
collector_timestamp |
事件在驱动程序中过滤/丰富的时间 |
2017-10-09 09:19:50 |
payload |
从收集器发送的丰富事件 |
事件的 JSON 表示 |
REST API 影响¶
无
版本影响¶
无
其他最终用户影响¶
无
部署者影响¶
无
开发者影响¶
无
Horizon 影响¶
无
实现¶
负责人¶
- 主要负责人
7mode3294
- 其他贡献者
无
工作项¶
在 rabbitMQ2 中为持久化器添加新的主题 vitrage_persistor。
在 Vitrage 数据库中添加 event 表。
数据源驱动程序和监听服务(收集器)通过 vitrage_persistor 主题将过滤/丰富后的事件传递给持久化器。
添加一个持久化器服务,该服务监听 vitrage_persistor 主题并将事件写入 event 表。
依赖项¶
无
测试¶
实现将涵盖额外的单元测试和 tempest 测试。
文档影响¶
无