المهارات distributed-tracing
📦

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.

يدعم: Claude Codex Code(CC)
🥉 75 برونزي
1

تنزيل ZIP المهارة

2

رفع في Claude

اذهب إلى Settings → Capabilities → Skills → Upload skill

3

فعّل وابدأ الاستخدام

اختبرها

استخدام "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.

التدقيق الأمني

آمن
v1 • 2/24/2026

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.

1
الملفات التي تم فحصها
453
الأسطر التي تم تحليلها
0
النتائج
1
إجمالي عمليات التدقيق
لا توجد مشكلات أمنية
تم تدقيقه بواسطة: claude

درجة الجودة

38
الهندسة المعمارية
100
قابلية الصيانة
85
المحتوى
50
المجتمع
100
الأمان
100
الامتثال للمواصفات

ماذا يمكنك بناءه

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.

جرّب هذه الموجهات

Configuration de base de Jaeger
Comment déployer Jaeger en utilisant Docker Compose pour le développement local ?
Instrumentation Python
Montrez-moi comment instrumenter une application Flask avec OpenTelemetry et envoyer les traces à Jaeger.
Propagation du contexte
Comment propager le contexte de trace entre les microservices en utilisant les en-têtes HTTP ?
Échantillonnage en production
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

الأسئلة المتكررة

Quelle est la différence entre Jaeger et Tempo ?
Jaeger est une solution de traçage complète avec son propre stockage. Tempo est le backend de traçage distribué de Grafana qui utilise un stockage objet comme S3 pour une rétention des traces à long terme rentable.
Quelle charge le traçage distribué ajoute-t-il ?
Un traçage correctement configuré ajoute moins de 1% de charge CPU. Utilisez des processeurs de spans par lots et des taux d'échantillonnage appropriés pour minimiser l'impact.
Puis-je utiliser cette compétence avec AWS X-Ray ?
Cette compétence se concentre sur Jaeger et Tempo. Pour AWS X-Ray, vous utiliseriez les SDK AWS X-Ray à la place des exportateurs OpenTelemetry.
Quels langages de programmation sont pris en charge ?
Cette compétence inclut des exemples pour Python, Node.js et Go. OpenTelemetry prend en charge de nombreux autres langages dont Java, .NET et Ruby.
Comment corréler les logs avec les traces ?
Extrayez le trace_id du span actuel et incluez-le dans vos instructions de log. Cela vous permet de filtrer les logs par ID de trace dans votre système de journalisation.
Dois-je modifier chaque service pour que le traçage fonctionne ?
Les traces n'afficheront que les spans des services instrumentés. Cependant, la propagation du contexte permet aux traces de continuer même à travers des services non instrumentés si les en-têtes sont transférés.

تفاصيل المطور

بنية الملفات

📄 SKILL.md