AstraRegul
Релиз 2024.08.31.00
×

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

 
Условия фильтрации отображаемых данных в таблице. Задаются в виде строки - объекта JSON.
 
string JsonFilter
 

Правила формирования условий фильтрации

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

Примеры

 
//Отфильтровать по содержимому столбца с числовыми данными (например, важность). Отобразить события с важностью 700.
При фильтрации по столбцу имя переменной должно быть пустым, т.е. указанное условие имеет вид:
{"==": {"": 700"}} или {"":700}
 
//Отфильтровать по содержимому столбца с текстовыми данными. Отобразить события, содержащие текст "поставлен" или "снят":
{
  "or": [
    {"": "*поставлен*"},
      {"": "*снят*"}
    ]
}
 
//Отфильтровать данные по содержимому столбца с числовыми данными (например, важность). Отобразить события с важностью от 100 до 300:
{
  "and": [
    {">=": {"": 100}},
      {"<=": {"": 300}}
    ]
}