Enhance alert creation process with error handling and count of successfully created alerts (#361)
taylor_socfortress committed
Dec 6, 2024 at 15:19 UTC
5474329bffed5033fd13ba8bcf3faa35e4b1d6bc
1 file changed
+18
-10
backend/app/incidents/routes/incident_alert.py
+18
-10
@@ -157,14 +157,22 @@ async def create_alert_auto_route(
157
logger.info(f"Alerts to create in CoPilot: {alerts}")
158
if len(alerts.alerts) == 0:
159
return AutoCreateAlertResponse(success=False, message="No alerts to create in CoPilot")
160
+
161
+ created_alerts_count = 0
162
+
163
for alert in alerts.alerts:
161
- logger.info(f"Creating alert {alert} in CoPilot")
162
- create_alert_request = CreateAlertRequest(
163
- index_name=await get_original_alert_index_name(origin_context=alert.source.origin_context),
164
- alert_id=await get_original_alert_id(alert.source.origin_context),
165
- )
166
- logger.info(f"Creating alert {create_alert_request.alert_id} in CoPilot")
167
- alert_id = await create_alert(create_alert_request, session)
168
- # ! ADD THE COPILOT ALERT ID TO GRAYLOG EVENT INDEX # !
169
- await add_copilot_alert_id(index_data=CreateAlertRequest(index_name=alert.index, alert_id=alert.id), alert_id=alert_id)
170
- return AutoCreateAlertResponse(success=True, message=f"{len(alerts.alerts)} alerts created in CoPilot")
164
+ try:
165
+ logger.info(f"Creating alert {alert} in CoPilot")
166
+ create_alert_request = CreateAlertRequest(
167
+ index_name=await get_original_alert_index_name(origin_context=alert.source.origin_context),
168
+ alert_id=await get_original_alert_id(alert.source.origin_context),
169
+ )
170
+ logger.info(f"Creating alert {create_alert_request.alert_id} in CoPilot")
171
+ alert_id = await create_alert(create_alert_request, session)
172
+ # ! ADD THE COPILOT ALERT ID TO GRAYLOG EVENT INDEX # !
173
+ await add_copilot_alert_id(index_data=CreateAlertRequest(index_name=alert.index, alert_id=alert.id), alert_id=alert_id)
174
+ created_alerts_count += 1
175
+ except Exception as e:
176
+ logger.error(f"Failed to create alert {alert} in CoPilot: {e}")
177
+
178
+ return AutoCreateAlertResponse(success=True, message=f"{created_alerts_count} alerts created in CoPilot")