distributed-tracing
Внедрение распределённой трассировки с Jaeger и Tempo
Отладка микросервисов затруднена без видимости потоков запросов между сервисами. Этот навык помогает внедрить распределённую трассировку с Jaeger и Tempo для отслеживания запросов, выявления узких мест и понимания зависимостей сервисов.
Скачать ZIP навыка
Загрузить в Claude
Перейдите в Settings → Capabilities → Skills → Upload skill
Включите и начните использовать
Протестировать
Использование «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 процент успешных запросов. Этот подход захватывает все сбои для отладки, минимизируя накладные расходы от нормальных операций.
Аудит безопасности
Безопасно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.
Факторы риска
⚡ Содержит скрипты (3)
🌐 Доступ к сети (10)
⚙️ Внешние команды (40)
Оценка качества
Что вы можете построить
Отладка проблем с задержкой в микросервисах
Разверните трассировку Jaeger и инструментируйте ваши Flask-сервисы на Python, чтобы определить, какие вызовы downstream вызывают медленные ответы API.
Отображение зависимостей сервисов
Настройте распределённую трассировку между вашими микросервисами на Node.js для визуализации графов зависимостей сервисов и понимания паттернов потоков запросов.
Внедрение observability в продакшене
Настройте Tempo с Grafana и реализуйте стратегии сэмплирования для трассировки в продакшене без потери производительности.
Попробуйте эти промпты
Помогите развернуть Jaeger в моём Kubernetes-кластере с хранилищем Elasticsearch
Добавьте OpenTelemetry-инструментирование в мой Flask API для отправки трассировок в Jaeger
Покажите, как распространять контекст трассировки, когда мой Node.js-сервис вызывает downstream API
Помогите настроить адаптивное сэмплирование для моих Go-сервисов в продакшене, чтобы снизить накладные расходы трассировки при захвате ошибок
Лучшие практики
- Используйте частоту сэмплирования от 1 до 10 процентов в продакшене для минимизации накладных расходов на производительность
- Добавляйте значимые теги, такие как ID пользователя и ID запроса, к spans для упрощения фильтрации и анализа
- Распространяйте контекст трассировки через все границы сервисов, включая очереди сообщений и асинхронные задания
Избегать
- Трассировка 100 процентов трафика продакшена без сэмплирования приводит к высоким затратам на хранилище и влиянию на производительность
- Создание слишком большого количества spans для мелкозернистых операций добавляет накладные расходы без полезных insights
- Хранение конфиденциальных данных, таких как пароли или API-ключи, в тегах spans нарушает лучшие практики безопасности
Часто задаваемые вопросы
В чём разница между Jaeger и Tempo?
Какие накладные расходы добавляет распределённая трассировка?
Могу ли я трассировать запросы между разными языками программирования?
Как коррелировать трассировки с логами?
Какую стратегию сэмплирования использовать?
Как долго хранить данные трассировки?
Сведения для разработчиков
Автор
wshobsonЛицензия
MIT
Репозиторий
https://github.com/wshobson/agents/tree/main/plugins/observability-monitoring/skills/distributed-tracingСсылка
main
Структура файлов
📄 SKILL.md