@@ -56,6 +56,7 @@ def cli(obj, alert, severity, timeout, purge):
5656 with click .progressbar (heartbeats , label = f'Checking { len (heartbeats )} heartbeats' ) as bar :
5757 alerts = client .get_alerts (query = [('event' , '~Heartbeat' )], page_size = 'ALL' )
5858 new_alerts = []
59+ event = 'HeartbeatAlert'
5960
6061 for b in bar :
6162 want_environment = 'Heartbeats'
@@ -64,19 +65,16 @@ def cli(obj, alert, severity, timeout, purge):
6465 want_group = b .attributes .pop ('group' , 'System' )
6566 state_map = {
6667 'expired' : {
67- 'event' : 'HeartbeatFail' ,
6868 'value' : f'{ b .since } ' ,
6969 'text' : f'Heartbeat not received in { b .timeout } seconds' ,
7070 'severity' : want_severity
7171 },
7272 'slow' : {
73- 'event' : 'HeartbeatSlow' ,
7473 'value' : f'{ b .latency } ms' ,
7574 'text' : f'Heartbeat took more than { b .max_latency } ms to be processed' ,
7675 'severity' : want_severity
7776 },
7877 'ok' : {
79- 'event' : 'HeartbeatOK' ,
8078 'value' : '' ,
8179 'text' : 'Heartbeat OK' ,
8280 'severity' : default_normal_severity
@@ -86,18 +84,17 @@ def cli(obj, alert, severity, timeout, purge):
8684 state = state_map [b .status ]
8785 found_alert = None
8886 for a in alerts :
89- if a .environment == want_environment and a .resource == b .origin :
87+ if a .environment == want_environment and a .resource == b .origin and a . event == event :
9088 found_alert = alerts .pop (alerts .index (a ))
9189 break
9290
93- if found_alert is None or state ['event ' ] != found_alert .event :
91+ if found_alert is None or event != found_alert . event or state ['severity ' ] != found_alert .severity :
9492 new_alerts .append (
9593 {
9694 'resource' : b .origin ,
97- 'event' : state [ ' event' ] ,
95+ 'event' : event ,
9896 'environment' : want_environment ,
9997 'severity' : state ['severity' ],
100- 'correlate' : ['HeartbeatFail' , 'HeartbeatSlow' , 'HeartbeatOK' ],
10198 'service' : want_service ,
10299 'group' : want_group ,
103100 'value' : state ['value' ],
0 commit comments