Event deduplication and suppression for filtering unwanted events
Out-of-the-box event deduplication
During deduplication, events are consolidated or folded into a single event representation based on the first occurred event.
As new or incoming events are received, they are checked against existing events based on deduplication slot values (for example, source address, alarm ID, and so on). If the incoming event has the same dedup values as an existing event, the incoming event is identified as a duplicate. When an event is identified as a duplicate, new information from that event is used to update the existing event and the new event is dropped. Dropped events are not ingested and therefore not available on the Events page. The product comes with a set of out-of-the-box dedup slots that form the default criteria for event deduplication. For more information about dedup slots, see Slot-facets.
For example, suppose an alarm event occurs at 9:00 A.M. Another alarm event occurs at 9:10 A.M. with same alarm ID (deduplication slot) as the first alarm event, but a different severity.
The following steps describe the deduplication process:
- The first occurred alarm event (9:00 A.M. event) is automatically updated with these details:
- New severity: The first occurred event is updated with the severity of the subsequent event (9:10 A.M. event).
- Updated repeat count: The Repeat count in the first occurred event is updated with +1. The repeat count refers to the number of occurrences of similar events.
- Updated modified time: The first occurred event is updated with the time when it was updated.
- The subsequent event (9:10 A.M. event) is permanently dropped.
A small set of dedup slots are defined for particular event classes. However, you can define custom dedup slots in existing classes by using the events/classes API endpoint. For more information, see Managing-events-with-REST-APIs.
Event suppression based on the event selection criteria
If you want to drop events based on a custom event selection criteria, you need to configure a suppression policy. In a suppression policy, the event selection criteria determines which events are selected for suppression. The selected events are permanently dropped. Dropped events are not ingested and therefore not available on the Events page. Unlike event deduplication, the first occurred event is not updated with the new details of a duplicate event.
For example, suppose you create a suppression policy with the event selection criteria: Class="EVENT" AND Message=page not found
All the events with the message, "page not found", are directly dropped. Note that suppression is applied on incoming events only. Existing events that are already ingested cannot be suppressed by using a suppression policy.
Event suppression can be very useful for known scenarios of unnecessary event occurrence.
For example, based on your past experience, suppose you know that events containing a certain message are unnecessary and of no value. You create a suppression policy and provide an event selection criteria to select events containing that specific message. In this scenario, say a new event matching the desired criteria occurs. After three minutes another event occurs; then another after 30 minutes, and again another event occurs the next day, and so on. The suppression policy will keep dropping these events until you disable or delete the policy.
Event suppression by using advanced enrichment policy
While creating an advanced enrichment policy, you can build a policy workflow based on complex conditions and add a void function to drop new events. For more information, see Functions-for-advanced-and-time-based-enrichment.
Similar to event deduplication and event suppression, dropped events are not ingested and therefore not available on the Events page.
An advanced enrichment policy works based on the following criteria:
- Event selection criteria that determines which events to select for processing (same as suppression policy)
- Complex conditions defined in the policy workflow
This capability allows you to add a more granular condition to process events even after defining an event selection criteria. Also, this capability can be very useful for isolated use cases where you want to quickly drop specific events. For more information, see Example-Drop-duplicate-events-and-update-the-existing-event-with-new-severity.
The void function processing happens in the phase of advanced enrichment processing. Event processing happens in phases based on built-in rules. Based on these rules, the policies are evaluated in a certain order. For more information, see Event-policy-types-and-evaluation-order.