Подавление в планировщике задач
Описанный механизм подавления актуален начиная с версии 6.2.0.
Подавление ограничивает повторную обработку одинаковых результатов поискового запроса.
Механизм включает три вида правил: автоматическое подавление, ручное подавление и исключения. Правила действуют, только если подавление включено в настройках задания. Правила хранятся в виде записей: автоматическая запись создается на каждую новую комбинацию значений полей подавления, ручная — на каждое ручное подавление или исключение.
Виды правил
| Вид правила | Как создается | Назначение | Срок действия |
|---|---|---|---|
| Автоматическое подавление | Планировщиком | Подавляет повторяющиеся результаты по полям, настроенным в задании. | Задается в настройках задания. |
| Ручное подавление | Пользователем | Подавляет результаты с указанными значениями полей. | До указанного времени или бессрочно. |
| Исключение | Пользователем | Разрешает обработку результата, несмотря на совпадение с подавлением. | До указанного времени или бессрочно. |
Совместная работа правил
Для каждого результата поиска правила применяются в следующем порядке:
- Планировщик проверяет исключения. Если результат соответствует исключению, он передается активным действиям, а правила подавления для него не проверяются
- Если исключение не найдено, планировщик проверяет автоматические и ручные подавления. При совпадении хотя бы с одним из них результат подавляется и активным действиям не передается
- Результаты, которые не совпали с исключениями и не были подавлены, планировщик передает активным действиям. Если в задании выбраны поля подавления, для этих результатов создаются автоматические записи
Результат, соответствующий исключению, передается активным действиям при каждом запуске и не создает автоматическую запись.
Включение подавления
Настройка включения подавления управляет всем механизмом:
- если подавление включено, применяются автоматические и ручные подавления, а также исключения
- если подавление выключено, правила не проверяются, новые автоматические записи не создаются и все результаты передаются активным действиям
По умолчанию в новом задании подавление выключено.
Выключение подавления не удаляет существующие записи. После повторного включения правила, срок действия которых не истек, снова применяются.
Для автоматического подавления в задании настраиваются:
| Настройка | Описание |
|---|---|
| Длительность подавления | Срок действия автоматической записи. |
| Поля подавления | Поля результата поиска. Результаты с одинаковыми значениями всех этих полей считаются повторными. |
Например, если длительность подавления — пять минут, а поля подавления — network.zone и status, результаты с
одинаковыми значениями этих полей считаются повторными в течение пяти минут.
Если поля подавления не выбраны, автоматические записи не создаются, но действующие ручные подавления и исключения продолжают применяться.
Особенности SP-заданий
Ручные подавления и исключения SP-задания действуют для всех его дочерних заданий. Автоматические записи создаются отдельно для каждого дочернего задания, поэтому у каждого из них действует собственное окно подавления.
Создавайте ручные подавления и исключения на уровне SP-задания. Правило, созданное для отдельного дочернего задания, не применяется при его выполнении в составе SP-задания.
Срок действия правил
Автоматические подавления
Первый результат с новой комбинацией значений полей подавления передается активным действиям и создает автоматическую запись. Повторные результаты с той же комбинацией подавляются, пока запись действует.
После окончания срока следующий результат с такой комбинацией снова передается активным действиям и создает новую автоматическую запись.
Ручные подавления и исключения
При создании ручного подавления или исключения можно указать время окончания действия: после него правило перестает применяться. Правило без времени окончания бессрочное: оно действует, пока пользователь его не удалит.
Ручное подавление или исключение может содержать поля, которые не выбраны для автоматического подавления в задании.
Истекшие записи удаляет фоновая очистка. Бессрочные записи автоматически не удаляются. Перед удалением задания удалите все его ручные подавления и исключения: после удаления задания оставшиеся бессрочные записи сохранятся в индексе, но станут недоступны через Throttling API.
Сброс подавления
Сброс удаляет только автоматические записи: у обычного задания — его записи, у SP-задания — записи всех его дочерних заданий. Ручные подавления и исключения сохраняются, параметры задания не изменяются.
После сброса следующий результат с каждой комбинацией значений полей подавления снова передается активным действиям и создает автоматическую запись.
Пример работы
В задании автоматическое подавление настроено на пять минут по полям network.zone и status. Дополнительно созданы:
- ручное подавление
host.name = host-02 - исключение
host.name = host-03
Поисковый запрос возвращает результаты в следующем порядке:
| Результат | host.name | network.zone | status |
|---|---|---|---|
event-1 | host-01 | office | unavailable |
event-2 | host-04 | office | unavailable |
event-3 | host-02 | dmz | unavailable |
event-4 | host-03 | office | unavailable |
Результаты обрабатываются следующим образом:
| Результат | Обработка |
|---|---|
event-1 | Передается активным действиям и создает автоматическую запись для сочетания network.zone = office и status = unavailable. |
event-2 | Подавляется, поскольку для сочетания network.zone = office и status = unavailable уже создана автоматическая запись. |
event-3 | Подавляется ручным подавлением host.name = host-02. |
event-4 | Передается активным действиям, поскольку исключение имеет приоритет над автоматическим подавлением. |
Если в течение следующих пяти минут поиск вернет те же результаты, event-1 и event-2 будут подавлены автоматической
записью, event-3 — ручным подавлением, а event-4 снова будет передан активным действиям благодаря исключению.
Управление ручными подавлениями и исключениями, а также сброс автоматических записей описаны в статье «Throttling API».