Язык фильтрующих выражений
Вы можете фильтровать записи аудит-логов с помощью языка фильтрующих выражений. Он позволяет искать записи по одному или нескольким значениям параметров, а также использовать операции сравнения и логические операторы для уточнения поисковых запросов.
Использовать язык фильтрующих выражений можно при поиске аудит-логов в разделах Аудит логирование → Аудит логи и при экспорте аудит-логов в разделе Аудит логирование → Экспорт в 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"] |
- Параметры для фильтрации
- Логические операторы
- Операторы сравнения