[Hawkular-dev] Notification messages
Jay Shaughnessy
jshaughn at redhat.com
Mon Mar 2 15:40:29 EST 2015
On 3/2/2015 6:13 AM, Lucas Ponce wrote:
>
> ----- Original Message -----
>> From: "Gary Brown" <gbrown at redhat.com>
>> To: "Lucas Ponce" <lponce at redhat.com>
>> Cc: hawkular-dev at lists.jboss.org
>> Sent: Monday, March 2, 2015 12:06:55 PM
>> Subject: Re: [Hawkular-dev] Notification messages
>>
>> Hi
>>
>> Maybe your suggestion is the way to go - RTGov still generates 'situations'
>> which are made available to the alerts engine to determine if a notification
>> should be raised. So looks like there are two possibilities:
>>
>> (a) RTGov somehow creates alerts directly, so alerts engine, RTGov, other
>> components, etc could independently raise alerts that are then used to
>> create notifications.
>>
>> or
>>
>> (b) RTGov and other components create their own event to represent a
>> 'situation of interest', and the alerts engine interprets these to determine
>> if an alert should be create resulting in notifications.
>>
>>
>> I'm open to either approach, although (b) has the benefit of allowing the
>> source component (e.g. RTGov) to simple raises the 'situations' while not
>> worrying about issues such as dampening, which can be defined with the
>> alerts engine.
>>
> Exactly, 'situations' are data that can be used to create a trigger definition, that can be attached with a notification list.
>
> This data can be really simple, for example, it can be just a String with a value, and a condition can be just to detect if you have a new situation into the alerts engine.
>
We definitely want to be able to incorporate external alerts into the
engine. I think perhaps we will want to support both approaches above,
but if it were just one then I think (b) would be the preference,
because as you said, it opens up dampening, safety logic and anything
else that comes into play at the condition-matching phase.
I'm not sure there is anything today preventing RTGov or anyone from
using a registered Action, or registering their own Action, and then
using the bus infrastructure to send it a message. As long as the
message had the correct payload it should just work.
But it should also be fairly easy to hook into the Alerting as a whole.
I think you could create a Trigger looking for a StringCondition
operator, send in a Situation in some String format, and have it fire an
alert for each. We could maybe do a little better by creating a more
robust Data element for external systems to hook into. Something that
perhaps could extend StringData and also provide a secondary String
(maybe json), as data that just gets passed along to the notifiers/actions.
Moreover, we have yet to talk about incorporating Alerts themselves into
Triggers, such that we start to allow for higher-level Alerting that
correlates Alerts. This may lead to a true AlertCondition. It may be a
built-in Action that generates an AlertCondition for the alert generated
by the trigger. Or something like that.
Actions are tied to the triggers and when the trigger fires an Alert we
explicitly send a message to the relevant actions' topics on the bus.
How to handle external alert generation is a great topic.
This is a good topic. I think it could be useful to have external
Alert-generators just feed fully-fledged Alerts into the system
More information about the hawkular-dev
mailing list