With this daemon, sysrepo applications can implement the ietf-alarms YANG module from RFC 8632.
As an app developer, you simply:
- create the required alarm identities based on al:alarm-type
- provide the list of possible alarms
- execute an internal RPC each time an alarm event occurs
This daemon takes care of the rest:
- alarm shelving
- alarm summaries and statistics
- alarm notifications
- alarm history
The following optional features are currently not implemented (patches welcome):
- alarm profiles and severity assignment
- relations, which includes root cause analysis, impacted resources and alarm correlation
- operator actions
- libyang-cpp - C++ bindings for libyang
- sysrepo-cpp - C++ bindings for sysrepo
- C++20 compiler (e.g., GCC 10.x+, clang 10+)
- CMake 3.19+
- Boost 1.78+ (header-only is sufficient)
- pkg-config
- spdlog
- fmt- C++ string formatting library
- datefor time zones handling
- docoptfor command line options
- doctestfor unit testing
- trompeloeilfor unit testing
The development is being done on Gerrit here. Instructions on how to submit patches can be found here. GitHub Pull Requests are not used.