상관된 로그가 트레이스 ID 패널에 표시되지 않아요 (Correlated Logs Are Not Showing Up In The Trace ID Panel)
트레이스 패널에는 트레이스, 호스트, 그리고 상관된 로그에 대한 정보가 담겨 있어요.
출처: 문서
본문
개요 (Overview)
트레이스 패널에는 트레이스, 호스트, 상관된 로그에 대한 정보가 들어 있어요.
트레이스에 나타나는 로그는 네 가지 유형이 있어요:
trace_id: 해당 트레이스 ID를 가진 로그를 표시합니다.host: 트레이스의 시간 범위 내에서 해당 트레이스의 호스트가 보낸 로그를 표시합니다.container_id: 트레이스의 시간 범위 내에서 해당 트레이스의 컨테이너가 보낸 로그를 표시합니다.pod_name: 트레이스의 시간 범위 내에서 해당 트레이스의 파드가 보낸 로그를 표시합니다.
경우에 따라 트레이스 패널의 Logs 섹션이 비어 보일 수 있어요. 이 가이드에서는 이 문제를 해결하는 방법을 안내합니다.
인프라 옵션 (Infrastructure options)
host, container_id, pod_name 옵션에서 Log 섹션이 비어 있다면, Log Explorer로 이동해 다음 조건을 확인하세요:
- 트레이스를 발생시킨 호스트/컨테이너/파드에서 로그가 전송되고 있는지.
- 해당 호스트에 트레이스의 시간 범위 내의 로그가 있는지.
- 로그 타임스탬프가 올바르게 설정되어 있는지. 자세한 내용은 예상 타임스탬프가 표시되지 않는 로그 문서를 참고하세요.
트레이스 ID 옵션 (Trace ID option)
trace_id 옵션에서 Log 섹션이 비어 있다면, 로그에 표준 trace_id 속성이 있는지 확인하세요. 로그에 trace_id가 없다면, 다음을 수행하기 위해 트레이스와 로그를 상관하세요:
-
로그 속성에서 트레이스 ID를 추출합니다.
-
이 속성을 예약된
trace_id속성으로 다시 매핑합니다.{% tab title="JSON 로그" %} JSON 로그의 경우 1단계와 2단계는 자동으로 처리돼요. 트레이서가 로그에 트레이스 및 span ID를 주입하며, 이 값은 예약 속성 리매퍼가 자동으로 다시 매핑해요.
이 과정이 예상대로 동작하지 않으면, 트레이스 ID를 담고 있는 로그 속성의 이름이 dd.trace_id인지 확인하고, 예약 속성의 Trace ID 섹션에 해당 속성이 올바르게 설정되어 있는지 확인하세요.
{% /tab %}
{% tab title="Log 통합 사용" %}
특정 언어용 로그 통합을 사용해 로그를 수집하는 원시 로그의 경우, source 속성을 java, python, ruby 등의 언어로 설정하세요. 통합이 트레이스와 로그를 자동으로 상관시킵니다.
다음 예시는 Java 통합 파이프라인을 보여줘요:
{% /tab %}
{% tab title="사용자 지정" %} 통합을 사용하지 않고 로그를 수집하는 원시 로그의 경우:
-
그런 다음 추출된 속성에 Trace 리매퍼를 정의해 로그의 공식 트레이스 ID로 다시 매핑하세요.
{% /tab %}
ID가 로그에 올바르게 주입되고 다시 매핑되면, 트레이스 패널에서 트레이스와 상관된 로그를 볼 수 있어요.
참고: 트레이스 ID는 로그 사이드 패널에 표시돼요. 로그에 트레이스 ID가 있는데 해당 트레이스가 샘플링에서 제외된 경우, 패널에 트레이스가 없다는 메시지가 표시됩니다. 자세한 내용은 로그에 트레이스 ID가 있는데 관련 트레이스가 없는 경우를 참고하세요.