Evolution
Тема интерфейса

Язык фильтрующих выражений

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

Использовать язык фильтрующих выражений можно при поиске аудит-логов в разделах Аудит логирование → Аудит логи и при экспорте аудит-логов в разделе Аудит логирование → Экспорт в SIEM.

Параметры для фильтрации

Вы можете найти записи логов по определенным параметрам, например по источнику события, уровню аудит-лога или другим параметрам:

Параметр

Тип

Описание

Пример фильтрации

event_source

string

Имя сервиса-источника события

event_source = "platform"

event_type

string

Тип события

event_type = "CatalogCreate"

event_level

string

Тип важности события аудита из списка: INFO, WARN, ERROR

event_level = "INFO"

event_status

string

Статус события

event_status = "SUCCESS"

event_id

string

ID события

event_id = "c467bc13-b0fb-496c-b874-0192abd04c0d"

log_source

string

Источник аудит-логов из списка: platform, client, infrastructure

log_source = "platform"

x_request_id

string

Сквозной идентификатор запроса

x_request_id = "376c7026-8839-4621-9e1b-5696f62b77f3"

tags

array [string]

Метки события

tags has "vm"

request_method

string

Метод запроса

request_method = "POST"

request_endpoint

string

Адрес запроса (эндпоинт)

request_endpoint = "/logaas-bff-admin/v1/08910db0-59c4-46f0-9528-4c63111e814d/log-group"

error

string

Описание ошибки

error starts_with "update"

resource_metadata.resource_type

string

Тип ресурса, над которым было произведено действие, из списка: customer, project, object

resource_metadata.resource_type = "project"

resource_metadata.resource_name

string

Имя ресурса, над которым было произведено действие

resource_metadata.resource_name = "Spring"

resource_metadata.resource_id

string

ID ресурса, над которым было произведено действие

resource_metadata.resource_id = "5a627ae1-cb0a-477c-9aeb-b807545f1980"

request_metadata.request_id

string

Идентификатор запроса

request_metadata.request_id = "c847c23d-5ca2-4488-9d48-ecf029b131a7"

request_metadata.remote_address

string

IP-адрес субъекта события

request_metadata.remote_address: "cloud"

request_metadata.user_agent

string

User-Agent субъекта события

request_metadata.user_agent: "grpc"

authentication.authenticated

bool

Результат аутентификации субъекта события в формате true или false

authentication.authenticated = "true"

authentication.subject_type

string

Тип субъекта события из списка: USER_ACCOUNT, FEDERATED_USER_ACCOUNT, SERVICE_ACCOUNT

authentication.subject_type = "SERVICE_ACCOUNT"

authentication.subject_name

string

Имя субъекта события

authentication.subject_name = "username"

authentication.subject_id

string

ID субъекта события

authentication.subject_id = "a321502f-e1d5-4cc0-9497-b03a4be6f253"

authorization.authorized

bool

Результат авторизации субъекта события в формате true или false

authorization.authorized = "true"

details

string

Детали события

details: "monaas.alert.rules"

Форматы записи данных:

Тип данных

Формат записи в запросе

string

"qwerty"

array

[123,5.5, "bar", dt:"1984-01-01"]

bool

true, false

Логические операторы

Логические операторы позволяют задать ограничения для запроса или объединить в одном фильтре сразу несколько условий.

Оператор

Описание

Пример фильтрации

AND

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

event_status = "SUCCESS" AND event_source = "Managed Kubernetes"

OR

Определяет, что должно выполняться любое из условий, указанных в запросе.

log_source = "infrastructure" OR log_source = "platform"

NOT

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

NOT event_status = "SUCCESS"

Операторы AND, OR и NOT можно использовать в одном фильтре, разделяя условия запроса скобками и меняя порядок вычислений в запросе.

Пример фильтра для поиска ошибок, связанных с обновлением или удалением, которые произошли в любых источниках, кроме platform:

(event_type = "update" OR event_type = "delete") AND event_level = "ERROR" NOT log_source = "platform"

Операторы сравнения

Операторы позволяют находить:

  • значения, которые больше или меньше заданного;

  • строки, которые начинаются с нужного значения или заканчиваются им;

  • списки и массивы, в которых есть заданное значение.

Сравнение значений

Оператор

Описание

Пример фильтрации

= или !=

Поиск записей, где значение параметра равно или не равно указанному в запросе.

log_source = "client" или log_source != "client"

<

Поиск записей, где значение параметра меньше, чем значение в запросе.

event_level < "ERROR"

<=

Поиск записей, где значение параметра меньше или равно указанному в запросе.

event_level <= "WARN"

>

Поиск записей, где значение параметра больше, чем значение в запросе.

event_level > "INFO"

>=

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

event_level >= "WARN"

Фильтрация строк и подстрок

Оператор

Описание

Пример фильтрации

:

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

authentication.subject_name: "iivanov"

i:

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

authentication.subject_name i: "test"

starts_with

Поиск записей, в которых нужный параметр начинается с указанного значения.

event_source starts_with "Managed"

ends_with

Поиск записей, в которых нужный параметр заканчивается указанным значением.

event_source ends_with "Kubernetes"

Фильтрация списковых полей и массивов

Оператор

Описание

Пример фильтрации

in

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

event_level in ["ERROR"]

not_in

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

event_level not_in ["INFO"]

has

Поиск записей, в которых в нужном массиве строк есть указанное значение.

resource_metadata.resource_type has "project"

not_has

Поиск записей, в которых в нужном массиве строк нет указанного значения.

resource_metadata.resource_type not_has "tenant"

has_any

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

resource_metadata.resource_type has_any ["group", "tenant"]