@@ -45,15 +45,21 @@ def cli(obj, alert, severity, timeout, purge):
4545 if alert :
4646 with click .progressbar (heartbeats , label = 'Alerting {} heartbeats' .format (len (heartbeats ))) as bar :
4747 for b in bar :
48+
49+ environment = b .attributes .pop ('environment' , 'Production' )
50+ service = b .attributes .pop ('service' , ['Alerta' ])
51+ group = b .attributes .pop ('group' , 'System' )
52+
4853 if b .status == 'expired' : # aka. "stale"
54+ severity = b .attributes .pop ('severity' , severity )
4955 client .send_alert (
5056 resource = b .origin ,
5157 event = 'HeartbeatFail' ,
52- environment = b . attributes . get ( ' environment' , 'Production' ) ,
53- severity = b . attributes . get ( ' severity' , severity ) ,
58+ environment = environment ,
59+ severity = severity ,
5460 correlate = ['HeartbeatFail' , 'HeartbeatSlow' , 'HeartbeatOK' ],
55- service = b . attributes . get ( ' service' , [ 'Alerta' ]) ,
56- group = b . attributes . get ( ' group' , 'System' ) ,
61+ service = service ,
62+ group = group ,
5763 value = '{}' .format (b .since ),
5864 text = 'Heartbeat not received in {} seconds' .format (b .timeout ),
5965 tags = b .tags ,
@@ -64,14 +70,15 @@ def cli(obj, alert, severity, timeout, purge):
6470 customer = b .customer
6571 )
6672 elif b .status == 'slow' :
73+ severity = b .attributes .pop ('severity' , severity )
6774 client .send_alert (
6875 resource = b .origin ,
6976 event = 'HeartbeatSlow' ,
70- environment = b . attributes . get ( ' environment' , 'Production' ) ,
71- severity = b . attributes . get ( ' severity' , severity ) ,
77+ environment = environment ,
78+ severity = severity ,
7279 correlate = ['HeartbeatFail' , 'HeartbeatSlow' , 'HeartbeatOK' ],
73- service = b . attributes . get ( ' service' , [ 'Alerta' ]) ,
74- group = b . attributes . get ( ' group' , 'System' ) ,
80+ service = service ,
81+ group = group ,
7582 value = '{}ms' .format (b .latency ),
7683 text = 'Heartbeat took more than {}ms to be processed' .format (b .max_latency ),
7784 tags = b .tags ,
@@ -82,14 +89,15 @@ def cli(obj, alert, severity, timeout, purge):
8289 customer = b .customer
8390 )
8491 else :
92+ severity = b .attributes .pop ('severity' , default_normal_severity )
8593 client .send_alert (
8694 resource = b .origin ,
8795 event = 'HeartbeatOK' ,
88- environment = b . attributes . get ( ' environment' , 'Production' ) ,
89- severity = b . attributes . get ( ' severity' , default_normal_severity ) ,
96+ environment = environment ,
97+ severity = severity ,
9098 correlate = ['HeartbeatFail' , 'HeartbeatSlow' , 'HeartbeatOK' ],
91- service = b . attributes . get ( ' service' , [ 'Alerta' ]) ,
92- group = b . attributes . get ( ' group' , 'System' ) ,
99+ service = service ,
100+ group = group ,
93101 value = '' ,
94102 text = 'Heartbeat OK' ,
95103 tags = b .tags ,
0 commit comments