Alert Messaging Service

From EGEE-see WIki

Jump to: navigation, search

This Wiki page is a part of SEE-GRID Gridification Guide. It is contributed by Belgrade University Computer Centre.

Contents

Introduction

Alert Messaging Service (AMS) is an operational tool designed to unify and simplify the process of sending and receiving different kinds of alerts in the grid (or any other similar) infrastructure. These alerts can be generated by various monitoring tools, ticketing systems etc. In order to send an alert, a web service is provided that accepts new alerts from these tools. Once the new alert has arrived it is processed and dispatched to the appropriate contact (subscriber). The subscriber defines the rules regarding different kinds of alerts (filtering, grouping, etc.) in order to avoid potential spam issues and/or false positives.

Figure 1: AMS overview
Enlarge
Figure 1: AMS overview

AMS introduces a "push" model instead of a "pull" model which reduces the need for site administrators to constantly observe monitoring (and other) tools reports, instead the tools are the ones "pushing" the alerts to the administrators.

AMS is developed as a JEE application deployed on a Jboss 5 JEE application server. More info on Jboss AS can be found here.

Besides the web service interface available to receive alerts and the dispatching mechanism capable of distributing various types of messages (Email, IM, SMS) there is also a simple web front-end. This front-end provides administration capabilities as well as a history of previously received alerts and a page where users can manage their subscriptions.

Figure 2: AMS detailed architecture
Enlarge
Figure 2: AMS detailed architecture

Installation

Download, installation and configuration instructions are available at Installation.


Alert

Alerts are generated by invoking the available web service method 'sendAlert'. The method takes the following parameters:

  • sender - string representing the sender
  • target - string identifying the target entity (grid site)
  • category - string identifying the alert category
  • subject - string describing the alert contents
  • body - string containing the alert text
  • isError - boolean value describing whether the alert is error message or not (more on this in other sections)

Target and category values are not arbitrary, they are defined by the administrator of AMS service.

Message

After the AMS has received the alert, it will be processed and based upon the existing subscriptions new messages will be generated and dispatched. Supported message types are: Email, Gtalk jabber IM (Instant Message) and SMS. For proper billing of SMS messages support for distributed SMS gateways is available. One or more instances of SMS gateways are supposed to be deployed in each country. This way the entire SMS traffic cost can be reduced by using only local pricing.

If no subscriptions were found for a particular type of an alert, no new messages will be created. Also, depending on subscription rules, some alerts might be aggregated into just one message. This aggregated message can be dispatched or ignored depending on filtering rules specified in the subscription.

Subscription

New messages are created and dispatched based on subscriptions defined by grid users (mostly intended for site admins) interested in receiving them. Subscription consists of the following fields:

  • target - the available target entity
  • category - the available category
  • message type - the type of message that will be generated for new alert (Email, IM, SMS)
  • contact info - email, IM contact or a phone number
  • dispatch timeout - defines how long the AMS service will wait before it dispatches the new message, used for aggregation of alerts (all new alerts received within the timeout period will be aggregated into one message) - default is 0
  • count threshold - number defining how many error alerts must occur within the timeout period for the new message to be generated and dispatched - default is 1
  • ignore alerts if last alert was not an error - boolean value, if true and last alert was not an error, no message will be generated and alerts will be ignored - default is true

Subscriptions can be defined using the available web interface for all authenticated users. Any user can have more than one subscription.

Authentication & Authorization

Grid users are authenticated using their certificates. Special roles are required in order to be able to send alerts, these roles are assigned by AMS administrator. For subscriptions, default role is automatically assigned to all authenticated users (this behavior is configurable).

The entire communication is performed using SSL (this is configurable).

Contact

Milan Potocnik [milan (d) potocnik (a) rcub (d) bg (d) ac (d) rs]

Personal tools