AstraRegul
Релиз 2024.08.31.00
×

4.4.1.4.2.4.3.3.3.5. Фильтр в JSON-формате

 
Условия фильтрации запрашиваемых от источника оперативных данных. Задаются в виде строки - объекта JSON.
 
string Filter
 
Фильтрация возможна только для столбцов c идентификаторами (переменными): severity, message, source, area, acked.
 
Условие фильтрации представляет собой одиночный ({"ключ": "значение"}) или составной (состоящий из нескольких объектов) объект JSON.
 
Составной объект формируется с помощью:
логических операций:
конъюнкция - "and" или "&"
дизъюнкция - "or" или "|"
инверсия - "not" или "!"
операций сравнения:
больше - ">"
больше либо равно - ">="
меньше - "<"
меньше либо равно - "<="
соответствует - "=="
не соответствует - "!="
 
В зависимости от используемой операции составной объект JSON может иметь вид:
{"and": [ARRAY]}
{"or": [ARRAY]}
{ "not": { OBJECT } }
{ "операция сравнения": { VARIABLE } }(операцию сравнения "==" можно не указывать, т.е. вид объекта - { VARIABLE })
где:
VARIABLE - переменная. Обозначается структурой <имя переменной>: <значение переменной>
OBJECT - переменная или составной объект JSON любого из указанных выше форматов
ARRAY - массив. Может состоять из переменных и составных объектов JSON (любого формата) в различных комбинациях
 

Примеры

 
Запросить события с:
важностью (столбец severity) больше 10;
сообщением (столбец message), содержащим текст поставлен или с именем источника (столбец source), не соответствующим TU_212:
{
  "AND": [
    { ">": { "severity": 10 } },
      {
        "OR": [
          { "message": "*поставлен*" },
          { "NOT": { "source": "TU_212" } }
        ]
      }
    ]
}
 
Запросить события с важностью 667:
{"=":{"severity":667}}