Logs Explorer — обозреватель логов

Руководство по работе с Logs Explorer — инструментом поиска, фильтрации и анализа структурированных логов на языке LogsQL.

На этой странице:

Введение

Logs Explorer — раздел платформы Proto Observability, в котором можно искать и анализировать структурированные JSON-логи со всех компонентов платформы и инструментированных приложений. Инструмент работает поверх хранилища VictoriaLogs и использует язык запросов LogsQL.

Возможности раздела:

  • Поиск и фильтрация логов на языке LogsQL с подсветкой синтаксиса;
  • Табличное представление с динамическими столбцами — любое поле лога можно вывести отдельным столбцом;
  • Гистограмма распределения событий во времени (grouped-hits);
  • Просмотр исходного JSON лога с форматированием;
  • Сохранение Избранных запросов для быстрого повторного использования;
  • Гибкая настройка временного диапазона и размера страницы.

Как открыть

Перейдите в раздел Логи > Explorer в основном меню навигации платформы.


Строка запроса

В верхней части страницы находится поле ввода запроса LogsQL с подсветкой синтаксиса.

Возможности строки запроса:

  • Подсветка синтаксиса LogsQL (ключевые слова, операторы, строковые значения, имена полей);
  • Валидация на лету — некорректные запросы отмечаются красным;
  • Кнопка Очистить сбрасывает запрос одним нажатием;
  • Поддержка всех типов операторов-пайпов LogsQL (| filter, | stats, | sort, | fields и т.д.).

Примеры запросов:

service:"payment_bank" AND status:"error"
_time:5m | stats by (service, status) count()

Поиск кокрентного traceID:

_msg:140770596742765489524565013330580230423 | sort by (_time)

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

Нажмите Выполнить для запуска запроса. Результаты обновляются с учётом выбранного временного диапазона.


Временной диапазон

Рядом со строкой запроса расположен стандартный таймпиккер платформы.

Возможности:

  • Пресеты: последние 15 минут, 1 час, 24 часа, 7 дней и т.д.;
  • Произвольный диапазон с точностью до секунды;
  • Переключение между относительным и абсолютным режимами.

Диапазон автоматически подставляется в выражение _time:... при выполнении запроса.


Гистограмма событий

Под строкой запроса отображается гистограмма распределения событий во времени (grouped-hits) — столбчатая диаграмма, показывающая количество записей лога, попавших под текущий запрос, в каждом временном интервале.

Возможности гистограммы:

  • Выбор количества столбцов (Bars) — 20, 50, 100 или 200;
  • Выбор числа топ-групп (Top Hits) для подсветки наиболее часто встречающихся значений поля группировки;
  • Клик на столбец сужает временной диапазон до выбранного интервала;
  • Общее число попаданий (Total) отображается над гистограммой и соответствует реальному количеству записей под условиями запроса.

Табличное представление

Основная вкладка результатов — таблица записей лога.

Возможности таблицы:

  • Динамические столбцы — нажмите на иконку настройки столбцов, чтобы выбрать, какие поля логов будут отображаться как отдельные столбцы. Все остальные поля остаются в общем столбце с raw-данными;
  • Сортировка по столбцам;
  • Форматирование числовых полей с разделителями групп разрядов;
  • Кнопки копирования значений (видимы как в светлой, так и в тёмной теме);
  • Пагинация с выбором размера страницы — по умолчанию 500 записей;
  • При клике на строку открывается панель с полным содержимым записи лога.

Настройки отображения (колонки, размер страницы, формат вывода) сохраняются между сессиями.


JSON-представление

Вторая вкладка — JSON — показывает необработанные записи лога в исходном виде.

  • Каждая запись — отдельный отформатированный JSON с подсветкой синтаксиса;
  • Доступна кнопка копирования записи;
  • Удобно для анализа сложных структурированных логов и отладки интеграций.

Избранные запросы

Часто используемые запросы можно сохранить в Избранное, чтобы быстро вернуться к ним позже.

Как сохранить запрос:

  1. Введите и выполните нужный запрос LogsQL.
  2. Нажмите иконку звёздочки рядом со строкой запроса.
  3. Укажите имя и опциональное описание для запроса.
  4. Нажмите Сохранить.

Как использовать сохранённый запрос:

  1. Откройте панель Избранные запросы через иконку в заголовке.
  2. Выберите нужный запрос — он автоматически подставится в строку ввода.
  3. Нажмите Выполнить.

Избранные запросы хранятся для каждого пользователя отдельно. Их можно редактировать и удалять из той же панели.


Типичные сценарии

Расследование инцидента по trace_id

  1. Скопируйте trace_id из Traces Explorer или из карточки спана.
  2. В Logs Explorer введите запрос trace_id:"<значение>".
  3. Выберите временной диапазон, охватывающий момент инцидента.
  4. Проанализируйте логи в хронологическом порядке.

Поиск ошибок сервиса

  1. Введите service:"<имя_сервиса>" AND status:"error".
  2. Сохраните запрос как избранный для регулярной проверки.
  3. Включите гистограмму, чтобы увидеть время возникновения ошибок.

Фильтрация логов Kubernetes по кластеру / неймспейсу

Используйте дополнительные фильтры — имя кластера, имя пода и неймспейс автоматически собираются как поля лога при сборе агентом:

kube_cluster:"prod" AND kube_namespace:"payments" AND status:"warn"

Агрегация по уровню логирования

service:"api-manager" | stats by (status) count()

Права доступа

Запросы LogsQL автоматически фильтруются по списку разрешённых пользователю сервисов в соответствии с настройками RBAC. Пользователь увидит только логи тех сервисов, к которым у него есть доступ. Администраторы видят данные всех сервисов. Подробнее см. Администрирование RBAC.