Tempo (traces)

Тема дорожной карты · Grafana

Tempo — экономичный бэкенд распределённых трассировок от Grafana Labs, а источник данных Tempo в Grafana обеспечивает нативную поддержку поиска, анализа и корреляции трассировок с метриками и логами. После добавления источника данных Tempo путём указания URL фронтенда запросов Tempo вы можете искать трассировки в разделе Explore по идентификатору трассировки, имени сервиса, длительности спана или тегам с помощью TraceQL — языка запросов Tempo. Источник данных Tempo тесно интегрируется с источниками данных Prometheus и Loki через настройки tracesToMetrics и tracesToLogs, так что один клик по спану в средстве просмотра трассировок Grafana открывает соответствующие строки логов или предварительно отфильтрованный график метрики. Представления Service Graph в источнике данных Tempo генерируют RED-метрики (Rate, Errors, Duration) из данных трассировок и отображают их в виде интерактивного графа узлов внутри Grafana, давая командам топологический обзор взаимодействия сервисов. Tempo разработан для хранения каждой трассировки без семплирования, что делает его практичным выбором в паре с Grafana для анализа первопричин и профилирования производительности в микросервисных архитектурах.

Как это работает

Tempo (traces): настраиваются в Settings → Data Sources или через provisioning YAML. Распространённые: Prometheus (метрики), Loki (логи), Tempo (traces), InfluxDB, PostgreSQL, MySQL, Elasticsearch, CloudWatch, OpenSearch. У каждого type-specific конфиг (URL, auth, дефолтные query-опции). Mixed datasource в одной панели позволяет комбинировать запросы из нескольких источников. Test connection до использования ("Save & Test").

Когда применять

Provisioning YAML — для декларирования data sources; клики в UI в 10 средах error-prone. Prometheus URL через env var — один Helm chart деплоится в dev/staging/prod с разными backend. Mixed datasource — осторожно; усложняет запросы. Всегда проверяйте, что "Default"-datasource совпадает с самым используемым.

Типичные ошибки

Ловушки Tempo (traces): data sources с сохранёнными credentials утекают через URL панелей / shared дашбордов (server-side auth где можно); datasource на localhost из Docker-контейнера (используйте docker-internal hostnames или внешние адреса); слишком много data sources = медленный старт UI.

Связанные понятия

Полезные ресурсы