Настройка корреляции trace to metrics
Trace to metrics позволяет переходить от промежутка в трассировке к метрикам в Prometheus или другом источнике данных метрик. Когда эта функция настроена, в представлении трассировки появляется ссылка Metrics for this span.
Trace to metrics работает с любым совместимым с Prometheus источником данных и не требует генератора метрик Tempo. Генератор метрик создаёт новые метрики из данных трассировки; trace to metrics связывает с метриками, которые уже существуют в вашем источнике данных метрик.
Перед началом
Чтобы настроить trace to metrics, вам нужно:
- Источник данных Tempo, настроенный в Grafana
- Совместимый с Prometheus источник данных метрик, настроенный в Grafana
- Метрики, соответствующие вашим трассируемым службам (например,
requests_total,request_duration_seconds) - Разрешения Editor или Admin в Grafana
Note
Вы не можете изменить провижиненный источник данных из интерфейса Grafana. Если вы используете Grafana Cloud Traces (предварительно настроенный источник данных трассировки в Grafana Cloud), его настройки доступны только для чтения. Чтобы настроить trace to metrics, клонируйте источник данных, чтобы создать редактируемую копию, или обновите файл провижининга для самостоятельно размещённых экземпляров. Подробности см. в разделе Провижининг.
Есть два способа настроить функцию trace to metrics:
- Использовать базовую конфигурацию с запросом по умолчанию.
- Настроить один или несколько пользовательских запросов, где вы можете использовать язык шаблонов для интерполяции переменных из трассировки или промежутка.

Настройка базовой конфигурации
Чтобы использовать базовую конфигурацию, выполните следующие шаги:
-
Выберите источник данных метрик в раскрывающемся списке Data source.
-
Необязательно: измените Span start time shift и Span end time shift. Заполнители показывают
-2m(начало) и2m(конец), которые применяются, если оставить поля пустыми. -
Необязательно: выберите любые теги для использования в запросе. Нажмите Add tag, чтобы добавить сопоставление тегов.
Настроенные вами теги должны присутствовать в атрибутах или ресурсах промежутков, чтобы появилась ссылка trace to metrics на промежутке. При необходимости вы можете настроить новое имя для тега. Это полезно, если в имени тега есть точки, а целевой источник данных не допускает использования точек в метках. Например, вы можете переопределить
service.nameвservice_name. -
Не выбирайте Add query.
-
Выберите Save and Test.
Настройка пользовательских запросов
Чтобы использовать пользовательские запросы, вам нужно настроить теги, которые вы хотели бы включить в связанные запросы.
Для каждого тега ключ — это имя атрибута промежутка.
В случаях, когда имя атрибута привело бы к недопустимому запросу метрик или не совпадает точно с желаемым именем метки, вы можете ввести имя метки в качестве второго значения.
Например, вы можете сопоставить атрибут k8s.pod с меткой pod.
Вы можете интерполировать настроенные теги, используя ключевое слово $__tags.
Например, когда вы настраиваете запрос requests_total{$__tags} с тегами k8s.pod=pod и cluster, это даёт requests_total{pod="nginx-554b9", cluster="us-east-1"}.
Значения меток динамически вставляются на основе значений атрибутов промежутка.
Вы можете связать любую метрику, которую хотите, но метрики для длительностей промежутков, количеств и ошибок, отфильтрованные по службе или промежутку, — отличная отправная точка.
Чтобы использовать пользовательские запросы с конфигурацией, выполните следующие шаги:
-
Выберите источник данных метрик в раскрывающемся списке Data source.
-
Необязательно: выберите любые теги для использования в запросе. Нажмите Add tag, чтобы добавить сопоставление тегов.
Эти теги можно использовать в пользовательском запросе с переменной
${__tags}. Эта переменная интерполирует сопоставленные теги в виде списка в подходящем для источника данных синтаксисе и включает только те теги, которые присутствовали в промежутке, опуская те, которых не было. При необходимости вы можете настроить новое имя для тега. Это полезно в случаях, когда в имени тега есть точки, а целевой источник данных не допускает использования точек в метках. Например, вы можете переопределитьservice.nameвservice_name. Если вы не сопоставляете здесь никакие теги, вы всё равно можете использовать любой тег в запросе, например так:method="${__span.tags.method}". Полный список доступных переменных см. в разделе Пользовательские переменные запросов. -
Нажмите Add query, чтобы добавить пользовательский запрос.
-
Укажите пользовательский запрос, который будет использоваться для запроса данных метрик.
Каждый связанный запрос состоит из:
- Link Label: (Необязательно) описательная метка для связанного запроса.
- Query: запрос, выполняемый при переходе от трассировки к источнику данных метрик.
Интерполируйте теги, используя ключевое слово
$__tags. Например, когда вы настраиваете запросrequests_total{$__tags}с тегамиk8s.pod=podиcluster, результат выглядит какrequests_total{pod="nginx-554b9", cluster="us-east-1"}.
-
Выберите Save and Test.
Параметры конфигурации
Следующая таблица описывает параметры настройки Trace to metrics:
Провижининг
Вы можете провижинить конфигурацию trace to metrics, используя блок tracesToMetrics в вашем файле YAML источника данных.
Полный пример YAML провижининга, включающий все настройки Tempo, см. в разделе
Провижининг источника данных Tempo.
Связывание от метрик к трассировкам
Чтобы переходить в обратном направлении, от метрики к связанной с ней трассировке, настройте экземпляры (exemplars) в вашем источнике данных Prometheus. Инструкции по настройке см. в разделе Экземпляры (Exemplars).
Устранение неполадок
Если ссылки trace to metrics не появляются или не возвращают данных, см. Проблемы trace to logs/metrics/profiles в руководстве по устранению неполадок.
Если поля конфигурации неактивны, ваш источник данных провижинен. О том, как обновить конфигурацию через YAML, см. раздел Провижининг.
Дальнейшие шаги
- Настройка корреляции trace to logs: переходите от промежутков к связанным журналам в Loki.
- Настройка корреляции trace to profiles: связывайте промежутки с данными профилирования в Grafana Pyroscope.
- Провижининг источника данных Tempo: настройте источник данных Tempo с помощью файла YAML.