Skip to content

Commit 97f8ee8

Browse files
Alerting: Support conditional enrichments (#2345)
1 parent c8f4656 commit 97f8ee8

File tree

4 files changed

+811
-5
lines changed

4 files changed

+811
-5
lines changed

docker-compose.yml

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,15 @@ services:
1010
- MYSQL_USER=${MYSQL_USER:-grafana}
1111
- MYSQL_PASSWORD=${MYSQL_PASSWORD:-grafana}
1212
healthcheck:
13-
test: ["CMD", "mysqladmin", "ping", "-p$$MYSQL_ROOT_PASSWORD", "--protocol", "tcp"]
13+
test:
14+
[
15+
"CMD",
16+
"mysqladmin",
17+
"ping",
18+
"-p$$MYSQL_ROOT_PASSWORD",
19+
"--protocol",
20+
"tcp",
21+
]
1422
interval: 10s
1523
retries: 10
1624
start_period: 10s
@@ -31,7 +39,7 @@ services:
3139
- GF_SERVER_ROOT_URL=${GRAFANA_URL}
3240
- GF_ENTERPRISE_LICENSE_TEXT=${GF_ENTERPRISE_LICENSE_TEXT:-}
3341
- GF_SERVER_SERVE_FROM_SUB_PATH=${GF_SERVER_SERVE_FROM_SUB_PATH:-}
34-
- GF_FEATURE_TOGGLES_ENABLE=nestedFolders,ssoSettingsApi,ssoSettingsSAML,ssoSettingsLDAP,grafanaManagedRecordingRulesDatasources,enableSCIM,alertEnrichmentMultiStep,alertEnrichmentConditional
42+
- GF_FEATURE_TOGGLES_ENABLE=nestedFolders,ssoSettingsApi,ssoSettingsSAML,ssoSettingsLDAP,grafanaManagedRecordingRulesDatasources,enableSCIM,alertEnrichmentMultiStep,alertEnrichmentConditional,alertingEnrichmentAssistantInvestigations
3543
healthcheck:
3644
test: wget --no-verbose --tries=1 --spider http://0.0.0.0:3000/api/health || exit 1 # Use wget because older versions of Grafana don't have curl
3745
interval: 10s

examples/resources/grafana_apps_alertenrichment_alertenrichment_v1beta1/resource.tf

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,5 +106,46 @@ resource "grafana_apps_alertenrichment_alertenrichment_v1beta1" "enrichment" {
106106
step {
107107
assistant_investigations {}
108108
}
109+
110+
# Conditional step runs different actions based on alert severity
111+
step {
112+
conditional {
113+
# Condition: Check if severity is critical
114+
if {
115+
label_matchers = [{
116+
type = "="
117+
name = "severity"
118+
value = "critical"
119+
}]
120+
}
121+
122+
# Actions for critical alerts
123+
then {
124+
step {
125+
assign {
126+
annotations = {
127+
escalation_level = "immediate"
128+
}
129+
}
130+
}
131+
step {
132+
external {
133+
url = "https://irm.grafana.com/create-incident"
134+
}
135+
}
136+
}
137+
138+
# Actions for non-critical alerts
139+
else {
140+
step {
141+
assign {
142+
annotations = {
143+
escalation_level = "standard"
144+
}
145+
}
146+
}
147+
}
148+
}
149+
}
109150
}
110151
}

0 commit comments

Comments
 (0)