Logs Explorer — обозреватель логов
На этой странице:
- Введение
- Как открыть
- Строка запроса
- Временной диапазон
- Гистограмма событий
- Табличное представление
- JSON-представление
- Избранные запросы
- Типичные сценарии
- Права доступа
Введение
Logs Explorer — раздел платформы Proto Observability, в котором можно искать и анализировать структурированные JSON-логи со всех компонентов платформы и инструментированных приложений. Инструмент работает поверх хранилища VictoriaLogs и использует язык запросов LogsQL.
Версия
Данный функционал доступен начиная с версии 200.Возможности раздела:
- Поиск и фильтрация логов на языке 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 с подсветкой синтаксиса;
- Доступна кнопка копирования записи;
- Удобно для анализа сложных структурированных логов и отладки интеграций.
Избранные запросы
Часто используемые запросы можно сохранить в Избранное, чтобы быстро вернуться к ним позже.
Как сохранить запрос:
- Введите и выполните нужный запрос LogsQL.
- Нажмите иконку звёздочки рядом со строкой запроса.
- Укажите имя и опциональное описание для запроса.
- Нажмите Сохранить.
Как использовать сохранённый запрос:
- Откройте панель Избранные запросы через иконку в заголовке.
- Выберите нужный запрос — он автоматически подставится в строку ввода.
- Нажмите Выполнить.
Избранные запросы хранятся для каждого пользователя отдельно. Их можно редактировать и удалять из той же панели.
Совет
Избранные запросы удобны для стандартных сценариев: «все ошибки сервиса X за последний час», «медленные запросы к базе данных», «все логи с определённым trace_id».Типичные сценарии
Расследование инцидента по trace_id
- Скопируйте
trace_idиз Traces Explorer или из карточки спана. - В Logs Explorer введите запрос
trace_id:"<значение>". - Выберите временной диапазон, охватывающий момент инцидента.
- Проанализируйте логи в хронологическом порядке.
Поиск ошибок сервиса
- Введите
service:"<имя_сервиса>" AND status:"error". - Сохраните запрос как избранный для регулярной проверки.
- Включите гистограмму, чтобы увидеть время возникновения ошибок.
Фильтрация логов Kubernetes по кластеру / неймспейсу
Используйте дополнительные фильтры — имя кластера, имя пода и неймспейс автоматически собираются как поля лога при сборе агентом:
kube_cluster:"prod" AND kube_namespace:"payments" AND status:"warn"
Агрегация по уровню логирования
service:"api-manager" | stats by (status) count()
Права доступа
Запросы LogsQL автоматически фильтруются по списку разрешённых пользователю сервисов в соответствии с настройками RBAC. Пользователь увидит только логи тех сервисов, к которым у него есть доступ. Администраторы видят данные всех сервисов. Подробнее см. Администрирование RBAC.