Настройка источника данных Tempo

Источник данных Tempo подключает Grafana к вашей базе данных Tempo и позволяет настраивать функции и интеграции с другими телеметрическими сигналами.

Вы можете настроить источник данных либо через интерфейс источников данных в Grafana, либо с помощью файла конфигурации. На этой странице объясняется, как подключить Grafana к Tempo, настроить аутентификацию и включить потоковую передачу. О функциях корреляции трассировок, провижининге и других настройках см. связанные подстраницы.

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

Перед началом

Чтобы настроить источник данных Tempo, вам нужно:

  • Права администратора на ваш экземпляр Grafana.
  • Экземпляр Tempo, настроенный на отправку данных трассировки в Grafana.
  • Приложение или служба, инструментированные для выдачи трассировок. Если вы ещё не настроили это, обратитесь к разделу Инструментирование для трассировки.

Если вы провижините источник данных Tempo, вам также нужны административные права на сервере, на котором размещён ваш экземпляр Grafana. Инструкции по провижинингу см. в разделе Провижининг источника данных Tempo.

Предупреждение о провижиненном источнике данных

Note

Вы не можете изменить провижиненный источник данных из интерфейса Grafana. Форма настроек доступна только для чтения, а кнопка Save & test заменяется на Test (вы можете проверить подключение, но не сохранить изменения).

Чтобы внести изменения, вы можете либо:

Добавление или изменение источника данных

Вы можете использовать эти процедуры, чтобы настроить новый источник данных Tempo или изменить существующий.

Добавление нового источника данных

Выполните следующие шаги, чтобы настроить новый источник данных Tempo:

  1. Выберите Connections в главном меню.

  2. Введите Tempo в строке поиска.

  3. Выберите Tempo.

  4. Выберите Add new data source в правом верхнем углу страницы.

  5. На вкладке Settings заполните разделы Name, Connection и Authentication.

    • Используйте поле Name, чтобы указать имя, используемое для источника данных на панелях, в запросах и Explore. Переключите переключатель Default, чтобы источник данных был предварительно выбран для новых панелей.
    • В разделе Connection введите URL экземпляра Tempo. Примеры формата URL см. в разделе Подключение.
    • Заполните раздел Authentication.
  6. Необязательно: настройте другие разделы, чтобы добавить возможности к вашим данным трассировки. О доступных параметрах см. разделы Настройка корреляций трассировок и Другие настройки.

  7. Выберите Save & test.

Это видео объясняет, как добавлять источники данных, включая Loki, Tempo и Mimir, в Grafana и Grafana Cloud. Настройка источника данных Tempo начинается на 4:58 в видео.

Обновление существующего источника данных

Чтобы изменить существующий источник данных Tempo:

  1. Выберите Connections в главном меню.
  2. Выберите Data sources, чтобы просмотреть список настроенных источников данных.
  3. Выберите источник данных Tempo, который хотите изменить.
  4. Настройте или обновите дополнительные разделы, чтобы добавить возможности к вашим данным трассировки.
  5. После завершения обновлений выберите Save & test.

Подключение

Формат URL зависит от вашей среды:

Среда Формат URL Пример
Самостоятельно размещённый Tempo http://<TEMPO_HOST>:<PORT> http://tempo:3200
Grafana Cloud Traces https://tempo-<REGION>.grafana.net/tempo https://tempo-prod-01-eu-west-0.grafana.net/tempo

Порт по умолчанию зависит от протокола: 3200 для HTTP, 9095 для gRPC.

Note

Grafana Cloud включает Grafana Cloud Traces, предварительно настроенный источник данных трассировки на базе Tempo. Добавляйте источник данных Tempo вручную, когда вам нужно подключиться к самостоятельно размещённому экземпляру Tempo или требуется пользовательская конфигурация сверх того, что предоставляет Grafana Cloud Traces.

URL в этой таблице предназначены для запросов трассировок из Grafana. Чтобы настроить, как ваши приложения отправляют трассировки в Tempo (конечные точки OTLP), обратитесь к разделу Настройка трассировки для Grafana Cloud или Инструментирование для трассировки для самостоятельно размещённого Tempo.

Аутентификация

Используйте этот раздел, чтобы выбрать метод аутентификации для доступа к источнику данных.

Note

Используйте Transport Layer Security (TLS) для дополнительного уровня безопасности при работе с Tempo. Дополнительную информацию о настройке шифрования TLS с Tempo см. в разделах Настройка связи TLS и Конфигурация Tempo.

Warning

[ru] DOCS_SHARED: "docs/grafana/latest/datasources/tempo/configure-tempo-data-source/_index.ru.md" ("/hugo/content/docs/grafana/latest/datasources/tempo/configure-tempo-data-source/_index.ru.md:117:1") shared directory "docs/grafana/latest/shared" not found

Подключение к Grafana Cloud Traces: выберите Basic authentication. Используйте ID экземпляра вашего стека Grafana Cloud (показанный в URL источника данных Tempo на Cloud Portal) в качестве User и токен Cloud Access Policy с областью действия traces:read в качестве Password. Не используйте учётные данные для входа в Grafana.

