Язык фильтрующих выражений
Вы можете фильтровать записи логов с помощью языка фильтрующих выражений. Он позволяет искать логи по одному или нескольким значениям параметров, а также использовать операции сравнения и логические операторы для уточнения поисковых запросов.
Чтобы отфильтровать логи:
Перейдите в раздел Мониторинг → Логирование.
В списке лог-групп выберите нужную.
В поле Запрос введите фильтрующее выражение для поиска.
Фильтрация записей по полям логов
Вы можете найти записи логов по определенным параметрам, например по тексту сообщения в записи лога, времени создания лога или метке.
Поиск по фиксированным полям
Поле |
Тип |
Описание |
Пример фильтрации |
---|---|---|---|
message |
string |
Сообщение в записи лога. |
message: "query" |
level |
string |
Уровень лога из списка: TRACE, DEBUG, INFO, NOTICE, WARN, ERROR, CRITICAL, ALERT, EMERGENCY, FATAL. |
level="ERROR" |
service_name |
string |
Наименование сервиса. |
service_name="notification" |
trace_id |
id |
Уникальный идентификатор трассировки. |
trace_id="00000000-1111-2222-3333-444444444444" |
instance_id |
id |
Уникальный идентификатор источника логов. |
instance_id="55555555-6666-7777-8888-99999999999999" |
timestamp |
integer |
Время создания лога в формате ГГГГ-ММ-ДД ЧЧ:мм:сс. |
timestamp = dt:"2024-09-31 12:00:00" |
updated_at |
datatime |
Дата внесения записи в базу данных в формате ГГГГ-ММ-ДД ЧЧ:мм:сс. |
updated_at >= "2024-09-31 12:00:00" |
delete_at |
datatime |
Дата, после которой запись будет удалена по политике сохранения записей логов, в формате ГГГГ-ММ-ДД ЧЧ:мм:сс. |
delete_at >= "2024-09-31 12:00:00" |
Поиск по меткам
Вы можете искать записи по меткам в формате labels.<название метки>. Названия меток передаются в разделе Labels логов и могут отличаться в зависимости от модели данных.
Пример метки |
Тип |
Описание |
Пример фильтрации |
---|---|---|---|
labels.source |
string |
Источник, который отправил сообщение, например backend или frontend. |
labels.source = "backend" |
labels.class_name |
string |
Название класса. |
labels.class_name = "usr" |
labels.service_version |
string |
Версия сервиса, который отправил сообщение. |
labels.service_version = "6" |
Форматы записи данных
Тип данных |
Формат записи в запросе |
---|---|
string |
"qwerty" |
datatime |
dt:"2023-05-01 12:00:00" |
Array |
[123,5.5,"bar",dt:"1984-01-01"] |
Integer |
123 |
Float |
456.234 |
Bool |
true, false |
Null |
null |
Логические операторы
Логические операторы позволяют объединить в одном фильтре сразу несколько условий.
Оператор |
Описание |
Пример операции |
---|---|---|
AND |
Определяет, что должны выполняться все условия, указанные в запросе. |
message = "hello" AND labels.cluster_id="123456" |
OR |
Определяет, что должно выполняться любое из условий, указанных в запросе. |
message = "hello" OR labels.cluster_id="123456" |
По порядку вычислений сначала выполняется оператор AND, затем — OR. Операторы AND и OR можно использовать в одном фильтре, разделяя условия запроса скобками и меняя порядок вычислений в запросе.
Пример фильтра для поиска сообщения уровней ERROR или WARN, источник которых — backend:
(level="ERROR" OR level="WARN") AND labels.source="backend"
Пример фильтра для поиска сообщений уровней ERROR или WARN от сервиса landing, источник которых — backend:
(level="ERROR" OR level="WARN") AND (labels.service_name="landing" AND labels.source="backend")
Операторы сравнения
Операторы сравнения позволяют находить:
значения, которые больше или меньше заданного;
строки, которые начинаются с нужного значения или заканчиваются им.
Сравнение значений
Оператор |
Описание |
Пример запроса |
---|---|---|
= или != |
Поиск значения, которое равно или не равно указанному в запросе. |
labels.cluster_id = "123456" или labels.cluster_id != "123456" |
< |
Поиск значения, которое меньше, чем значение в запросе. |
labels.cluster_id < "123456" |
<= |
Поиск значения, которое меньше или равно указанному в запросе. |
labels.cluster_id <= "123456" |
> |
Поиск значения, которое больше, чем значение в запросе. |
labels.cluster_id > "123456" |
>= |
Поиск значения, которое больше или равно указанному в запросе. |
labels.cluster_id >= "123456" |
Сравнение строк
Оператор |
Описание |
Пример запроса |
---|---|---|
starts_with |
Поиск строк, которые начинаются с указанного значения. |
message starts_with "123456" |
ends_with |
Поиск строк, которые заканчиваются указанным значением. |
message ends_with "123456" |
Операторы принадлежности
Операторы принадлежности определяют, должно ли заданное значение быть в списке.
Оператор |
Описание |
Пример запроса |
---|---|---|
in |
Определяет, что указанное значение должно быть в списках. |
labels.cluster_id in [ "12", "34", "56" ] |
not_in |
Определяет, что указанное значение не должно быть в списках. |
labels.cluster_id not_in [ "12", "34", "56" ] |