이번 강의에서는 Loki 로그에서 Tempo로 바로 이동하여 분산 추적 정보를 시각화하는 방법을 설명하겠습니다. 이 기능을 통해 개발자는 로그에서 Trace ID를 찾아 Tempo를 통해 전체 추적 정보를 바로 확인할 수 있습니다.
먼저, Grafana의 Loki 데이터 소스에서 Derived Fields 기능을 설정합니다. 이를 통해 로그에서 Trace ID를 추출하고, Tempo로 연결할 수 있습니다.
trace ID
를 입력합니다.([a-f0-9]{32})
정규 표현식이 제대로 동작하는지 확인하기 위해 Test Regex 기능을 사용합니다.
Trace ID를 추출한 후, 이를 Tempo로 연결하기 위해 내부 링크를 설정합니다.
$.value.raw
를 입력합니다.$_.value.raw
Grafana UI에서 설정한 Derived Fields 설정을 datasource.yml 파일에 추가하여 자동화할 수 있습니다. 이렇게 하면 Grafana가 시작될 때 자동으로 이 설정이 적용됩니다.
derivedFields:
- datasourceUid: tempo
matcherRegex: "([a-f0-9]{32})"
name: trace ID
internalLink:
url: "/explore?left=%7B\"datasource\":\"tempo\",\"queries\":[{\"query\":\"trace_id%3D$.__value.raw\"}]%7D"
이제 Grafana에서 로그를 조회할 때, 각 로그 메시지 옆에 Trace ID 링크가 나타납니다.
이제 개발자는 로그에서 직접 Trace ID를 선택하여 Tempo에서 추적 정보를 쉽게 확인할 수 있습니다. 이를 통해 분산 추적 분석이 훨씬 간편해지며, 마이크로서비스 간의 요청 흐름을 빠르게 파악할 수 있습니다. Grafana의 Derived Fields와 Tempo 통합을 통해 전체적인 모니터링 환경이 더욱 효율적이고 직관적으로 개선되었습니다.
감사합니다, 다음 강의에서 뵙겠습니다.