重複ルールは、重複パターンによって定義されます。重複ルールでは、指定された時間間隔内に受け入れられた 2 番目以降のイベントをカウントしますが、これらのイベントのルール・セット処理をスキップします。これはステートフル・ルールです。
重複パターンは、通常、一定期間にわたり類似 (重複) するイベントを分離するために使用されます。重複イベントとは、前のイベントと何らかの点で類似しているイベントを指しますが、そのイベントの正確なコピーであるとは限りません。単に、ルールのイベント選択基準を満たしたイベントが、重複していると見なされます。期間は、ルール言語の <timeWindow> エレメントによって 定義された、必須の時間枠で指定されます。
重複イベントを受信していない場合でも、最初のイベントにより <onDetection> アクションがトリガーされます。この振る舞いの理由は、最初のイベントを転送して、重複イベントのルール・セット処理をスキップする必要がある場合があるためです。この場合、ルールに対して、<onDetection> アクションがトリガーされたときに最初のイベントを転送するルール応答アクションを追加できます。
重複イベント (2 番目以降のイベント) に対するデフォルトの処理では、重複イベントはカウントされますが、重複イベントのルール・セット処理はスキップされます。重複イベントに対して追加のアクションを実行する場合は、<onNextEvent> アクションを明示的に定義できます。例えば、重複イベントが、データベースまたはその他のリポジトリーに既に記録されているイベントである場合も考えられます。このため、<onNextEvent> アクションを、このような他のロケーションから重複イベントを除去するようコーディングする必要があります。
<onTimeWindowComplete> アクションは、処理された重複の数を含む、すべての重複イベントのサマリー・レコードを作成するのに使用できます。
「サービス妨害」メッセージがセキュリティー・モニターで発生すると、その後 30 秒間に発生するそのイベントの重複はすべてカウントされますが、オペレーター・コンソールには送信されません。また、30 秒間が経過したときに、ルールは、その期間に発生した「サービス妨害」メッセージの数を示すイベントを生成します。