요청이 여러 서비스에 걸쳐 있을 때 마이크로서비스 디버깅은 복잡합니다. 이 스킬은 Jaeger와 Tempo로 분산 추적을 구현하여 요청 흐름에 대한 완전한 가시성을 확보하기 위한 코드 예제와 구성 패턴을 제공합니다.
تنزيل ZIP المهارة
رفع في Claude
اذهب إلى Settings → Capabilities → Skills → Upload skill
فعّل وابدأ الاستخدام
اختبرها
استخدام "distributed-tracing". Docker Compose로 Jaeger를 설정하려면 어떻게 하나요?
النتيجة المتوقعة:
다음은 Jaeger를 위한 기본 Docker Compose 구성입니다:
```yaml
version: '3.8'
services:
jaeger:
image: jaegertracing/all-in-one:latest
ports:
- "16686:16686" # UI
- "14268:14268" # Collector
```
이 구성은 포트 16686의 UI와 포트 14268의 수집기가 있는 all-in-one Jaeger 이미지를 시작합니다. UI는 http://localhost:16686에서 액세스할 수 있습니다.
استخدام "distributed-tracing". Python Flask 요청을 추적하려면 어떻게 하나요?
النتيجة المتوقعة:
OpenTelemetry를 사용하여 Flask 애플리케이션을 계측하세요. 먼저 패키지를 설치하세요: pip install opentelemetry-api opentelemetry-sdk opentelemetry-exporter-jaeger opentelemetry-instrumentation-flask
그런 다음 초기화 코드를 추가하여 추적 공급자를 만들고 Flask를 계측하세요. 스팬이 자동으로 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.
درجة الجودة
ماذا يمكنك بناءه
프로덕션 문제 디버깅
추적 ID를 사용하여 서비스 간 요청을 추적하�� 프로덕션에서 지연 시간이나 오류를 일으키는 마이크로서비스를 식별하세요.
관찰 가능성 구현
기존 서비스에 OpenTelemetry 계측을 추가하고 중앙화된 추적 수집을 위해 Jaeger를 배포하세요.
종속성 이해
서비스 종속성을 시각화하고 시스템 아키텍처를 통한 요청 흐름을 이해하세요.
جرّب هذه الموجهات
로컬 개발을 위해 Docker Compose로 Jaeger를 배포하려면 어떻게 하나요?
Flask 애플리케이션에 OpenTelemetry로 계측하여 추적을 Jaeger로 보내는 방법을 보여주세요.
HTTP 헤더를 사용하여 마이크로서비스 간에 추적 컨텍스트를 전파하려면 어떻게 하나요?
가시성을 유지하면서 추적 오버헤드를 줄이기 위해 프로덕션에서 어떤 샘플링 전략을 사용해야 하나요?
أفضل الممارسات
- 헤드 기반 샘플링을 1-10%로 시작한 후 트래픽 양에 따라 조정하세요
- 필터링을 위해 user_id 및 request_id와 같은 의미 있는 스팬 속성을 추가하세요
- 서비스 간의 모든 HTTP 헤더에 추적 컨텍스트를 전파하세요
تجنب
- 과도한 오버헤드를 유발하므로 프로덕션에서 추적의 100%를 샘플링하지 마세요
- 모든 함수 호출에 대한 스팬을 생성하지 말고 외부 호출 및 데이터베이스 작업에 집중하세요
- 수집기 엔드포인트를 하드코딩하지 말고 환경 변수를 사용하여 구성하세요