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

Руководство по работе с Logs Explorer — интерфейсом для поиска, фильтрации и анализа лог-записей в Proto Observability Platform.

Обзор

Logs Explorer — интерактивный веб-интерфейс для поиска, фильтрации и анализа лог-записей в Proto Observability Platform. Интерфейс доступен по адресу /explorer/logs и открывается через пункт бокового меню с иконкой логов.

Общий вид Logs Explorer

Главный экран Logs Explorer с панелью запроса, гистограммой и таблицей результатов

Основные возможности Logs Explorer:

  • Два режима запросов — «Визуальный режим» и «Чистый LogsQL»
  • Гистограмма объёма логов — многосерийная столбчатая диаграмма с группировкой, легендой и контекстным меню
  • Таблица результатов — виртуализированный просмотр лог-записей с цветовой индикацией уровней серьёзности
  • Просмотр JSON — форматированное отображение записей с подсветкой синтаксиса
  • Панель деталей — боковая панель с полной информацией о выбранной записи
  • Пагинация — постраничная навигация по результатам

Режимы запросов

В панели запроса Logs Explorer доступен переключатель режимов («Визуальный режим» / «Чистый LogsQL»). По умолчанию открывается визуальный режим.

Переключатель режимов «Визуальный режим» / «Чистый LogsQL»

Переключатель режимов запросов в панели Logs Explorer

  • Визуальный режим — визуальный конструктор запросов, позволяющий собирать LogsQL-запрос без написания синтаксиса вручную
  • Чистый LogsQL — текстовое поле для прямого ввода LogsQL-запроса с автодополнением

При переключении между режимами запрос синхронизируется автоматически (см. раздел «Синхронизация режимов»).


Визуальный режим

Режим «Визуальный режим» предоставляет графический конструктор для построения LogsQL-запросов. Интерфейс состоит из трёх секций: фильтры, пайпы и предпросмотр запроса.

Визуальный режим Logs Explorer

Режим «Визуальный режим»: фильтры, пайпы и предпросмотр запроса

Фильтры

Секция фильтров позволяет задать условия отбора лог-записей. Каждый фильтр представляет собой строку со следующими элементами:

Элемент Описание
Поле Выбор поля из выпадающего списка (список заполняется автоматически из API)
Оператор Тип сравнения: точное совпадение (exact), по слову (word), по регулярному выражению (regex)
Отрицание Переключатель NOT для инвертирования условия
Значение Выбор значения из выпадающего списка (значения загружаются из API с кешированием)

Для добавления нового фильтра нажмите кнопку +. Несколько фильтров объединяются оператором AND. Для удаления фильтра нажмите кнопку x справа от строки.

Секция фильтров

Фильтры с выбором поля, оператора и значения

Пример: чтобы найти все записи с ошибками в сервисе payment-service, добавьте два фильтра:

  1. Поле: service / Оператор: exact / Значение: payment-service
  2. Поле: level / Оператор: exact / Значение: error

Результирующий LogsQL-запрос:

service:exact("payment-service") AND level:exact("error")

Пайпы

Пайпы — это операции трансформации, применяемые к результатам после фильтрации. Концепция пайпов подробно описана в документации по пайпам LogsQL.

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

Меню добавления пайпов

Категоризированное меню выбора пайпов

Поддерживаемые типы пайпов

Управление выводом:

Пайп Описание
limit Ограничение количества выводимых записей
offset Пропуск первых N записей
fields Выбор конкретных полей для отображения
delete Удаление указанных полей из результатов
sort Сортировка по одному или нескольким полям
top Выбор N записей с наибольшими значениями поля

Трансформация данных:

Пайп Описание
rename Переименование поля
copy Копирование значения поля в новое поле
extract Извлечение подстроки из поля по шаблону
unpack_json Распаковка JSON-строки в отдельные поля
drop_empty_fields Удаление полей с пустыми значениями

Фильтрация:

