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}}
]
}
|