Навыки distributed-tracing
📦

distributed-tracing

Безопасно ⚡ Содержит скрипты🌐 Доступ к сети⚙️ Внешние команды

Внедрение распределённой трассировки с Jaeger и Tempo

Отладка микросервисов затруднена без видимости потоков запросов между сервисами. Этот навык помогает внедрить распределённую трассировку с Jaeger и Tempo для отслеживания запросов, выявления узких мест и понимания зависимостей сервисов.

Поддерживает: Claude Codex Code(CC)
📊 70 Адекватно
1

Скачать ZIP навыка

2

Загрузить в Claude

Перейдите в Settings → Capabilities → Skills → Upload skill

3

Включите и начните использовать

Протестировать

Использование «distributed-tracing». Help me deploy Jaeger on Kubernetes

Ожидаемый результат:

Я помогу развернуть Jaeger на Kubernetes с использованием Jaeger Operator. Сначала я создам пространство имён observability и разверну operator. Затем я настрою production-экземпляр Jaeger с хранилищем Elasticsearch и включу ingress для UI.

Использование «distributed-tracing». Add tracing to my Flask application

Ожидаемый результат:

Я инструментирую ваше Flask-приложение с помощью OpenTelemetry. Я установлю необходимые пакеты, инициализирую провайдер трассировки с экспортёром Jaeger и добавлю автоматическое инструментирование Flask. Я также покажу, как создавать пользовательские spans для запросов к базе данных.

Использование «distributed-tracing». Configure sampling to trace only errors

Ожидаемый результат:

Я настрою пользовательский сэмплер, который трассирует все запросы с ошибками, сэмплируя только 1 процент успешных запросов. Этот подход захватывает все сбои для отладки, минимизируя накладные расходы от нормальных операций.

Аудит безопасности

Безопасно
v5 • 1/21/2026

Static analyzer detected 65 potential security patterns including C2 keywords, weak crypto, and external commands. Manual review confirms all findings are false positives - patterns appear in legitimate documentation and code examples for distributed tracing infrastructure deployment. No security risks identified.

2
Просканировано файлов
1,155
Проанализировано строк
3
находки
5
Всего аудитов

Оценка качества

38
Архитектура
100
Сопровождаемость
87
Контент
21
Сообщество
100
Безопасность
91
Соответствие спецификации

Что вы можете построить

Отладка проблем с задержкой в микросервисах

Разверните трассировку Jaeger и инструментируйте ваши Flask-сервисы на Python, чтобы определить, какие вызовы downstream вызывают медленные ответы API.

Отображение зависимостей сервисов

Настройте распределённую трассировку между вашими микросервисами на Node.js для визуализации графов зависимостей сервисов и понимания паттернов потоков запросов.

Внедрение observability в продакшене

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

Попробуйте эти промпты

Настройка Jaeger на Kubernetes
Помогите развернуть Jaeger в моём Kubernetes-кластере с хранилищем Elasticsearch
Инструментирование Flask-приложения
Добавьте OpenTelemetry-инструментирование в мой Flask API для отправки трассировок в Jaeger
Настройка распространения контекста
Покажите, как распространять контекст трассировки, когда мой Node.js-сервис вызывает downstream API
Оптимизация накладных расходов трассировки
Помогите настроить адаптивное сэмплирование для моих Go-сервисов в продакшене, чтобы снизить накладные расходы трассировки при захвате ошибок

Лучшие практики

  • Используйте частоту сэмплирования от 1 до 10 процентов в продакшене для минимизации накладных расходов на производительность
  • Добавляйте значимые теги, такие как ID пользователя и ID запроса, к spans для упрощения фильтрации и анализа
  • Распространяйте контекст трассировки через все границы сервисов, включая очереди сообщений и асинхронные задания

Избегать

  • Трассировка 100 процентов трафика продакшена без сэмплирования приводит к высоким затратам на хранилище и влиянию на производительность
  • Создание слишком большого количества spans для мелкозернистых операций добавляет накладные расходы без полезных insights
  • Хранение конфиденциальных данных, таких как пароли или API-ключи, в тегах spans нарушает лучшие практики безопасности

Часто задаваемые вопросы

В чём разница между Jaeger и Tempo?
Jaeger — это полноценная система распределённой трассировки со своим UI и возможностями запросов. Tempo — это backend трассировки, предназначенный для интеграции с Grafana для визуализации. Tempo использует объектное хранилище, такое как S3, для экономически эффективного хранения трассировок в масштабе.
Какие накладные расходы добавляет распределённая трассировка?
При правильном сэмплировании распределённая трассировка обычно добавляет менее 1 процента нагрузки на CPU. Основные затраты — это сетевая пропускная способность для отправки spans и хранилище для данных трассировки. Используйте частоту сэмплирования от 1 до 10 процентов в продакшене.
Могу ли я трассировать запросы между разными языками программирования?
Да. OpenTelemetry предоставляет библиотеки инструментирования для всех основных языков и использует стандартные форматы распространения. Пока все сервисы распространяют заголовки контекста трассировки, трассировки работают между Python, Node.js, Go, Java и другими языками.
Как коррелировать трассировки с логами?
Извлеките trace ID из текущего контекста span и добавьте его в ваши записи логов как структурированное поле. Это позволит вам переходить от трассировки к связанным логам и наоборот для полной видимости запроса.
Какую стратегию сэмплирования использовать?
Начните с вероятностного сэмплирования на 1 процент для высоконагруженных сервисов. Используйте более высокие частоты для низконагруженных сервисов. Рассмотрите адаптивное сэмплирование, которое всегда трассирует ошибки, сэмплируя успешные запросы с меньшей частотой.
Как долго хранить данные трассировки?
Большинство команд хранят трассировки от 7 до 30 дней. Трассировки полезны для недавней отладки, но со временем становятся менее ценными. Настройте хранение в соответствии с вашим бюджетом хранилища и требованиями соответствия.

Сведения для разработчиков

Структура файлов

📄 SKILL.md