distributed-tracing
Implémenter le traçage distribué avec Jaeger et Tempo
متاح أيضًا من: wshobson
Le débogage des microservices est complexe lorsque les requêtes s'étendent sur plusieurs services. Cette compétence fournit des exemples de code et des modèles de configuration pour implémenter le traçage distribué avec Jaeger et Tempo afin d'obtenir une visibilité complète sur les flux de requêtes.
تنزيل ZIP المهارة
رفع في Claude
اذهب إلى Settings → Capabilities → Skills → Upload skill
فعّل وابدأ الاستخدام
اختبرها
استخدام "distributed-tracing". Comment configurer Jaeger avec Docker Compose ?
النتيجة المتوقعة:
Voici une configuration Docker Compose de base pour Jaeger :
```yaml
version: '3.8'
services:
jaeger:
image: jaegertracing/all-in-one:latest
ports:
- "16686:16686" # UI
- "14268:14268" # Collector
```
Cela démarre l'image tout-en-un Jaeger avec l'interface sur le port 16686 et le collecteur sur le port 14268. Accédez à l'interface à http://localhost:16686.
استخدام "distributed-tracing". Comment tracer une requête Flask Python ?
النتيجة المتوقعة:
Utilisez OpenTelemetry pour instrumenter votre application Flask. Installez d'abord les packages : pip install opentelemetry-api opentelemetry-sdk opentelemetry-exporter-jaeger opentelemetry-instrumentation-flask
Ensuite, ajoutez le code d'initialisation pour créer un tracer provider et instrumenter Flask. Les spans seront automatiquement envoyées à votre collecteur Jaeger.
التدقيق الأمني
آمنAll 54 static findings are false positives. The static scanner misinterprets markdown documentation code blocks as executable code, YAML frontmatter as crypto algorithms, and standard OpenTelemetry API calls as reconnaissance. This skill is legitimate DevOps documentation for distributed tracing with Jaeger and Tempo. No actual security risks identified.
درجة الجودة
ماذا يمكنك بناءه
SRE déboguant des problèmes de production
Utilisez les IDs de trace pour suivre les requêtes à travers les services et identifier quel microservice provoque de la latence ou des erreurs en production.
DevOps implémentant l'observabilité
Ajoutez l'instrumentation OpenTelemetry aux services existants et déployez Jaeger pour la collecte centralisée des traces.
Développeur comprenant les dépendances
Visualisez les dépendances de service et comprenez le flux de requêtes à travers l'architecture du système.
جرّب هذه الموجهات
Comment déployer Jaeger en utilisant Docker Compose pour le développement local ?
Montrez-moi comment instrumenter une application Flask avec OpenTelemetry et envoyer les traces à Jaeger.
Comment propager le contexte de trace entre les microservices en utilisant les en-têtes HTTP ?
Quelle stratégie d'échantillonnage devrais-je utiliser en production pour réduire la charge du traçage tout en maintenant la visibilité ?
أفضل الممارسات
- Commencez avec un échantillonnage basé sur l'en-tête à 1-10% puis ajustez en fonction du volume de trafic
- Ajoutez des attributs de span significatifs comme user_id et request_id pour le filtrage
- Propagez le contexte de trace dans tous les en-têtes HTTP entre les services
تجنب
- N'échantillonnez pas 100% des traces en production car cela crée une charge excessive
- Évitez de créer des spans pour chaque appel de fonction ; concentrez-vous sur les appels externes et les opérations de base de données
- Ne codez pas en dur les endpoints du collecteur ; utilisez des variables d'environnement pour la configuration