评估器引擎

Launchpad蓝图

https://blueprints.launchpad.net/vitrage/+spec/evaluator-engine

Vitrage 评估器充当工作流管理器,控制模板的分析和激活以及模板动作的执行。

评估器引擎是 Vitrage 评估器的核心,负责管理模板、在 Vitrage 图上执行模板以及运行其动作。

+---------------------+
|                     |
|                     <------------------+
|   Vitrage Graph     |                  |
|                     |          +-------+-------------------+
|                     |          | Vitrage Evaluator         |
+--------------+------+          |                           |
               |                 |                  +------+ |
               |                 |                  | RCA  | |
               +----------------->                  |      | |
                                 |                  +------+ |
                                 |                  +------+ |
+---------------------+          |                  |Deduce| |
|                     <----------+                  |Alarm | |
|   Vitrage Notifier  |          |                  +------+ |
|                     |          |                           |
|                     |          +---------------------------+
|                     |
+---------------------+

问题描述

Vitrage 需要一个组件来负责管理和执行模板,模板是 Vitrage 中使用的不同算法(例如 RCA)的基础。

用例
  1. 当在 Vitrage 图中添加/删除/更新新的 实例 时,找到与此更改相关的模板,并将每个模板中指定的模式与新的图结构进行比较。对于找到的每个模式匹配,执行模板中指定的动作。

  2. 当在 Vitrage 图中添加/删除/更新新的 告警 时,找到与此更改相关的模板,并将每个模板中指定的模式与新的图结构进行比较。对于找到的每个模式匹配,执行模板中指定的动作。

提议的变更

管理模板

用户可以对模板执行 CRUD 操作,以便更改 Vitrage 支持的使用案例。具体来说,添加模板时,应将其以图形格式添加并存储在 NetworkX(基于图形的内存数据库)中。 同样,该模板也可以被修改或删除。此处添加的功能应具有相应的 API 调用,供用户执行这些操作。

执行模板

当 Vitrage 图发生更改时,它会通知评估器引擎。 然后,引擎将搜索与此更改相关的模板,并将每个模板中指定的模式与新的图结构进行比较。对于找到的每个模式匹配,执行模板中指定的动作。

备选方案

数据模型影响

模板以 NetworkX 图形为基础保存在内存数据库中。

REST API 影响

此处添加的用于 管理 模板的功能应具有相应的 API 调用,供用户执行这些操作。

版本影响

其他最终用户影响

部署者影响

开发者影响

Horizon 影响

实现

负责人

待定

工作项

依赖项

  • 与 Vitrage 图的 API

  • 与 Vitrage 通知器的 API

测试

待定

文档影响

待定

参考资料

待定