Logs Explorer — обозреватель логов
Обзор
Logs Explorer — интерактивный веб-интерфейс для поиска, фильтрации и анализа лог-записей в Proto Observability Platform. Интерфейс доступен по адресу /explorer/logs и открывается через пункт бокового меню с иконкой логов.
Главный экран Logs Explorer с панелью запроса, гистограммой и таблицей результатов
Основные возможности Logs Explorer:
- Два режима запросов — «Визуальный режим» и «Чистый LogsQL»
- Гистограмма объёма логов — многосерийная столбчатая диаграмма с группировкой, легендой и контекстным меню
- Таблица результатов — виртуализированный просмотр лог-записей с цветовой индикацией уровней серьёзности
- Просмотр JSON — форматированное отображение записей с подсветкой синтаксиса
- Панель деталей — боковая панель с полной информацией о выбранной записи
- Пагинация — постраничная навигация по результатам
Режимы запросов
В панели запроса Logs Explorer доступен переключатель режимов («Визуальный режим» / «Чистый LogsQL»). По умолчанию открывается визуальный режим.
Переключатель режимов запросов в панели Logs Explorer
- Визуальный режим — визуальный конструктор запросов, позволяющий собирать LogsQL-запрос без написания синтаксиса вручную
- Чистый LogsQL — текстовое поле для прямого ввода LogsQL-запроса с автодополнением
При переключении между режимами запрос синхронизируется автоматически (см. раздел «Синхронизация режимов»).
Визуальный режим
Режим «Визуальный режим» предоставляет графический конструктор для построения LogsQL-запросов. Интерфейс состоит из трёх секций: фильтры, пайпы и предпросмотр запроса.
Режим «Визуальный режим»: фильтры, пайпы и предпросмотр запроса
Фильтры
Секция фильтров позволяет задать условия отбора лог-записей. Каждый фильтр представляет собой строку со следующими элементами:
| Элемент | Описание |
|---|---|
| Поле | Выбор поля из выпадающего списка (список заполняется автоматически из API) |
| Оператор | Тип сравнения: точное совпадение (exact), по слову (word), по регулярному выражению (regex) |
| Отрицание | Переключатель NOT для инвертирования условия |
| Значение | Выбор значения из выпадающего списка (значения загружаются из API с кешированием) |
Для добавления нового фильтра нажмите кнопку +. Несколько фильтров объединяются оператором AND. Для удаления фильтра нажмите кнопку x справа от строки.
Фильтры с выбором поля, оператора и значения
Пример: чтобы найти все записи с ошибками в сервисе payment-service, добавьте два фильтра:
- Поле:
service/ Оператор: exact / Значение:payment-service - Поле:
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 — операции обработки результатов
- Функции статистики — агрегатные функции
- Справочник — литералы, производительность, устранение неполадок
Автодополнение
При вводе запроса в режиме «Чистый 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
Доступные функции:
- Копирование записи — кнопка копирования для каждой отдельной записи
- Массовое копирование — копирование всех записей в формате NDJSON (Newline Delimited JSON)
Панель деталей записи
При нажатии на любую строку в таблице открывается боковая панель (drawer), занимающая 60% ширины экрана. Панель содержит три секции:
Боковая панель с сообщением, полями и необработанным JSON
- Сообщение — полный текст сообщения лог-записи
- Поля — все поля записи, отсортированные по алфавиту, с кнопками копирования для каждого значения
- Исходный JSON — необработанный JSON записи целиком с возможностью копирования
Панель деталей позволяет быстро изучить содержимое записи и скопировать нужные данные для дальнейшего анализа.
Справочник LogsQL
Для углублённого изучения языка запросов обратитесь к следующим разделам:
- Обзор и введение в LogsQL — основные концепции, синтаксис запросов и пошаговое руководство
- Фильтры LogsQL — полный справочник фильтров: по времени, потокам, словам, фразам, регулярным выражениям, IP-адресам и др.
- Пайпы LogsQL — обработка результатов: сортировка, группировка, извлечение полей, распаковка JSON/logfmt/syslog, математические вычисления
- Функции статистики — функции агрегации для пайпов stats, running_stats и total_stats
- Справочник — строковые литералы, числовые значения, длительности, советы по производительности, опции запросов и устранение неполадок