Самостоятельно размещённый Tempo: если Tempo настроен без аутентификации, выберите No authentication. Если ваш экземпляр Tempo использует базовую аутентификацию, введите учётные данные, настроенные в блоке server Tempo или обратном прокси.

Мультиарендность

Если вы используете мультиарендное развёртывание Tempo, вам нужно отправлять ID арендатора с каждым запросом, чтобы Tempo маршрутизировал запросы к правильному арендатору.

Чтобы настроить мультиарендность:

  1. В настройках источника данных Tempo прокрутите до раздела Authentication.
  2. Разверните подраздел HTTP Headers.
  3. Добавьте заголовок с именем X-Scope-OrgID и значением, установленным в ID вашего арендатора.

Этот заголовок задаётся в источнике данных Grafana для запросов. Тот же заголовок также должен быть задан на пути записи (в конфигурации вашего Alloy или OpenTelemetry Collector), чтобы маршрутизировать данные трассировки к правильному арендатору при приёме.

Дополнительную информацию см. в документации о мультиарендности Tempo.

Потоковая передача

Потоковая передача позволяет отображать результаты запросов TraceQL по мере их появления. Без потоковой передачи никакие результаты не отображаются, пока не вернутся все результаты.

Чтобы использовать потоковую передачу, вам нужно:

  • Запускать Tempo версии 2.2 или более поздней, или Grafana Enterprise Traces (GET) версии 2.2 или более поздней, или использовать Grafana Cloud Traces.

  • Grafana Cloud Traces: потоковая передача поддерживается изначально. Дополнительная конфигурация инфраструктуры не требуется.

  • Самостоятельно размещённый Tempo или GET: в конфигурации Tempo должно быть stream_over_http_enabled: true, чтобы потоковая передача работала. Если ваш экземпляр Tempo или GET находится за балансировщиком нагрузки или прокси, который не поддерживает gRPC или HTTP2, потоковая передача может не работать, и её следует деактивировать.

    Дополнительную информацию см. в разделе gRPC API Tempo.

Активация потоковой передачи

Потоковая передача доступна в Grafana и Grafana Cloud. Раздел Streaming имеет два переключателя:

  • Search queries: передаёт результаты поиска TraceQL по мере их поступления.
  • Metrics queries: передаёт результаты запросов метрик TraceQL по мере их поступления.

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

Раздел Streaming в источнике данных Tempo

Когда потоковая передача активна, она отображается как Enabled в Explore. Чтобы проверить статус, выберите Explore в меню, выберите ваш источник данных Tempo и разверните раздел Options.

Экран Explore показывает источник данных Tempo с активной потоковой передачей

Устранение неполадок потоковой передачи

Если потоковая передача не работает, см. Проблемы с потоковой передачей в руководстве по устранению неполадок.

Связывание трассировок с другими сигналами

Grafana предоставляет несколько способов связать трассировки с другими телеметрическими сигналами. Следующая диаграмма показывает доступные механизмы корреляции, направление каждого и место настройки каждого.

Связывание трассировок с другими сигналами

Страница настроек источника данных Tempo включает три раздела для связывания от промежутков к другим сигналам. Каждый соответствует разделу в форме настроек:

  • Trace to logs: переходите от промежутков к связанным журналам в Loki или другом источнике данных журналов.
  • Trace to metrics: связывайте промежутки с запросами метрик в Prometheus или других источниках данных метрик.
  • Trace to profiles: связывайте промежутки с данными профилирования в Grafana Pyroscope со встроенными графами пламени.

Для более гибких корреляций на основе правил, которые могут нацеливаться на любой источник данных или внешний URL, используйте Grafana Корреляции трассировок. Корреляции трассировок настраиваются в разделе Configuration > Correlations, а не в настройках источника данных Tempo.

Чтобы связать от журналов или метрик к трассировкам (обратное направление), обратитесь к:

Другие настройки

Пользовательские переменные запросов

Чтобы использовать переменную в конфигурации trace to logs, metrics или profiles, вам нужно обернуть её в ${}. Например, ${__span.name}.

Имя переменной Описание
__tags Эта переменная использует сопоставление тегов из интерфейса для создания строки сопоставителя меток в синтаксисе конкретного источника данных. Переменная использует только теги, присутствующие в промежутке. Ссылка всё равно создаётся, даже если в промежутке присутствует только один из этих тегов. Вы можете использовать это, если для полезности запроса не требуются все теги.
__span.spanId ID промежутка.
__span.traceId ID трассировки.
__span.duration Длительность промежутка.
__span.name Имя промежутка.
__span.tags Пространство имён для тегов в промежутке. Чтобы получить доступ к конкретному тегу с именем version, вы использовали бы ${__span.tags.version}. Если тег содержит точку, вы должны обращаться к нему как ${__span.tags["http.status"]}.
__trace.traceId ID трассировки.
__trace.duration Длительность трассировки.
__trace.name Имя трассировки.