Журналы в Explore
Explore — это мощный инструмент для ведения журналов и анализа журналов. Он позволяет исследовать журналы из различных источников данных, включая:
С помощью Explore вы можете эффективно отслеживать состояние, устранять неполадки и реагировать на инциденты, анализируя журналы и выявляя первопричины. Это также помогает сопоставлять журналы с другими сигналами телеметрии, такими как метрики, трассировки или профили, просматривая их рядом друг с другом.
Результаты запросов к журналам отображаются в виде отдельных строк журналов и в виде графика, показывающего объём журналов за выбранный период времени.
Объём журналов
При работе с источниками данных, поддерживающими объём журналов за весь диапазон, Explore автоматически отображает график распределения журналов по всем отправленным запросам к журналам. В настоящее время эту функцию поддерживают источники данных Elasticsearch и Loki.
Note
В Loki создание объёма журналов за весь диапазон с помощью запроса к метрикам может быть ресурсоёмким в зависимости от запрашиваемого диапазона времени. Это особенно сложно для небольших установок Loki. Чтобы смягчить это, мы рекомендуем использовать прокси, например nginx, перед Loki с таймаутом около 10 с. Запросы гистограмм объёма журналов можно распознать по наличию HTTP-заголовка
X-Query-Tagsсо значениемSource=logvolhist; эти заголовки добавляются Grafana во все запросы гистограммы объёма журналов.
Если источник данных не поддерживает загрузку объёма журналов за весь диапазон, модель журналов вычисляет временной ряд, подсчитывая строки журналов и организуя их в интервалы на основе автоматически рассчитанного временного интервала. Временная метка первой строки журнала используется для привязки начала объёма журналов в результатах. Конец временного ряда привязывается к значению To средства выбора времени. Таким образом, вы всё равно можете эффективно анализировать и визуализировать данные журналов, даже если источник данных не поддерживает полный диапазон.
Журналы
В следующих разделах подробно объясняется, как визуализировать отдельные журналы в Explore и взаимодействовать с ними.
Бесконечная прокрутка
Когда вы дойдёте до конца списка журналов, вы увидите сообщение Scroll to load more. Если вы продолжите прокрутку и отображаемые журналы находятся в пределах выбранного временного интервала, Grafana загрузит больше журналов. Если порядок сортировки «сначала новые», вы получите более старые журналы, а если порядок сортировки «сначала старые», вы получите более новые журналы.
Параметры визуализации
Вы можете настроить отображение журналов и выбрать, какие столбцы показывать. Ниже приведён список доступных параметров.
Скачивание строк журналов
Эта функция позволяет сохранить данные журналов для дальнейшего анализа или передать их другим в удобном и доступном формате.
В Explore есть три варианта экспорта:
- TXT — экспортирует данные в том виде, в каком они видны на экране, то есть с учётом форматирования, например
line_format. - JSON — экспортирует необработанные данные независимо от форматирования, например
line_format. - CSV — экспортирует необработанные данные независимо от форматирования, например
line_format.
Нажмите Download и выберите TXT, JSON или CSV, чтобы скачать результаты журналов.
Метаинформация о результатах журналов
Над полученными строками журналов отображается следующая метаинформация:
- Number of received logs - Указывает общее количество журналов, полученных для текущего запроса или диапазона времени.
- Error - Отображает любые ошибки в результатах журналов.
- Common labels - Отображает общие метки.
- Total bytes processed - Представляет собой суммарный объём обработанных данных журналов в байтах.
Note
Доступность определённых метаданных может зависеть от источника данных, поэтому вы можете видеть только сведения, относящиеся к этим конкретным источникам данных.
Экранирование символов новой строки
Explore автоматически обнаруживает некоторые неправильно экранированные последовательности в строках журналов, например символы новой строки (\n, \r) или табуляции (\t). При обнаружении таких последовательностей Explore предлагает параметр Escape newlines.
Чтобы автоматически исправить обнаруженные Explore неправильно экранированные последовательности:
- Нажмите Escape newlines, чтобы заменить последовательности.
- Проверьте возвращённые строки журналов.
Explore заменяет эти последовательности, меняя название параметра с Escape newlines на Remove escaping. Оцените изменения, так как разбор может быть неточным в зависимости от входных данных. Чтобы отменить замены, нажмите Remove escaping.
Уровень журнала
Для журналов, в которых указана метка level, значение этой метки используется для определения уровня журнала и соответствующего обновления цвета каждой строки журнала.
Если в журнале нет указанной метки уровня, Grafana считает, что строка журнала не содержит уровня, и не отображает для неё значение.
Дополнительную информацию см. в следующей таблице. Уровень журнала всегда определяется по первому совпадению, когда уровень задан.
Tip
При использовании источника данных Loki, если
levelявляется частью строки журнала, вы можете использовать парсеры, такие какjson,logfmtилиregex, чтобы извлечь информацию об уровне в метку level. Эта метка используется для определения значения уровня, что позволяет гистограмме отображать различные уровни журналов в виде отдельных столбцов.
Поддерживаемые уровни журналов и сопоставление сокращений и выражений уровней:
Подсветка найденных слов
Если ваш запрос содержит определённые слова или выражения для поиска по ключевым словам, Explore подсвечивает их в строках журналов для улучшения видимости. Эта функция подсветки облегчает выявление и концентрацию внимания на релевантном содержимом ваших журналов.
Note
Возможность подсветки слов поиска зависит от источника данных. В некоторых источниках данных подсветка слов поиска может быть недоступна.
Представление сведений о журнале
В Explore каждая строка журнала имеет раскрываемый раздел Log details, который открывается нажатием на строку журнала. Представление сведений о журнале предоставляет дополнительную информацию и возможности исследования в виде Fields и Links, привязанных к строкам журналов, что обеспечивает более широкое взаимодействие и анализ.
Поля
В представлении Log details вы можете фильтровать отображаемые поля двумя способами: положительный фильтр, который фокусируется на определённом поле, и отрицательный фильтр, который исключает определённые поля. Эти фильтры изменяют соответствующий запрос, породивший строку журнала, добавляя в него выражения равенства и неравенства.
Если источник данных это поддерживает, как в случае Loki и Elasticsearch, сведения о журнале проверяют, включено ли поле уже в текущий запрос, указывая активное состояние для положительных фильтров. Это позволяет отключить его в запросе или при необходимости преобразовать выражение фильтра из положительного в отрицательное.
Нажмите значок глаза, чтобы выбрать подмножество полей для отображения в списке журналов вместо полной строки журнала.
У каждого поля есть значок статистики, который отображает оперативную статистику по всем отображаемым журналам.
Для источников данных, поддерживающих типы журналов, таких как Loki, вместо единого представления со всеми полями поля будут отображаться сгруппированными по типу: Indexed Labels, Parsed fields и Structured Metadata.
Ссылки
Grafana предоставляет ссылки на данные или корреляции, позволяя преобразовать любую часть сообщения журнала во внутреннюю или внешнюю ссылку. Эти ссылки позволяют перейти к связанным данным или внешним ресурсам, обеспечивая удобный и простой способ изучения дополнительной информации.
Режимы отображения сведений о журнале
Доступны два режима просмотра сведений о журнале:
- Inline — режим по умолчанию, отображает сведения о журнале под строкой журнала.
- Sidebar — отображает сведения о журнале в боковой панели.
Независимо от текущего режима отображения вы можете изменить его, нажав на значок управления режимом.
Контекст журнала
Контекст журнала — это функция, отображающая дополнительные строки контекста вокруг записи журнала, соответствующей определённому поисковому запросу. Это помогает понять контекст записи журнала и аналогично параметру -C команды grep.
Если вы используете Loki для журналов, для изменения запросов контекста журнала можно использовать редактор запросов контекста Loki в верхней части таблицы. Вы можете активировать этот редактор, нажав на меню строки журнала и выбрав Show context. В представлении Log Context вы можете изменить поиск, удалив один или несколько фильтров меток из потока журналов. Если исходный запрос использовал парсер, вы можете уточнить поиск, используя извлечённые фильтры меток.
Измените параметр Context time window, чтобы искать журналы в пределах определённого временного интервала вокруг вашей строки журнала.
Переключите Wrap lines, если вы сталкиваетесь с длинными строками текста, которые затрудняют чтение и анализ контекста вокруг записей журнала. Включив этот переключатель, Grafana автоматически переносит длинные строки текста, чтобы они помещались в видимую ширину средства просмотра, что делает записи журнала более удобными для чтения и понимания.
Нажмите Open in split view, чтобы выполнить запрос контекста для записи журнала на разделённом экране в представлении Explore. Нажатие этой кнопки открывает новую панель Explore с запросом контекста, отображаемым рядом с записью журнала, что упрощает анализ и понимание окружающего контекста.
Используйте Command-щелчок или Ctrl+щелчок, чтобы открыть запрос контекста журнала в новом окне браузера и просмотреть модель контекста. Все ранее выбранные фильтры применяются.
Копирование строки журнала
Нажмите Copy log line, чтобы скопировать содержимое выбранной строки журнала в буфер обмена.
Копирование ссылки на строку журнала
Связывание строк журналов в Grafana позволяет быстро переходить к конкретным записям журнала для детального и точного анализа. Нажмите Copy shortlink, чтобы создать и скопировать короткий URL-адрес, обеспечивающий прямой доступ к точной записи журнала в пределах абсолютного диапазона времени. При открытии ссылки Grafana автоматически прокручивает экран до соответствующей строки журнала и подсвечивает её синим цветом, что упрощает поиск и концентрацию на релевантной информации.
Note
Функция короткого URL-адреса в настоящее время поддерживается только в Loki и других источниках данных, предоставляющих поле
id.
Прямая трансляция журналов
Используйте функцию Live tail для просмотра журналов из источников данных в режиме реального времени.
- Нажмите Live на панели инструментов Explore, чтобы переключиться в представление Live tail.
- В Live tail view новые журналы появляются в нижней части экрана и имеют контрастный фон, что позволяет легко отслеживать новое.
- Нажмите Pause, чтобы приостановить прямую трансляцию и без помех изучить предыдущие журналы, или просто прокрутите представление журналов.
- Нажмите Clear logs, чтобы удалить все отображаемые журналы. Это действие сбрасывает представление журналов и предоставляет чистый лист для продолжения анализа журналов
- Нажмите Resume, чтобы возобновить прямую трансляцию и продолжить просмотр журналов в реальном времени.
- Нажмите Stop, чтобы выйти из прямой трансляции и вернуться к стандартному представлению Explore.
Функция прямой трансляции позволяет отслеживать последние журналы в реальном времени, что упрощает отслеживание событий по мере их появления и своевременное выявление проблем.
Образцы журналов
Если выбранный источник данных поддерживает образцы журналов, а также запросы к журналам и метрикам, вы автоматически увидите образцы строк журналов, которые вносят вклад в визуализируемые метрики для запросов к метрикам. Эта функция в настоящее время поддерживается только источником данных Loki.
Переключение с метрик на журналы
Если вы переходите с источника данных метрик, реализующего DataSourceWithQueryExportSupport (например, Prometheus), на источник данных журналов, поддерживающий DataSourceWithQueryImportSupport (например, Loki), Explore сохраняет метки из вашего запроса, которые присутствуют в журналах, и использует их для запроса потоков журналов.
Например, после переключения на источник данных Loki запрос Prometheus grafana_alerting_active_alerts{job="grafana"} изменяется на {job="grafana"}. Это позволит получить набор журналов в указанном диапазоне времени, который можно искать с помощью grep или текстового поиска.