Vitrage 对推导告警的支持

https://blueprints.launchpad.net/vitrage/+spec/support-deduced-alarms

Vitrage 应该支持触发推导告警。当某个资源上触发告警时,我们可能会得出结论,认为这会导致其他相关资源出现问题。在这种情况下,即使我们没有从其他信息源获得问题的指示,我们也希望在这些其他资源上触发推导告警。

问题描述

在某些情况下,我们知道一个资源的故障应该会导致其他资源出现问题。例如,主机上的高 CPU 负载可能会导致在此主机上运行的所有实例的性能不佳,从而导致这些实例上运行的应用程序的性能问题。就 Nova 而言,所有实例都已启动并正在运行,并且没有问题的迹象。

提议的变更

Vitrage Evaluator 作为工作流管理器,控制模板的分析和激活以及模板动作的执行。它的职责之一是监听 Vitrage Graph 的变化,并在发生变化时执行匹配的模板。这是一种通用的机制,应该适用于所有类型的模板并执行各种类型的操作。

此蓝图的目标是确保推导告警功能能够端到端地正常工作。

每当触发新的告警时,Vitrage Graph 都会使用与相关资源连接的此告警的新顶点进行更新。然后,vitrage evaluator 引擎会查找可以匹配此新告警的模板。如果找到推导告警模板,引擎将尝试在 Vitrage Graph 中找到整个模板的完整匹配项。如果找到,引擎将要求 notifier 根据模板触发新的告警。

带有推导告警的图示例

Original alarm:
+-----------+               +------------+
|Host High  |     on        |            |
|CPU load   | +-----------> |  Host      |
|           |               |            |
+-----------+               +-----+------+
                                  |
                                  | contains
Deduced alarm                     |
to raise:                         |
+-----------+               +-----v------+
|Instance   |     on        |            |
|Suboptimal | +-----------> |  Instance  |
|Performance|               |            |
+-----------+               +------------+

备选方案

数据模型影响

REST API 影响

安全影响

流水线影响

其他最终用户影响

性能/可扩展性影响

其他部署者影响

开发者影响

Horizon 影响

实现

负责人

主要负责人

ifat_afek <ifat.afek@alcatel-lucent.com>

工作项

此蓝图包括

  • 定义推导告警模板的确切语法

  • 调用 notifier 触发告警

未来生命周期

依赖项

  • Vitrage Graph

  • Vitrage Engine

  • Vitrage Notifier

测试

此更改需要通过单元测试进行测试。

文档影响

参考资料

https://wiki.openstack.org/wiki/Vitrage