APM 분산 추적 활성화¶
APM(애플리케이션 성능 모니터링) 분산 추적(Tracing)은 분산 시스템에서 요청의 전체 호출 경로를 추적하는 데 사용됩니다.
다음과 같은 작업에 도움이 됩니다:
-
성능 병목 분석: 호출 체인의 각 단계(서비스, 구성 요소)에서 소요 시간을 분석합니다.
-
오류 및 예외 진단: 체인에서 발생한 오류와 그 근본 원인을 신속하게 찾습니다.
-
서비스 종속성 이해: 서비스 간 호출 관계를 시각화하여 표시합니다.
-
모니터링 데이터 연결: 로그, 메트릭 등의 데이터와 연계하여 분석하고 전반적인 문제를 진단합니다.
연동 방식¶
Guance APM은 OpenTracing 프로토콜을 지원합니다. 다음 중 원하는 방식을 선택하여 연동할 수 있습니다.
방식 1: DataKit 수집을 통한 방식(권장)¶
DataKit은 Guance의 올인원 데이터 수집기로, 다양한 APM 프로토콜을 지원합니다.
-
- 애플리케이션에서 사용하는 프로토콜(예: DDTrace, Jaeger, OpenTelemetry, SkyWalking, Zipkin)에 따라 해당 DataKit 수집기를 활성화하고 구성합니다.
-
DataKit 시작/재시작: DataKit이 자동으로 트레이스 데이터를 수집하여 Guance로 전송합니다.
방식 2: SDK 직접 통합¶
애플리케이션에 Guance가 제공하는 APM SDK를 직접 통합할 수 있으며, Java, Python, Go, Node.js, .NET 등을 지원합니다.
각 언어별 SDK 통합 방법은 APM SDK를 참조하세요.
트레이스 데이터 조회 및 분석¶
연동이 완료되면 다음 기능을 통해 APM 트레이스 데이터를 조회하고 분석할 수 있습니다.
| 기능 | 사용 사례 |
|---|---|
| 분산 추적 | 전체 호출 경로를 조회하고, 지연 시간을 분석(플레임 그래프)하며, 오류 노드를 찾습니다. |
| 오류 추적 | 오류를 집계 및 분류하고, 오류 체인을 추적하며, 오류 스택을 분석합니다. |
| 서비스 분석 | 서비스의 주요 메트릭(처리량/지연 시간/오류율)을 모니터링하고 드릴다운하여 문제를 분석합니다. |
| 대시보드 | 성능 메트릭(예: P90/P99 지연 시간, 오류율, 호출량)을 사용자 지정하여 시각화합니다. |
| 로그 연계 | 트레이스/오류와 관련된 컨텍스트 로그를 한 번에 연계하여 근본 원인을 심층 분석합니다. |
위 기능을 통해 애플리케이션 성능을全面的으로 파악하고 문제를 신속하게 찾을 수 있습니다.