From 1ca3b28009e6e39a8d84ae4bc79a1940c784e0c4 Mon Sep 17 00:00:00 2001 From: Anna Reznikov Date: Tue, 14 Mar 2017 16:47:16 +0000 Subject: [PATCH] snmp notifier blueprint Change-Id: I576661656be1eedc255aae3cd7460aaa860dbeaa --- specs/pike/snmp-notifications.rst | 141 ++++++++++++++++++++++++++++++ 1 file changed, 141 insertions(+) create mode 100644 specs/pike/snmp-notifications.rst diff --git a/specs/pike/snmp-notifications.rst b/specs/pike/snmp-notifications.rst new file mode 100644 index 0000000..deaba7f --- /dev/null +++ b/specs/pike/snmp-notifications.rst @@ -0,0 +1,141 @@ +.. + This work is licensed under a Creative Commons Attribution 3.0 Unported + License. + + http://creativecommons.org/licenses/by/3.0/legalcode + +================== +SNMP Notifications +================== + +launchpad blueprint: +https://blueprints.launchpad.net/vitrage/+spec/snmp-notifications + +The Evaluator performs root cause analysis on the Vitrage Graph and may +determine that an alarm should be created, deleted or otherwise updated. +Other components are notified of such changes by the Vitrage Notifier service. +Among others, one Vitrage Notifier is responsible for sending SNMP traps on +Vitrage deduced alarms. + +This blueprint describes the implementation of Vitrage Notifier for notifying +SNMP on Vitrage deduced alarms. + + +Problem description +=================== + +Vitrage should support registering for SNMP notifications, and sending traps +on raised alarms and deactivated alarms to any registered targets. + + +Proposed change +=============== + +Due to definition in Vitrage config file:: + + [DEFAULT] + notifiers = snmp + +Vitrage listener will get the alarm events from the message bus and the SNMP +notifier will send SNMP traps on raised deduced alarms and deleted deduced alarms. + +The traps will be sent to destinations specified in consumers yaml file. + +The traps will be sent only on alarms specified in yaml file which contains +oid mapping for each alarm name. + +The format of sent traps will be specified in another yaml file. + +All those yaml files' paths should be specified in Vitrage config:: + + [snmp] + consumers = + alarm_oid_mapping = + oid_tree = + +The SNMP notifier is pluggable, you can implement your own SNMP sender and use +it (it must inherit from the base class), when there is a default implementation. + +Alternatives +------------ + +None + +Data model impact +----------------- + +None + +REST API impact +--------------- + +None + +Versioning impact +----------------- + +None + +Other end user impact +--------------------- + +None + +Deployer impact +--------------- + +To use the SNMP notifier there is a need to define it in the Vitrage config +file, and in addition create three yaml files and define them in Vitrage config file. + +Developer impact +---------------- + +None + +Horizon impact +-------------- + +None + +Implementation +============== + +Assignee(s) +----------- + +Primary assignee: + annarez + +Work Items +---------- + +- Create SNMP notifier + + - Create SNMP sender + + - create base class +- Create unit test for SNMP sender + + - test snmp notifier + - test snmp sender + +Dependencies +============ + +None + +Testing +======= + +This blueprint requires unit tests. + +Documentation Impact +==================== + +The usage of the SNMP notifier will be documented + + +References +========== + +`notifier-snmp-plugin.rst `_