public class GroupTriggerManager extends Object
We interact with hAlerting to pull properly tagged group triggers. We set up a job for each to query for metrics, and maintain member triggers for each.
Each Metrics Group Trigger has several tags to guide its handling:
"HawkularMetrics" : "GroupTrigger" // Required to be processed as Metrics Group Trigger
"DataIds" : DataId1..DataIdN // The DataIds used in the trigger conditions, required
DataId1 : tag query // Metrics tag query for dataId1 metrics
...
DataIdN : tag query // Metrics tag query for dataIdN metrics
"SourceBy" : TagName1..TagNameN // *see below*
"HawkularMetrics" : "GroupTrigger" "DataIds" : "HeapUsed,HeapMax" "HeapUsed" : name = "HeapUsed" "HeapMax" : name = "HeapMax" "SourceBy" : MachineThis would result in one member trigger per machine, for machine names common to HeapUsed and HeapMax metrics. So, if we had the following metrics in the database, tagged as specified:
/machine0/HeapUsed {name=HeapUsed, Machine=machine0}
/machine0/HeapMax {name=HeapMax, Machine=machine0}
/machine1/HeapUsed {name=HeapUsed, Machine=machine1}
/machine1/HeapMax {name=HeapMax, Machine=machine1}
/machine2/HeapUsed {name=HeapUsed}
/machine2/HeapMax {name=HeapMax}
/machine3/HeapUsed {name=HeapUsed, Machine=machine3}
/machine4/HeapMax {name=HeapMax, Machine=machine4}
Then we would get two member triggers, one each testing:
/machine0/HeapUsed < 80% /machine0/HeapMax /machine1/HeapUsed < 80% /machine1/HeapMax
We would not have a 3rd member trigger because machine2 metrics don't have the necessary tags, machine3 does not have the HeapMax metric, and machine4 does not have the HeapUsed metric.
SourceBy is required, but can be set to '*' to generate member triggers for all value combinations (not recommended when multiple dataIds are involved).
| Modifier and Type | Class and Description |
|---|---|
class |
GroupTriggerManager.TopologyChangeListener |
| Constructor and Description |
|---|
GroupTriggerManager() |
| Modifier and Type | Method and Description |
|---|---|
void |
cancel(org.hawkular.alerts.api.model.trigger.Trigger mgt) |
void |
init() |
void |
shutdown() |
void |
start() |
void |
stop() |
@PostConstruct public void init()
public void start()
@PreDestroy public void shutdown()
public void stop()
public void cancel(org.hawkular.alerts.api.model.trigger.Trigger mgt)
Copyright © 2014–2017 Red Hat, Inc.. All rights reserved.