Последнее обновление: августа 11, 2026

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

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

Прежде чем начать

Перед настройкой источника данных убедитесь, что у вас есть:

  • Разрешения Grafana: роль администратора организации
  • Экземпляр Jaeger: запущенный экземпляр Jaeger с доступной конечной точкой запросов (по умолчанию: http://localhost:16686)

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

Чтобы добавить источник данных Jaeger:

  1. В левом боковом меню нажмите Connections.
  2. Нажмите Add new connection.
  3. Введите Jaeger в строке поиска.
  4. Выберите Jaeger.
  5. Нажмите Add new data source.

Параметры подключения

Настройте базовые параметры подключения для источника данных.

Параметр Описание
Name Имя, используемое для ссылок на источник данных в панелях и запросах.
Default Переключатель, делающий этот источник данных используемым по умолчанию.
URL URL вашего экземпляра Jaeger, например http://localhost:16686.

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

Источник данных Jaeger поддерживает следующие методы аутентификации.

Базовая аутентификация

Чтобы использовать базовую аутентификацию:

  1. Выберите Basic auth в раскрывающемся списке.
  2. Введите имя пользователя в поле User.
  3. Введите пароль в поле Password.

Передача удостоверения OAuth

Выберите Forward OAuth identity в раскрывающемся списке, чтобы передавать вышестоящее удостоверение OAuth пользователя в источник данных. Это полезно, когда Jaeger находится за прокси-сервером аутентификации.

Пользовательские заголовки

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

Чтобы добавить пользовательские заголовки, разверните раздел Additional settings и настройте их в разделе Custom HTTP headers.

Настройка TLS

Чтобы настроить TLS/mTLS для подключения, разверните раздел Additional settings и настройте следующие параметры:

Параметр Описание
TLS client auth Переключатель для включения аутентификации по клиентскому сертификату.
With CA cert Переключатель для указания пользовательского сертификата CA.
Skip TLS verify Переключатель для пропуска проверки сертификата TLS (только для тестирования).
Server name Имя сервера для проверки сертификата TLS.

Private data source connect

Private data source connect — только для пользователей Grafana Cloud.

Note

Этот раздел отображается только тогда, когда в экземпляре Grafana включена функция защищённого SOCKS-прокси.

Private data source connect, или PDC, позволяет установить приватное защищённое соединение между экземпляром, или стеком, Grafana Cloud и источниками данных, защищёнными внутри частной сети. Нажмите раскрывающийся список, чтобы найти URL для PDC. Дополнительные сведения о Grafana PDC см. в разделах Private data source connect (PDC) и Configure Grafana private data source connect (PDC) с инструкциями по настройке подключения PDC.

Нажмите Manage private data source connect, чтобы открыть страницу подключения PDC и просмотреть сведения о конфигурации.

Сопоставление трассировок с журналами

Trace to logs configuration settings
Trace to logs configuration settings

Параметр Trace to logs настраивает функцию сопоставления трассировок с журналами, которая связывает спаны трассировок со связанными записями журналов.

Note

Если вы используете Grafana Cloud, откройте обращение в службу поддержки в Cloud Portal, чтобы получить доступ к этой функции.

Существует два способа настроить сопоставление трассировок с журналами:

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

Использование простой конфигурации

  1. Выберите целевой источник данных в раскрывающемся списке.
  2. Задайте Span start time shift и Span end time shift, чтобы расширить или сместить диапазон времени, если временные метки журналов не совпадают точно с временными метками спанов.
  3. Настройте Tags для использования в запросе к журналам. Теги должны присутствовать в атрибутах спана или ресурсах, чтобы ссылка появилась. Вы можете переименовать теги, если целевой источник данных не допускает точки в метках (например, переименуйте http.status в http_status).
  4. При необходимости включите Filter by trace ID или Filter by span ID, чтобы дополнительно отфильтровать журналы.

Настройка пользовательского запроса

  1. Выберите целевой источник данных в раскрывающемся списке.
  2. Задайте Span start time shift и Span end time shift.
  3. При необходимости настройте Tags для сопоставления. Используйте переменную ${__tags} в пользовательском запросе для подстановки сопоставленных тегов. Если вы не сопоставляете теги, вы всё равно можете ссылаться на любой тег спана напрямую, например method="${__span.tags.method}".
  4. Включите Use custom query.
  5. Напишите пользовательский запрос с использованием переменных, перечисленных в этой таблице. Ссылка появляется только тогда, когда все переменные имеют непустые значения.

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

Чтобы использовать переменную, оберните её в ${}. Например: ${__span.name}.

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

Параметры сопоставления трассировок с журналами

Параметр Описание
Data source Целевой источник данных журналов. Вы можете выбрать источники данных журналов Loki или Splunk.
Span start time shift Смещает время начала запроса к журналам относительно времени начала спана. Используйте единицы времени, такие как 5s, 1m, 3h. Используйте отрицательные значения для расширения в прошлое. По умолчанию: 0.
Span end time shift Смещает время окончания запроса к журналам относительно времени окончания спана. По умолчанию: 0.
Tags Теги для использования в запросе к журналам. По умолчанию: cluster, hostname, namespace, pod, service.name, service.namespace.
Filter by trace ID Переключает добавление идентификатора трассировки к запросу к журналам.
Filter by span ID Переключает добавление идентификатора спана к запросу к журналам.
Use custom query Переключает использование пользовательского запроса с подстановкой переменных.
Query Пользовательский запрос. Используйте подстановку переменных для настройки значениями из спана.

Сопоставление трассировок с метриками

Параметр Trace to metrics позволяет связывать спаны трассировок со связанными запросами к метрикам.

Чтобы настроить сопоставление трассировок с метриками:

  1. Выберите целевой источник данных метрик в раскрывающемся списке.
  2. Настройте Tags для сопоставления атрибутов спана с именами меток метрик. Например, сопоставьте k8s.pod с pod.
  3. Создайте связанные запросы, используя ключевое слово $__tags для подстановки сопоставленных тегов.
Параметр Описание
Data source Целевой источник данных метрик.
Tags Сопоставляет имена атрибутов спана с именами меток метрик. Например, сопоставьте k8s.pod с pod. Используйте ключевое слово $__tags для подстановки тегов в запросах.

Каждый связанный запрос состоит из:

  • Link Label: (необязательно) Описательная метка для связанного запроса.
  • Query: Запрос, выполняемый при переходе от трассировки к источнику данных метрик. Используйте $__tags для подстановки тегов. Например, запрос requests_total{$__tags} с тегами k8s.pod=pod и cluster даёт requests_total{pod="nginx-554b9", cluster="us-east-1"}.

Граф узлов

Параметр Node graph находится в разделе Additional settings, который по умолчанию свёрнут. Разверните раздел Additional settings на странице настройки источника данных, чтобы получить к нему доступ.

Параметр Node graph включает визуализацию Node Graph, которая отключена по умолчанию.

При включении Grafana отображает Node Graph над представлением трассировки, показывая связи между сервисами в трассировке.

Панель спанов

Параметр Span bar находится в разделе Additional settings, который по умолчанию свёрнут. Разверните раздел Additional settings на странице настройки источника данных, чтобы получить к нему доступ.

Параметр Span bar управляет дополнительной информацией, отображаемой в строке панели спанов представления трассировки.

Параметр Описание
None Ничего не добавляет к строке панели спанов.
Duration (по умолчанию) Отображает длительность спана в строке панели спанов.
Tag Отображает значение тега спана в строке панели спанов. Укажите используемый ключ тега, например component.

Временные параметры идентификатора трассировки

Параметр Query Trace by ID with Time Params находится в разделе Additional settings, который по умолчанию свёрнут. Разверните раздел Additional settings на странице настройки источника данных, чтобы получить к нему доступ.

Переключатель Enable Time Parameters управляет тем, отправляет ли Grafana параметры времени start и end при запросе трассировки по идентификатору. Включите это, если ваш экземпляр Jaeger выигрывает от поиска трассировок с ограничением по времени.

Проверка подключения

Нажмите Save & test, чтобы проверить подключение к источнику данных. Успешная проверка отображает сообщение Data source is working.

Если проверка не удалась, обратитесь к разделу Устранение неполадок источника данных Jaeger за помощью в решении распространённых ошибок.

Провижининг источника данных

Вы можете определить и настроить источник данных в файлах YAML в рамках системы провижининга Grafana. Дополнительные сведения о провижининге см. в разделе Provisioning Grafana.

Пример провижининга

YAML
apiVersion: 1

datasources:
  - name: Jaeger
    type: jaeger
    uid: jaeger-ds
    url: http://localhost:16686
    access: proxy
    basicAuth: true
    basicAuthUser: <USERNAME>
    isDefault: false
    jsonData:
      tracesToLogsV2:
        datasourceUid: 'loki'
        spanStartTimeShift: '1h'
        spanEndTimeShift: '-1h'
        tags:
          - key: 'job'
          - key: 'instance'
          - key: 'pod'
          - key: 'namespace'
        filterByTraceID: false
        filterBySpanID: false
        customQuery: true
        query: 'method="$${__span.tags.method}"'
      tracesToMetrics:
        datasourceUid: 'prom'
        spanStartTimeShift: '-2m'
        spanEndTimeShift: '2m'
        tags:
          - key: 'service.name'
            value: 'service'
          - key: 'job'
        queries:
          - name: 'Sample query'
            query: 'sum(rate(traces_spanmetrics_latency_bucket{$$__tags}[5m]))'
      nodeGraph:
        enabled: true
      traceIdTimeParams:
        enabled: true
      spanBar:
        type: 'Duration'
    secureJsonData:
      basicAuthPassword: <PASSWORD>

Замените <USERNAME> и <PASSWORD> на ваши учётные данные Jaeger.

Провижининг с помощью Terraform

Вы можете настроить источник данных Jaeger с помощью Terraform и провайдера Grafana для Terraform.

Дополнительные сведения о провижининге ресурсов с помощью Terraform см. в документации Grafana as code using Terraform.

Пример Terraform

Следующий пример создаёт источник данных Jaeger:

hcl
terraform {
  required_providers {
    grafana = {
      source  = "grafana/grafana"
      version = ">= 2.0.0"
    }
  }
}

provider "grafana" {
  url  = "<YOUR_GRAFANA_URL>"
  auth = "<YOUR_SERVICE_ACCOUNT_TOKEN>"
}

resource "grafana_data_source" "jaeger" {
  type = "jaeger"
  name = "Jaeger"
  url  = "http://localhost:16686"

  json_data_encoded = jsonencode({
    nodeGraph = {
      enabled = true
    }
    traceIdTimeParams = {
      enabled = true
    }
    tracesToLogsV2 = {
      datasourceUid    = "loki"
      filterByTraceID  = true
      filterBySpanID   = false
      tags = [
        { key = "service.name", value = "service" },
        { key = "job" }
      ]
    }
  })
}

Пример Terraform с базовой аутентификацией

Следующий пример создаёт источник данных Jaeger с базовой аутентификацией:

hcl
resource "grafana_data_source" "jaeger_auth" {
  type                = "jaeger"
  name                = "Jaeger"
  url                 = "http://localhost:16686"
  basic_auth_enabled  = true
  basic_auth_username = "<USERNAME>"

  json_data_encoded = jsonencode({
    nodeGraph = {
      enabled = true
    }
    traceIdTimeParams = {
      enabled = true
    }
  })

  secure_json_data_encoded = jsonencode({
    basicAuthPassword = "<PASSWORD>"
  })
}

Замените следующие заполнители:

  • <YOUR_GRAFANA_URL>: URL вашего экземпляра Grafana (например, https://your-org.grafana.net для Grafana Cloud)
  • <YOUR_SERVICE_ACCOUNT_TOKEN>: токен сервисной учётной записи с разрешениями на источники данных
  • <USERNAME>: имя пользователя для базовой аутентификации
  • <PASSWORD>: пароль для базовой аутентификации

Все доступные параметры конфигурации см. в документации ресурса источника данных провайдера Grafana.