16.1.8. Поиск и фильтрация данных

Количество записей, регистрируемых в журналах, как правило, очень велико, и не все поля доступны в базовом режиме просмотра. UserGate предоставляет удобные способы поиска и фильтрации необходимой информации. Администратор может использовать простой и расширенный поиск по содержимому журналов.

При использовании простого поиска администратор использует графический интерфейс, чтобы задать фильтрацию по значениям требуемых полей журналов, отфильтровывая таким образом ненужную информацию. Например, администратор может задать интересующий его диапазон времени, список пользователей, категорий и т.п. Задание критериев поиска интуитивно понятно и не требует специальных знаний.

Построение более сложных фильтров возможно в режиме расширенного поиска с использованием специального языка запросов. В режиме расширенного поиска можно строить запросы с использованием полей журналов, которые недоступны в базовом режиме. Для формирования запросов используются названия полей, значения полей, ключевые слова и операторы. Значения полей могут быть введены с использованием одинарных или двойных кавычек, или без них, если значения не содержат пробелов. Для группировки нескольких условий можно использовать круглые скобки.

Ключевые слова отделяются пробелами и могут быть следующими:

Наименование

Описание

AND или and

Логическое И, требует выполнения всех условий, заданных в запросе.

OR или or

Логическое ИЛИ, достаточно выполнения одного из условий запроса.

Операторы определяют условия фильтра и могут быть следующими:

Наименование

Описание

=

Равно. Требует полного совпадения значения поля указанному значению, например, ip=172.16.31.1 будут отображены все записи журнала, в котором поле IP будет точно соответствовать значению 172.16.31.1.

!=

Не равно. Значение указанного поля не должно совпадать с указанным значением, например,

ip!=172.16.31

будут отображены все записи журнала, в котором поле IP не будет равно значению 172.16.31.1.

<=

Меньше либо равно. Значение поля должно быть меньше либо равны указанному в запросе значению. Может быть применимо только для полей, поддерживающих сравнения, например, поля даты, portSource, portDest, statusCode и т.п., например,

date<='2019-03-28T20:59:59' AND statusCode=303

>=

Больше либо равно. Значение поля должно быть больше либо равны указанному в запросе значению. Может быть применимо только для полей, поддерживающих сравнения, например, поля даты, portSource, portDest, statusCode и т.п., например,

date>="2019-03-13T21:00:00" AND statusCode=200

<

Меньше. Значение поля должно быть меньше указанного в запросе значения. Может быть применимо только для полей, поддерживающих сравнения, например, поля даты, portSource, portDest, statusCode и т.п., например,

date < '2019-03-28T20:59:59' AND statusCode=404

>

Больше. Значение поля должно быть больше указанного в запросе значения. Может быть применимо только для полей, поддерживающих сравнения, например, поля даты, portSource, portDest, statusCode и т.п., например,

(statusCode>200 AND statusCode<300) OR (statusCode=404)

IN

Позволяет указать несколько значений поля в запросе. Список значений необходимо указывать в круглых скобках, например,

category IN (botnets, compromised, 'illegal software', 'phishing and fraud','reputation high risk','unknown category')

NOT IN

Позволяет указать несколько значений поля в запросе; будут отображены записи, несодержащие указанные значения. Список значений необходимо указывать в круглых скобках, например,

category NOT IN (botnets, compromised, 'illegal software', 'phishing and fraud','reputation high risk','unknown category')

~

Содержит. Позволяет указать подстроку, которая должна находиться в указанном поле, например,

browser ~ "Mozilla/5.0"

Данный оператор может быть применен только к полям, в которых хранятся строковые данные.

!~

Не содержит. Позволяет указать подстроку, которая не должна присутствовать в указанном поле, например,

browser !~ "Mozilla/5.0"

Данный оператор может быть применен только к полям, в которых хранятся строковые данные.

MATCH

При использовании оператора MATCH подстрока, которая должна присутствовать в указанном поле, задаётся в формате JSON и с использованием одинарных кавычек, например,

details MATCH '\"module\":\"threats\"'

Синтаксис запросов с использованием данного оператора соответствует стандарту RE2. Подробнее о синтаксисе Google/RE2: https://github.com/google/re2/wiki/Syntax.

NOT MATCH

При использовании оператора NOT MATCH подстрока, которая не должна присутствовать в указанном поле, задаётся в формате JSON и с использованием одинарных кавычек, например,

details NOT MATCH '\"module\":\"threats\"'

Синтаксис запросов с использованием данного оператора соответствует стандарту RE2. Подробнее о синтаксисе Google/RE2: https://github.com/google/re2/wiki/Syntax.

При составлении расширенного запроса UserGate показывает возможные варианты названия полей, применимых к ним операторов и возможных значений, облегчая оператору системы формирование сложных запросов. Список полей и их возможных значений может отличаться для каждого из журналов.

При переключении режима поиска с основного на расширенный UserGate автоматически формирует строку с поисковым запросом, которая соответствует фильтру, указанному в основном режиме поиска.