Traces Drilldown 시작하기
Traces Drilldown 시작하기 (Get started with Traces Drilldown)
트레이스를 사용하면 앱과 서비스의 오류를 식별한 다음 최적화하고 간소화할 수 있어요. 트레이스 작업 시 큰 그림부터 시작해요. 기본 신호, RED 메트릭, 필터, 구조 또는 트레이스 목록 탭을 사용해 조사하고 데이터를 탐색해요.
출처: 문서
본문
트레이스를 사용해 앱과 서비스의 오류를 식별한 다음 최적화·간소화할 수 있어요.
트레이스 작업 시 큰 그림부터 시작해요. 기본 신호, RED 메트릭, 필터, 구조 또는 트레이스 목록 탭으로 조사하며 데이터를 탐색해요. 자세한 내용은 Concepts를 참고해요.
Note
관찰 가능성 여정을 확장하고 Drilldown apps 스위트에 대해 배워보세요.
시작하기 전에 (Before you begin)
Grafana Cloud에서 Grafana Traces Drilldown을 사용하려면:
- Grafana Cloud 계정
- 구성된 Tempo 데이터 소스가 있는 Grafana Cloud의 Grafana 스택
자체 관리형 Grafana에서 Traces Drilldown을 사용하려면:
- 구성된 Tempo 데이터 소스가 있는 자신의 Grafana v11.6 이상 인스턴스
- 설치된 Traces Drilldown 플러그인
자세한 내용은 Access Traces Drilldown을 참고해요.
트레이싱 데이터 탐색 (Explore your tracing data)
대부분의 조사는 다음 단계를 거쳐요:
- 기본 신호를 선택해요.
- 사용할 메트릭을 선택해요: rates, errors, duration.
- 데이터 보기를 다듬을 필터를 정의해요.
- 구조 또는 트레이스 목록을 사용해 문제로 파고들어요.
Grafana Play에서 실용적인 예시를 배우며 탐색하고 작동 방식을 확인할 수 있어요. 이 기능은 Grafana Play 사이트에서 볼 수 있어요.
단계별 안내를 선호하나요? play.grafana.org에서 따라 해 볼 조사 워크스루 (Investigation walkthrough)를 참고해요.
예시: 오류 출처 조사 (Example: Investigate source of errors)
이 예시는 오류를 조사할 때 사용할 수 있는 조사 기법과 패턴을 보여줘요. Comparison 탭과 Inspect 같은 고급 기능을 사용해 근본 원인을 찾는 방법을 보여줘요.
직접 따라 해 볼 수 있는 실습 워크스루는 조사 워크스루 (Investigation walkthrough)를 참고해요.
예를 들어 스팬에서 오류의 출처를 밝히고 싶다고 해요. 문제 트레이스를 찾기 위해 트레이스의 오류를 비교해야 해요. 작동 방식은 이렇습니다.
데이터 수준과 메트릭 선택 (Choose the level of data and a metric)
문제 지점을 식별하려면 모든 트레이스의 첫 번째 스팬인 루트 스팬만이 아니라 원시 트레이싱 데이터를 사용하고 싶을 거예요. Filters에서 All spans를 선택한 다음 Errors 메트릭을 선택해요. (All spans를 선택해 모든 원시 스팬 데이터를, Errors를 메트릭으로 봅니다)
오류 처리 (Handle errors)
트레이스에서 오류가 보인다면 피해야 할 세 가지 일반적인 오해가 있어요.
첫째, 모든 빨간 스팬이 애플리케이션 실패는 아니에요. 'error'로 표시된 스팬은 타임아웃이나 예상된 검증 실패를 나타낼 수 있어요. 무엇이 깨졌다고 가정하기 전에 오류 메시지와 유형을 확인하세요.
둘째, 오류는 계단식으로 전파돼요. 하나의 서비스가 실패하면 다운스트림 스팬이 그 오류 상태를 상속해요. 실제 출처를 찾으려면 체인의 마지막 서비스뿐 아니라 오류가 있는 루트 스팬을 찾아보세요.
마지막으로, 오류 수는 오류 비율과 같지 않다는 것을 기억하세요. 10개의 오류는 우려스러워 보일 수 있지만, 만 개의 요청을 처리했다면 그것은 0.1%에 불과해요. 항상 컨텍스트를 고려하세요.
스팬 속성과 오류 세부 정보를 확인해요. 실제로 무슨 일이 있었는지 알려줄 거예요.
속성 상관관계 (Correlate attributes)
Comparison 탭을 사용해 속성 값과 오류의 상관관계를 파악해요. 결과는 해당 속성의 차이별로 내림차순으로 정렬돼요. 이는 오류를 일으키는 원인이 무엇인지 즉시 볼 수 있게 도와줘요. Comparison 탭은 두 트레이스 집합의 차이를 분석해요:
- 파란 막대 (Baseline): 정상적인/건강한 트레이스 동작
- 빨간 막대 (Selection): status = error 필터가 있는 현재 선택
이 보기는 선택(빨간)을 기준선(파란)과 비교하고 속성을 가장 큰 차이별로 순위를 매겨요. 이는 선택한 시간 범위 동안 HTTP 500(Internal Server Error) 응답의 상당한 스파이크를 나타내요. 시각화는 다음을 강조해요:
- 이 시스템에서 500 오류는 정상이 아니며 기준선 비교에 나타나지 않음
- 오류 기간 동안 HTTP 500 상태 코드를 포함하는 트레이스가 500개 있었음
- 이것은 정상 동작과 100% 편차를 나타냄
Include를 선택해 이러한 값으로 조사를 좁히거나, Inspect를 선택해 전체 분포를 탐색해요. (오류는 큰 빨간 막대로 즉시 보입니다) 막대 위에 마우스를 올리면 값과 전체 대비 백분율 정보가 있는 툴팁이 표시돼요.
문제 검사 (Inspect the problem)
카드에서 Inspect를 선택해 해당 속성의 분포를 파고들어요. 이 예시에서 span.http.status_code에서 Inspect를 선택하면 값별 분포가 표시돼요. 이 보기로 다음을 보여준답니다:
- 정상 상태: 모든 요청이 성공적으로 완료됨 (
200/201) - 오류 상태: 상당한 부분이
500오류 반환 - 근본 원인: 선택한 시간 프레임 동안 내부 서버 오류를 일으킨 무언가
500 카드에서 Include를 선택해 오류 스팬만 유지하고 조사를 계속해요. (HTTP 500 오류를 검사합니다)
근본 원인 오류 사용 (Use Root cause errors)
오류가 있는 모든 트레이스의 집계 보기를 위해 Root cause errors를 선택해요. 이 화면은 분산 시스템에서 HTTP 500 오류가 어디서, 어떻게 발생했는지에 대한 중요한 인사이트를 제공해요.
이 보기를 사용해 Frontend > Recommendations 서비스에 문제가 있음을 확인할 수 있어요. 구체적으로 /api/pizza 엔드포인트 체인이 실패하고 있어요.
추가 세부 정보를 보려면 링크 아이콘을 클릭하고 View linked span을 선택해 트레이스 서랍을 열어요. 오류 스팬 옆에는 빨간 아이콘이 있어요. 오류가 있는 스팬 옆의 아래쪽 화살표를 선택해 세부 정보를 봐요.
배운 것 (What you learned)
이 예시는 다음을 시연했어요:
- All spans를 사용해 호출 체인 더 깊은 곳의 오류 찾기
- 일반적인 오류 조사 오해 이해
- Comparison 탭을 사용해 속성과 오류의 상관관계 파악
- Inspect를 사용해 속성 분포로 파고들기
- Root cause errors를 사용해 오류 체인 구조 보기
함께 따라 할 수 있는 단계별 워크스루는 조사 워크스루 (Investigation walkthrough)를 참고해요.