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