Skip to content

Commit 76c396f

Browse files
authored
feat: graf (#5286)
1 parent a89437b commit 76c396f

File tree

3 files changed

+16
-2
lines changed

3 files changed

+16
-2
lines changed

keep/providers/grafana_provider/grafana_provider.py

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -241,10 +241,17 @@ def calculate_fingerprint(alert: dict) -> str:
241241
"""
242242
Calculate fingerprint for alert.
243243
"""
244+
245+
# First, try to get fingerprint from alert
246+
fingerprint = alert.get("fingerprint", "")
247+
if fingerprint:
248+
logger.debug("Fingerprint provided in alert")
249+
return fingerprint
250+
244251
labels = alert.get("labels", {})
245252
fingerprint = labels.get("fingerprint", "")
246253
if fingerprint:
247-
logger.debug("Fingerprint provided in alert")
254+
logger.debug("Fingerprint provided in alert labels")
248255
return fingerprint
249256

250257
fingerprint_string = None

keep/providers/kibana_provider/kibana_provider.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -614,6 +614,8 @@ def _format_alert(
614614
logger.warning("Could not find name in SIEM Kibana alert")
615615
name = "SIEM Kibana Alert"
616616

617+
fingerprint = event.get("kibana", {}).get("alert", {}).get("id", "")
618+
617619
status = event.get("kibana", {}).get("alert", {}).get("status", "")
618620
if not status:
619621
logger.warning("Could not find status in SIEM Kibana alert")
@@ -640,6 +642,8 @@ def _format_alert(
640642
"Could not extract service in SIEM Kibana alert", extra={"service": service}
641643
)
642644
service = None
645+
646+
643647
alert_dto = AlertDto(
644648
name=name,
645649
description=description,
@@ -650,6 +654,9 @@ def _format_alert(
650654
url=url,
651655
**event,
652656
)
657+
if fingerprint:
658+
alert_dto.fingerprint = fingerprint
659+
653660
logger.info("Finished to parse SIEM Kibana alert")
654661
return alert_dto
655662
# Check if this is the new webhook format

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[tool.poetry]
22
name = "keep"
3-
version = "0.47.6"
3+
version = "0.47.7"
44
description = "Alerting. for developers, by developers."
55
authors = ["Keep Alerting LTD"]
66
packages = [{include = "keep"}]

0 commit comments

Comments
 (0)