SNMP 通知

launchpad 蓝图: https://blueprints.launchpad.net/vitrage/+spec/snmp-notifications

评估器对 Vitrage 图进行根本原因分析,并可能确定应创建、删除或以其他方式更新警报。 Vitrage Notifier 服务会通知其他组件这些更改。 其中一个 Vitrage Notifier 负责在 Vitrage 推理出的警报上发送 SNMP trap。

此蓝图描述了 Vitrage Notifier 在 Vitrage 推理出的警报上通知 SNMP 的实现。

问题描述

Vitrage 应支持注册 SNMP 通知,并在已注册的目标上发送已触发警报和已停用警报的 trap。

提议的变更

由于在 Vitrage 配置文件中的定义

[DEFAULT]
notifiers = snmp

Vitrage 监听器将从消息总线获取警报事件,SNMP 通知器将在触发的推理警报和删除的推理警报上发送 SNMP trap。

trap 将发送到 consumers yaml 文件中指定的目的地。

trap 将仅发送到 yaml 文件中指定的警报,该文件包含每个警报名称的 oid 映射。

发送的 trap 的格式将在另一个 yaml 文件中指定。

所有这些 yaml 文件的路径应在 Vitrage 配置文件中指定

[snmp]
consumers = <path to consumers yaml file>
alarm_oid_mapping = <path to alarm oid mapping yaml file>
oid_tree = <path to tree format oid configuration yaml file>

SNMP 通知器是可插拔的,您可以实现自己的 SNMP 发送器并使用它(它必须从基类继承),当存在默认实现时。

备选方案

数据模型影响

REST API 影响

版本影响

其他最终用户影响

部署者影响

要使用 SNMP 通知器,需要在 Vitrage 配置文件中定义它,并且另外创建三个 yaml 文件并在 Vitrage 配置文件中定义它们。

开发者影响

Horizon 影响

实现

负责人

主要负责人

annarez

工作项

  • 创建 SNMP 通知器

    • 创建 SNMP 发送器

      • 创建基类

  • 为 SNMP 发送器创建单元测试

    • 测试 snmp 通知器

    • 测试 snmp 发送器

依赖项

测试

此蓝图需要单元测试。

文档影响

SNMP 通知器的用法将记录在案

参考资料

notifier-snmp-plugin.rst