Hawkular Alerting provides a flexible and scalable alerting platform with generic alerting services. It has a simple REST API and uses Cassandra for backend storage. Hawkular Alerting supports pluggable action plugins, allowing alerts to trigger various actions. It is designed for horizontal scalability and cloud-ready deployments.
3. Hawkular Alerting3
Hawkular Alerting
In a nutshell
● Generic alerting services
Suitable for multiple business domains
● Flexible and scalable
Simple REST API
Cassandra backend
Cluster ready
● Pluggable actions architecture
Out of the box plugins
Simplified API to develop new plugins
4. Hawkular Alerting4
Action Plugins
Generic Alerting Services
Alerting philosophy
Trigger definitions
X > 10, Y < 20
N < 80% of M
K is DOWN
E.url=/x/y/z and E.time > 10s
Data
Events Events
Alerts
5. Hawkular Alerting5
Generic Alerting Services
Data, Events and Alerts
Data
Events
Alerts
Time-series data (gauges, counters, availability)
Stored on Hawkular Metrics
Simple condition expressions
Generic representation of a captured happening
Structured data
Internal: generated by the Alerting engine
External: provided as data
Events that required human attention
Lifecycle (Open, Acknowledged, Resolved)
Internal: generated by the Alerting engine
6. Hawkular Alerting6
Generic Alerting Services
Triggers, Conditions and Dampenings
Trigger definitions
X > 10, Y < 20
N < 80% of M
K is DOWN
E.url=/x/y/z and E.time > 10s
Trigger
IF Conditions are met
THEN Fires an Event or Alert
Execute Actions
Conditions
Triggers can have one or more conditions
Triggers can fire when ALL or ANY of conditions are met
Dampening
Triggers can fire every time Conditions are met, or
Define dampening rules like
responseTime > 10s [4 times in 5 minutes]
7. Hawkular Alerting7
Generic Alerting Services
Alert Lifecycle
Alerts
Open
Acknowledged
Resolved
Alert is fired by a Trigger
Alert is acknowledged by a User
Starting investigation on it
Alert can be resolved by a User, or
Alert can be resolved automatically
Lifecycle transitions can execute Actions
Action Plugins
8. Hawkular Alerting8
Generic Alerting Services
AUTORESOLVE
Alerts
Open
Resolved
Trigger can define
FIRING Conditions (when a bad situation happens)
Generates an Alert
AUTORESOLVE Conditions (when the situation is gone)
Automatically resolves the Alert
i.e.
FIRING responseTime > 10s
AUTORESOLVE responseTime <= 10s
9. Hawkular Alerting9
MemberTrigger definition
ResponseTime-A > 10s in last 5m
MemUsed-A > 500Mb
DiskUsed-A > 10 Gb
MemberTrigger definition
ResponseTime-A > 10s in last 5m
MemUsed-A > 500Mb
DiskUsed-A > 10 Gb
Generic Alerting Services
Managing Group of Triggers
GroupTrigger
It acts like a template
GroupTrigger definition
ResponseTime > 10s in last 5m
MemUsed > 500Mb
DiskUsed > 10 Gb
MemberTriggers
Generated from a GroupTrigger
Personalize data Ids
Managed from parent GroupTrigger
i.e. GroupTrigger applied to
machines [A, B, C]
MemberTrigger definition
ResponseTime-A > 10s in last 5m
MemUsed-A > 500Mb
DiskUsed-A > 10 Gb
10. Hawkular Alerting10
Generic Alerting Services
Conditions
Condition Type Examples
AVAILABILITY X is DOWN, Y is NOT_UP
COMPARE X > 80% of Y
EVENT
event.id starts 'IDXYZ', event.tag.category == 'Server',
event.tag.from ends '.com'
EXTERNAL Delegate the evaluation on external pluggable Alerters
MISSING Not X in last 5 minutes
RATE X > 10 per-minute
STRING X matches “A.*B”
RANGE X inside [10, 20), X outside [100,200]
THRESHOLD X > 10, Y <= 20
11. Hawkular Alerting11
Flexible and Scalable
Simple REST API
● Main REST API
● Additional Hawkular clients
Ruby
Python (in progress)
Java
Content-Type: application/json
/hawkular/alerts
GET /
POST /triggers
...
http://www.hawkular.org/docs/rest/rest-alerts.html
Content-Type: application/json
/hawkular/alerts
GET /
POST /triggers
...
http://www.hawkular.org/docs/rest/rest-alerts.html
12. Hawkular Alerting12
Flexible and Scalable
Complex Events Processing and Cassandra backend
Alerting Engine Optimized CEP algorithm
Stateful Rules Engine
Backed by JBoss Drools
Cassandra Scalable
Distributed
Structured data store
13. Hawkular Alerting13
Flexible and Scalable
Cluster Ready
Alerting Engine
Cassandra
Horizontal scalability
Full distribution of data and definitions
Cloud ready
14. Hawkular Alerting14
Pluggable Actions Architecture
Out of the box plugins
Action Plugins Email
Webhooks
Sms (Twilio SDK)
Aerogear
PagerDuty
Irc
File
DIY plugins
@Plugin(name = “my-diy-plugin)
Public class DiyPlugin implements ActionPluginListener {
public void process(ActionMessage msg) {
// Process the msg
}
}
@Plugin(name = “my-diy-plugin)
Public class DiyPlugin implements ActionPluginListener {
public void process(ActionMessage msg) {
// Process the msg
}
}
15. Hawkular Alerting15
Deployments
Choose what you need
● Standalone
Embed an Alerting engine into your system
● Hawkular Metrics + Alerting
Metrics Storage + Alerting engine
Available on Openshift deployments
● Hawkular Services
Metrics Storage + Alerting engine + Inventory and more
Available as Middleware provider on ManageIQ