Architecture
Overview
The Alarms Service is based on a three stage process:
- Query
- Analysis
- Notification
The architecture is designed to be as flexible as possible, so that new query and notification mechanisms can be easily developed as needed
Detail
The architecture is best described by the following picture:
Query
Two mechanisms for obtaining network monitoring data are foreseen - the active querying of data from a Measurement Archive (MA), and the ability of data sources to directly send status updates to the Alarms Service, for example if some data processing is already done.
The current implementation uses just a query mechanism. A main feature of the Alarms Service is its support for a standards-based mechanism for retrieving data, namely the NM-WG schema. All messages passed between the Service and Measurement Archives conform to this schema. This allows support for data sources such as perfSONAR.
Analysis
The detection of alarms is done by analysing the data according to a set of user defined rules. The Drools library is used to provide this feature. Domain specific grammar is used to allow users to write more natural rules for defining alarms.
Notification
The alarms service allows any notification mechanism to be plugged in. Currently a Nagios status notifier is provided, and status messages are output in a form useable by the Nagios system. Nagios allows the current status to be displayed on a web interface, and for notification of status changes to be sent, for example via email.