Синтаксис правил типа Bucket

Значение поля condition данного типа правил:

condition:
type: count
value: 5
criteria: gt
add_columns
aggs: {}
bucket: wlb.event_data.TargetFilename

Поля criteria и value являются критерием и пороговой величиной сравнения результатов работы правила:

  • criteria может принимать значения gt, lt или range;

  • value может принимать значения равное целым числам, или паре чисел [m, n], если в качестве criteria указан range, при этом должно соблюдаться n > m.

Поле add_columns может содержать массив полей, которые будут добавлены в ссылку на агрегацию для отображения в документе OpenSearch Dashboards.

Поля aggs и bucket описывают необходимые агрегации вида Bucket по правилам Opensearch:

  • aggs – JSON-объект в синтаксисе yaml. При этом название бакета должно совпадать с именем поля, по которому производится агрегация. Opensearch не поддерживает содержащие точки названия агрегаций. Поддерживаются только агрегации term;

  • bucket – название бакета, элементы в котором следует отфильтровать по критерию сравнения. При этом, если бакет последний в агрегации, то для сравнения берется поле doc_count его элементов, иначе – количество элементов во вложенном бакете.

Поле bool в правилах данного типа является фильтром и может содержать вложенные условия поиска, отбора и фильтрации аналогично правилу типа List (см. раздел Синтаксис правил типа List). Выводом является таблица (list of lists), получаемая как flatern-цепочки вложенных бакетов до бакета, по которому применяется критерий. Каждая строка таблицы заводится как новый воркспейс.

Пример заполнения поля aggs:

aggs:
dst_host:
terms:
field: dst_host
size: 10000
aggs:
wlb.event_data.TargetFilename:
terms:
field: wlb.event_data.TargetFilename
size: 10000
bucket: wlb.event_data.TargetFilename