views:

366

answers:

3

Where Alert Management System roughly fits into this definition: "A system designed to screen events, build profiles associated with the events, and send alerts based upon the profiles and events"

So, the current setup is like this: There are multiple applications built in different technologies (Java, .Net, Perl, Python, VB) and they do specific kind of task (e.g. data processing in perl/python, UI in java/.Net etc and some exist because of historical reasons). These applications are inter-dependent in many cases and there are users who want to get alerts from multiple applications when certain events of interest occur.

Now, the question is: Is anyone aware of any effort in this direction or do we need to do it all by ourselves? Basically, we don't want to re-invent the wheel to the extent possible.

And preference would be to have such a framework/system/library in Java because of how things are here. But, anything good in any other technology can be looked into as well.

A: 

I would suggest JMX as a good Java-based technology for alert-management. It depends upon MBeans sitting in a server listening for event-based Notifications. It can then act upon those notifications any way it wants. I currently use it to monitor applications in a clustered environment.

Poindexter
+1  A: 

Have you looked into Complex Event Processing or Event Stream Processing? It sounds similar to what you want to do. These tools take a stream of events and perform queries over them. So if you have a particular event pattern that you are looking for, you can set up a query and when it reaches a match, you can fire off alerts. I've really oversimplified these tools, but this should give you an idea of the general nature of them.

I'm not sure if this is your entire solution, since I don't know what kinds of "profiles" you are trying to build - you might need to add or extend CEP or ESP tools with other tools. But if you want to check something out, I would look at the open-source Esper CEP engine.

Thomas Owens
A: 

What I would take a look at is a rule engine for reactive rules. For example the ruleCore CEP Server, it takes as input XML via REST or JMS and has a rather nice rule language ( rule example: http://rulecore.com/support/wiki/index.php?title=SIM:RuleDef) tailored for monitoring tasks. The alerts you get back are also in XML, for example http://rulecore.com/support/wiki/index.php?title=Action

Stjoan