View
175
Download
0
Category
Preview:
Citation preview
HAWKULAR ALERTING
Flexible and scalable alerting services
Lucas PonceHawkular TeamNovember 2016
Hawkular Alerting2
CLICK TO ADD TEXT
Hawkular Alerting3
Hawkular AlertingIn 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
Hawkular Alerting4
Action Plugins
Generic Alerting ServicesAlerting philosophy
Trigger definitionsX > 10, Y < 20N < 80% of MK is DOWN
E.url=/x/y/z and E.time > 10s
Data
Events Events
Alerts
Hawkular Alerting5
Generic Alerting ServicesData, Events and Alerts
Data
Events
Alerts
Time-series data (gauges, counters, availability)Stored on Hawkular MetricsSimple condition expressions
Generic representation of a captured happeningStructured dataInternal: generated by the Alerting engineExternal: provided as data
Events that required human attentionLifecycle (Open, Acknowledged, Resolved)Internal: generated by the Alerting engine
Hawkular Alerting6
Generic Alerting ServicesTriggers, Conditions and Dampenings
Trigger definitionsX > 10, Y < 20N < 80% of MK is DOWN
E.url=/x/y/z and E.time > 10s
TriggerIF Conditions are met THEN Fires an Event or Alert
Execute Actions
ConditionsTriggers can have one or more conditionsTriggers can fire when ALL or ANY of conditions are met
DampeningTriggers can fire every time Conditions are met, orDefine dampening rules like
responseTime > 10s [4 times in 5 minutes]
Hawkular Alerting7
Generic Alerting ServicesAlert Lifecycle
Alerts
Open
Acknowledged
Resolved
Alert is fired by a Trigger
Alert is acknowledged by a UserStarting investigation on it
Alert can be resolved by a User, orAlert can be resolved automatically
Lifecycle transitions can execute Actions
Action Plugins
Hawkular Alerting8
Generic Alerting ServicesAUTORESOLVE
AlertsOpen
Resolved
Trigger can defineFIRING Conditions (when a bad situation happens)
Generates an Alert
AUTORESOLVE Conditions (when the situation is gone)
Automatically resolves the Alerti.e.
FIRING responseTime > 10sAUTORESOLVE responseTime <= 10s
Hawkular Alerting9
MemberTrigger definition
ResponseTime-A > 10s in last 5m MemUsed-A > 500MbDiskUsed-A > 10 Gb
MemberTrigger definition
ResponseTime-A > 10s in last 5m MemUsed-A > 500MbDiskUsed-A > 10 Gb
Generic Alerting ServicesManaging Group of Triggers
GroupTriggerIt acts like a template
GroupTrigger definition
ResponseTime > 10s in last 5m MemUsed > 500MbDiskUsed > 10 Gb
MemberTriggersGenerated from a GroupTriggerPersonalize data IdsManaged from parent GroupTrigger
i.e. GroupTrigger applied to machines [A, B, C]
MemberTrigger definition
ResponseTime-A > 10s in last 5m MemUsed-A > 500MbDiskUsed-A > 10 Gb
Hawkular Alerting10
Generic Alerting ServicesConditions
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
Hawkular Alerting11
Flexible and ScalableSimple REST API
● Main REST API
● Additional Hawkular clients
Ruby
Python (in progress)
Java
Content-Type: application/json/hawkular/alertsGET /POST /triggers...
http://www.hawkular.org/docs/rest/rest-alerts.html
Content-Type: application/json/hawkular/alertsGET /POST /triggers...
http://www.hawkular.org/docs/rest/rest-alerts.html
Hawkular Alerting12
Flexible and ScalableComplex Events Processing and Cassandra backend
Alerting Engine Optimized CEP algorithmStateful Rules EngineBacked by JBoss Drools
Cassandra ScalableDistributedStructured data store
Hawkular Alerting13
Flexible and ScalableCluster Ready
Alerting Engine
Cassandra
Horizontal scalabilityFull distribution of data and definitionsCloud ready
Hawkular Alerting14
Pluggable Actions Architecture Out of the box plugins
Action Plugins EmailWebhooksSms (Twilio SDK)AerogearPagerDutyIrcFile
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
}}
Hawkular Alerting15
DeploymentsChoose 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
THANK YOU
hawkular.org#hawkular on Freenode.net@hawkular_orggithub.com/hawkular
Recommended