Merge pull request #495 from prymitive/tweak-demo

chore(demo): add inhibited alerts to the generator
This commit is contained in:
Łukasz Mierzwa
2019-03-04 14:40:33 +00:00
committed by GitHub
2 changed files with 43 additions and 15 deletions

View File

@@ -1,28 +1,28 @@
global:
resolve_timeout: 30s
route:
group_by: ['alertname']
group_by: ["alertname"]
group_wait: 5s
group_interval: 10s
repeat_interval: 999h
receiver: 'default'
receiver: "default"
routes:
- receiver: 'default'
- receiver: "default"
group_by: []
match_re:
alertname: .*
continue: true
- receiver: 'by-cluster-service'
group_by: ['alertname', 'cluster', 'service']
- receiver: "by-cluster-service"
group_by: ["alertname", "cluster", "service"]
match_re:
alertname: .*
continue: true
- receiver: 'by-name'
- receiver: "by-name"
group_by: [alertname]
match_re:
alertname: .*
continue: true
- receiver: 'by-cluster'
- receiver: "by-cluster"
group_by: [cluster]
match_re:
alertname: .*
@@ -30,14 +30,14 @@ route:
inhibit_rules:
- source_match:
severity: 'critical'
severity: "critical"
target_match:
severity: 'warning'
# Apply inhibition if the alertname is the same.
equal: ['alertname', 'cluster', 'service']
severity: "warning"
# Apply inhibition if the alertname and cluster is the same in both
equal: ["alertname", "cluster"]
receivers:
- name: 'default'
- name: 'by-cluster-service'
- name: 'by-name'
- name: 'by-cluster'
- name: "default"
- name: "by-cluster-service"
- name: "by-name"
- name: "by-cluster"

View File

@@ -321,6 +321,32 @@ class LongNameAlerts(AlertGenerator):
return _gen(5, "dev") + _gen(1, "staging") + _gen(11, "prod")
class InhibitedAlert(AlertGenerator):
name = "Inhibition Test Alert"
comment = "This alert should be inhibited by another alert"
def alerts(self):
return [
newAlert(self._labels(instance="server1", cluster="prod",
severity="warning"),
self._annotations()
)
]
class InhibitingAlert(AlertGenerator):
name = "Inhibition Test Alert"
comment = "This alert should inhibit other alerts"
def alerts(self):
return [
newAlert(self._labels(instance="server1", cluster="prod",
severity="critical"),
self._annotations()
)
]
if __name__ == "__main__":
generators = [
AlwaysOnAlert(MAX_INTERVAL),
@@ -332,6 +358,8 @@ if __name__ == "__main__":
RandomName(MAX_INTERVAL),
MixedAlerts(MIN_INTERVAL),
LongNameAlerts(MAX_INTERVAL),
InhibitedAlert(MAX_INTERVAL),
InhibitingAlert(MAX_INTERVAL),
]
while True:
for g in generators: