Snmp 解析服务

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

此蓝图描述了 SNMP 解析服务的实现,用于将 SNMP 告警消息转换为告警详情并将其分发到相应的datasource。

问题描述

应支持以下用例

Vitrage datasources 模块提供了处理来自部分被监控系统告警的能力,但目前没有系统通过 SNMP 通信报告告警。

提议的变更

这里提供了一个 SNMP 服务模块,它提供了解析来自 SNMP 管理系统报告的告警的服务,并将它们发送到 OpenStack 消息总线,以便 datasources 进行进一步处理。

由于 snmp 服务是告警 datasource 的通用服务,该服务在 api、graph 和 notifier 服务启动后启动。 成功启动后,SNMP 解析服务可以接收和解码告警消息。 解码后的告警详情由告警/对象信息和相应的值组成,例如告警码。 SNMP 解析服务根据相应的 OID 解析告警 datasource 信息,然后标记 datasource 信息并构造消息,将其分发到 RabbitMQ 队列。 根据 OID 的值,告警 datasource 可以通过解码后的告警详情提取信息。

snmp 服务的配置: [snmp_parsing]

# snmp 监听端口 (整数值) snmp_listening_port = xxx

# traps oid 映射 yaml 文件路径(字符串值) #oid_mapping = /etc/vitrage/snmp_parsing_conf.yaml

snmp_parsing_conf.yaml 配置示例

  • oid: 1.3.6.1.4.1.3902.4101.1.3.1.12 # 例如 system: iaas_platform # 例如 datasource: new_datasource

  • oid: xxxx system: xxx datasource: xxx

备选方案

数据模型影响

REST API 影响

版本影响

其他最终用户影响

部署者影响

开发者影响

目前 snmp 解析服务不支持丢失的通知。 如果将来需要此解决方案,则应增强该服务。

Horizon 影响

实现

负责人

主要负责人

xupeipei

工作项

  • 添加一个新的 SNMP 解析服务

依赖项

测试

实现将由单元测试和 tempest 测试覆盖。

文档影响

新的 SNMP 配置应记录在案

参考资料