Пайп Описание
filter Дополнительная фильтрация результатов
dedup Удаление дубликатов по указанным полям
uniq Вывод уникальных комбинаций значений полей

Статистика:

Пайп Описание
stats Вычисление агрегатных функций (22 функции: count, sum, avg, min, max, median, quantile и др.) с возможностью группировки (by) и псевдонимов (as). Подробнее см. функции статистики

Системные пайпы

Logs Explorer автоматически добавляет системные пайпы для обеспечения пагинации (sort и limit). Эти пайпы отображаются в конструкторе в режиме «только для чтения» и не могут быть удалены или изменены вручную.

Предпросмотр запроса

Под секцией пайпов отображается сгенерированный LogsQL-запрос в реальном времени. Предпросмотр обновляется при каждом изменении фильтров или пайпов. Это удобный инструмент для изучения синтаксиса LogsQL — вы можете наблюдать, как визуальные настройки преобразуются в текст запроса.

Предпросмотр LogsQL-запроса

Предпросмотр сгенерированного запроса в реальном времени

Синхронизация режимов

«Визуальный режим» и «Чистый LogsQL» поддерживают двунаправленную синхронизацию:

  • Визуальный режим → Чистый LogsQL: при переключении на «Чистый LogsQL» текущий запрос из конструктора сериализуется в текстовую строку LogsQL
  • Чистый LogsQL → Визуальный режим: при переключении на «Визуальный режим» система пытается разобрать (распарсить) текстовый запрос обратно в набор фильтров и пайпов

Если текстовый запрос содержит конструкции, которые невозможно представить в визуальном конструкторе (например, сложные вложенные выражения), отображается предупреждение, и режим остаётся «Чистый LogsQL».


Режим «Чистый LogsQL»

В режиме «Чистый LogsQL» доступно текстовое поле для прямого ввода LogsQL-запроса. Этот режим подходит для опытных пользователей, знакомых с синтаксисом LogsQL.

Режим «Чистый LogsQL» с автодополнением

Режим «Чистый LogsQL»: текстовый ввод запроса с контекстным автодополнением

Подробное описание языка запросов доступно в следующих разделах документации:

Автодополнение

При вводе запроса в режиме «Чистый LogsQL» система предоставляет контекстно-зависимые подсказки:

  • Имена полей — предлагаются при начале ввода имени поля
  • Значения полей — предлагаются после указания имени поля и оператора (с отложенной загрузкой)
  • Имена пайпов — предлагаются после символа |

Навигация по списку подсказок:

Клавиша Действие
Up / Down Перемещение по списку
Enter Выбор текущего варианта
Escape Закрытие списка подсказок

Выпадающий список подсказок позиционируется относительно курсора ввода для удобства работы.


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

В панели запроса расположен элемент выбора временного диапазона (TimePicker). Выбранный диапазон влияет на:

  • Результаты запроса — возвращаются только записи в пределах указанного временного окна
  • Шаг гистограммы — автоматически рассчитывается на основе ширины временного диапазона

Доступны как предустановленные интервалы (последние 5 минут, 15 минут, 1 час, 6 часов, 24 часа и т.д.), так и произвольный выбор начала и окончания.


Выполнение запросов

Для выполнения запроса нажмите кнопку Выполнить или клавишу Enter (в режиме «Чистый LogsQL»). Во время выполнения запроса отображается индикатор загрузки и доступна кнопка Отменить для прерывания длительных запросов.

После получения результатов в строке статуса отображается:

  • Количество найденных лог-записей
  • Время выполнения запроса

Гистограмма объёма логов

Над таблицей результатов расположена многосерийная столбчатая диаграмма (stacked bar chart), показывающая распределение лог-записей во времени.

Гистограмма объёма логов

Многосерийная гистограмма с группировкой, легендой и панелью статистики

Панель управления статистикой

Над гистограммой расположена панель с тремя элементами управления:

