스킬 distributed-tracing
📦

distributed-tracing

안전 ⚡ 스크립트 포함🌐 네트워크 접근⚙️ 외부 명령어

Jaeger와 Tempo를 활용한 분산 추적 구현

서비스 간 요청 흐름에 대한 가시성 없이 마이크로서비스를 디버깅하기는 어렵습니다. 이 스킬은 Jaeger와 Tempo를 사용하여 분산 추적을 구현하고, 요청을 추적하며, 병목 지점을 식별하고, 서비스 종속성을 파악하는 데 도움을 줍니다.

지원: Claude Codex Code(CC)
📊 70 적절함
1

스킬 ZIP 다운로드

2

Claude에서 업로드

설정 → 기능 → 스킬 → 스킬 업로드로 이동

3

토글을 켜고 사용 시작

테스트해 보기

"distributed-tracing" 사용 중입니다. Kubernetes에 Jaeger를 배포하도록 도와주세요

예상 결과:

Jaeger Operator를 사용하여 Kubernetes에 Jaeger를 배포하도록 도와드리겠습니다. 먼저 관찰 가능성 네임스페이스를 생성하고 오퍼레이터를 배포하겠습니다. 그런 다음 Elasticsearch 스토리지를 사용하는 프로덕션 Jaeger 인스턴스를 구성하고 UI를 위한 인그레스를 활성화하겠습니다.

"distributed-tracing" 사용 중입니다. Flask 애플리케이션에 추적 추가

예상 결과:

OpenTelemetry로 Flask 애플리케이션을 계측하겠습니다. 필요한 패키지를 설치하고, Jaeger 익스포터로 트레이서 프로바이더를 초기화하며, Flask 자동 계측을 추가하겠습니다. 또한 데이터베이스 쿼리를 위한 커스텀 스팬을 생성하는 방법도 보여드리겠습니다.

"distributed-tracing" 사용 중입니다. 오류만 추적하도록 샘플링 구성

예상 결과:

오류가 있는 모든 요청을 추적하면서 성공한 요청은 1퍼센트만 샘플링하는 커스텀 샘플러를 설정하겠습니다. 이 접근 방식은 디버깅을 위한 모든 실패를 캡처하면서 정상 작업의 오버헤드를 최소화합니다.

품질 점수

38
아키텍처
100
유지보수성
87
콘텐츠
21
커뮤니티
100
보안
91
사양 준수

만들 수 있는 것

마이크로서비스 지연 문제 디버깅

Jaeger 추적을 배포하고 Python Flask 서비스를 계측하여 느린 API 응답을 유발하는 다운스트림 호출을 식별합니다.

서비스 종속성 매핑

Node.js 마이크로서비스 전반에 분산 추적을 설정하여 서비스 종속성 그래프를 시각화하고 요청 흐름 패턴을 파악합니다.

프로덕션 관찰 가능성 구현

Grafana와 함께 Tempo를 구성하고 샘플링 전략을 구현하여 성능 오버헤드 없이 프로덕션에서 추적을 추적합니다.

이 프롬프트를 사용해 보세요

Kubernetes에 Jaeger 설정
Elasticsearch 스토리지를 사용하여 Kubernetes 클러스터에 Jaeger를 배포하도록 도와주세요
Flask 애플리케이션 계측
Flask API에 OpenTelemetry 계측을 추가하여 Jaeger로 추적 데이터를 전송하도록 해주세요
컨텍스트 전파 구성
Node.js 서비스가 다운스트림 API를 호출할 때 추적 컨텍스트를 전파하는 방법을 보여주세요
추적 오버헤드 최적화
프로덕션 Go 서비스에서 적응형 샘플링을 구성하여 오류를 캡처하면서 추적 오버헤드를 줄이도록 도와주세요

모범 사례

  • 성능 오버헤드를 최소화하기 위해 프로덕션에서 1~10퍼센트 사이의 샘플링 비율 사용
  • 쉬운 필터링 및 분석을 위해 사용자 ID 및 요청 ID와 같은 의미 있는 태그를 스팬에 추가
  • 메시지 큐 및 비동기 작업을 포함한 모든 서비스 경계에서 추적 컨텍스트 전파

피하기

  • 샘플링 없이 프로덕션 트래픽의 100퍼센트를 추적하면 높은 스토리지 비용과 성능 영향 발생
  • 세분화된 작업에 대해 너무 많은 스팬을 생성하면 유용한 인사이트 없이 오버헤드만 추가됨
  • 비밀번호나 API 키와 같은 민감한 데이터를 스팬 태그에 저장하는 것은 보안 모범 사례 위반

자주 묻는 질문

Jaeger와 Tempo의 차이점은 무엇인가요?
Jaeger는 자체 UI 및 쿼리 기능을 갖춘 완전한 분산 추적 시스템입니다. Tempo는 시각화를 위해 Grafana와 통합되도록 설계된 추적 백엔드입니다. Tempo는 대규모로 비용 효율적인 추적 스토리지를 위해 S3와 같은 객체 스토리지를 사용합니다.
분산 추적은 얼마나 많은 오버헤드를 추가하나요?
적절한 샘플링을 사용하면 분산 추적은 일반적으로 1퍼센트 미만의 CPU 오버헤드를 추가합니다. 주요 비용은 스팬을 전송하기 위한 네트워크 대역폭과 추적 데이터를 위한 스토리지입니다. 프로덕션에서는 1~10퍼센트의 샘플링 비율을 사용하세요.
서로 다른 프로그래밍 언어 간에 요청을 추적할 수 있나요?
예. OpenTelemetry는 모든 주요 언어에 대한 계측 라이브러리를 제공하며 표준 전파 형식을 사용합니다. 모든 서비스가 추적 컨텍스트 헤더를 전파하는 한, Python, Node.js, Go, Java 및 기타 언어 간에 추적이 작동합니다.
추적을 로그와 어떻게 연관시키나요?
현재 스팬 컨텍스트에서 추적 ID를 추출하고 구조화된 필드로 로그 항목에 추가하세요. 이를 통해 추적에서 관련 로그로 이동하거나 그 반대로 이동하여 완전한 요청 가시성을 확보할 수 있습니다.
어떤 샘플링 전략을 사용해야 하나요?
트래픽이 많은 서비스의 경우 1퍼센트의 확률적 샘플링으로 시작하세요. 트래픽이 적은 서비스의 경우 더 높은 비율을 사용하세요. 오류는 항상 추적하면서 성공한 요청은 더 낮은 비율로 샘플링하는 적응형 샘플링을 고려하세요.
추적 데이터를 얼마나 오래 보관해야 하나요?
대부분의 팀은 추적 데이터를 7~30일 동안 보관합니다. 추적은 최근 디버깅에 유용하지만 시간이 지남에 따라 가치가 떨어집니다. 스토리지 예산과 규정 준수 요구 사항에 따라 보관 기간을 구성하세요.

개발자 세부 정보

파일 구조

📄 SKILL.md