Помимо простого поиска, для которого используется графический интерфейс, в LogAn представлена возможность расширенного поиска с формированием более сложных фильтров поиска и использованием специального языка запросов. Для формирования запросов используются названия полей, значения полей, ключевые слова и операторы. Значения полей могут быть введены с использованием одинарных или двойных кавычек, или без них, если значения не содержат пробелов. Для группировки нескольких условий можно использовать круглые скобки.
Ключевые слова отделяются пробелами и могут быть следующими:
Наименование
Описание
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 и с использованием одинарных кавычек, например,
При использовании оператора NOT MATCH подстрока, которая не должна присутствовать в указанном поле, задаётся в формате JSON и с использованием одинарных кавычек, например,
При переключении режима поиска с основного на расширенный LogAn автоматически формирует строку с поисковым запросом, которая соответствует фильтру, указанному в основном режиме поиска.