Элемент Описание
Group By Выбор поля для группировки серий (по умолчанию: _stream)
Top Hits Ограничение количества отображаемых серий (top-N по количеству записей)
Bars Количество столбцов на диаграмме (влияет на шаг расчёта)

Каждая серия на диаграмме представляет уникальное значение поля группировки. Серии отображаются с цветовой палитрой и складываются друг на друга (stacked mode).

Легенда

Под диаграммой расположена прокручиваемая легенда с перечислением всех серий. Каждый элемент легенды содержит цветовой индикатор и полное имя серии.

Контекстное меню легенды

При нажатии правой кнопкой мыши (или обычном нажатии) на элемент легенды открывается контекстное меню со следующими действиями:

Контекстное меню легенды

Контекстное меню с действиями копирования, фильтрации и управления серией

Копирование:

  • Копировать имя серии — копирует полное имя серии в буфер обмена

Действия с полями (для каждого поля серии доступно подменю):

  • Копировать значение — копирует значение конкретного поля
  • Копировать ключ=значение — копирует пару в формате field="value"

Фильтрация (доступна в режиме «Визуальный режим»):

  • Добавить в фильтр — добавляет условие фильтрации по данной серии
  • Исключить из фильтра — добавляет условие исключения (NOT) для данной серии

Управление отображением:

  • Скрыть серию — временно убирает серию с диаграммы
  • Показать только эту серию — скрывает все серии, кроме выбранной

Отображение результатов

Результаты запроса представлены на двух вкладках: Таблица и JSON.

Таблица

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

Таблица результатов

Таблица с цветовой индикацией уровней серьёзности и фильтрацией по уровням

Столбцы таблицы:

Столбец Описание
Time Временная метка записи
Level Уровень серьёзности (severity)
Message Текст сообщения

Цветовая индикация уровней серьёзности (левая граница строки):

Уровень Цвет
DEBUG Серый
INFO Синий
WARN Жёлтый
ERROR Красный
FATAL Фиолетовый

Фильтрация по уровню серьёзности: над таблицей расположены чекбоксы для быстрой клиентской фильтрации по уровням. Отметьте нужные уровни для отображения.

Пагинация: под таблицей расположены кнопки постраничной навигации (назад/вперёд) и селектор размера страницы.

Автоматическое переключение: если в результатах запроса отсутствуют стандартные поля для табличного отображения, система автоматически переключается на вкладку JSON.

JSON

Вкладка JSON предоставляет форматированное отображение лог-записей с подсветкой синтаксиса. Используется виртуализированный рендеринг для работы с большими объёмами данных.

Просмотр JSON

Форматированное отображение лог-записей в формате JSON

Доступные функции:

  • Копирование записи — кнопка копирования для каждой отдельной записи
  • Массовое копирование — копирование всех записей в формате NDJSON (Newline Delimited JSON)

Панель деталей записи

При нажатии на любую строку в таблице открывается боковая панель (drawer), занимающая 60% ширины экрана. Панель содержит три секции:

Панель деталей записи

Боковая панель с сообщением, полями и необработанным JSON

  1. Сообщение — полный текст сообщения лог-записи
  2. Поля — все поля записи, отсортированные по алфавиту, с кнопками копирования для каждого значения
  3. Исходный JSON — необработанный JSON записи целиком с возможностью копирования

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


Справочник LogsQL

Для углублённого изучения языка запросов обратитесь к следующим разделам:

  • Обзор и введение в LogsQL — основные концепции, синтаксис запросов и пошаговое руководство
  • Фильтры LogsQL — полный справочник фильтров: по времени, потокам, словам, фразам, регулярным выражениям, IP-адресам и др.
  • Пайпы LogsQL — обработка результатов: сортировка, группировка, извлечение полей, распаковка JSON/logfmt/syslog, математические вычисления
  • Функции статистики — функции агрегации для пайпов stats, running_stats и total_stats
  • Справочник — строковые литералы, числовые значения, длительности, советы по производительности, опции запросов и устранение неполадок