mirror of
https://github.com/prymitive/karma
synced 2026-05-07 03:26:52 +00:00
Merge pull request #495 from prymitive/tweak-demo
chore(demo): add inhibited alerts to the generator
This commit is contained in:
@@ -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"
|
||||
|
||||
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user