[Security Solution] Sync rule statuses of Detection Engine and Alerting Framework #106482
Labels
bug
Fixes for quality problems that affect the customer experience
Feature:Rule Monitoring
Security Solution Detection Rule Monitoring area
impact:medium
Addressing this issue will have a medium level of impact on the quality/strength of our product.
Team:Detection Rule Management
Security Detection Rule Management Team
Team:Detections and Resp
Security Detection Response Team
Team: SecuritySolution
Security Solutions Team working on SIEM, Endpoint, Timeline, Resolver, etc.
Summary
Alerting Framework uses the following rule execution statuses:
Succeeded
,Failed
,Running
, andNot started
.Additionally, in Security Solution we have custom execution statuses that are displayed in the Rule Management table and Rule Details page:
succeeded
,failed
going to run
(actually this one means “running”)warning
(previously known as partial failure )The difference from the Alerting framework statuses is:
The way it's implemented today you could have a rule that's succeeded at framework level but failed at Security level.
This can happen because of the way error handling is implemented in Security rule type executor. Most of the logic is under try-catch, so if an exception happens within this try block, our status will become “failed”, but on the framework level the rule will be “succeeded”. Some of the errors are handled not via exceptions, in this case the result can be the same. Finally, some parts of the executor are not inside this try-catch, so if any exception happens there, the rule will become failed at the framework levels, but we won’t write our own status. I believe that this case is handled in our routes where we merge own statuses with the framework statuses to get the final, correct status of each rule.
kibana/x-pack/plugins/security_solution/server/lib/detection_engine/signals/signal_rule_alert_type.ts
Line 110 in 3f40328
This seems to be fixable from the Security Solution side. We could throw/re-throw exceptions from the executor whenever we decide to make the rule failed. This would sync Security Solution's custom statuses with the Framework statuses.
The text was updated successfully, but these errors were encountered: