이 문서에서는 trace를 Cloud Logging 로그 항목과 연결하는 방법을 설명합니다. LogEntry
구조(spanId
, trace
, traceSampled
)의 trace 필드를 사용하면 로그와 trace의 상관관계를 확인하여 분산 문제를 해결할 수 있습니다.
로그 항목을 trace 또는 스팬과 수동으로 연결
Cloud Logging API를 사용하여 로그 데이터를 쓰거나 구조화된 로그 데이터를 작성하는 경우 로그 항목을 trace 또는 스팬과 연결할 수 있습니다. 로그 항목은 trace가 샘플링되었는지 여부도 기록할 수 있습니다. 운영 에이전트가 구조화된 로그 데이터를 LogEntry
의 필드로 변환하는 방법에 관한 자세한 내용은 구조화된 페이로드의 특수 필드를 참고하세요.
LogEntry
객체에서 trace
필드를 설정하여 로그와 trace를 연결하려면,
trace
필드는 다음 형식의 문자열로 설정되어야 합니다.
projects/PROJECT_ID/traces/TRACE_ID
여기서 PROJECT_ID
는 Google Cloud 프로젝트 ID이고 TRACE_ID
는 trace 식별자입니다.
Cloud Logging API를 사용할 때 로그 항목을 스팬과 연결하려면 LogEntry
객체의 spanId
필드를 스팬 ID의 16자 16진수 인코딩으로 설정하세요.
예를 들어 로그 항목을 ID가 74
인 스팬과 연결하려면 스팬 ID를 000000000000004a
로 설정합니다.
trace 샘플링을 사용하고 있고 로그 항목이 기록될 때 trace가 스토리지에 대해 샘플링되었음을 나타내려면 LogEntry
객체에서 traceSampled
필드를 설정합니다. trace 샘플링을 사용하는 경우 trace 자체가 캡처되지 않을 때 로그 항목이 생성될 수 있습니다.
로그 항목을 trace 또는 스팬과 자동으로 연결
Cloud Logging 클라이언트 라이브러리를 사용하는 경우 로그 항목의 trace 필드가 자동으로 설정될 수 있습니다. 수동으로 설정된 값은 자동으로 설정된 값보다 우선 적용됩니다.
예를 들어 OpenTelemetry를 사용 중이고 활성 OpenTelemetry 스팬에서 로깅하는 경우 로그 항목의 trace 필드가 OpenTelemetry 컨텍스트에서 채워집니다.
또는 HTTP 요청이 있는 경우 W3C traceparent
필드 또는 HTTP 요청의 X-Cloud-Trace-Context
값을 통해서 trace 필드를 설정할 수 있습니다.
로그 항목의 trace 필드 자동 채우기에 관한 자세한 내용은 다음 언어별 클라이언트 라이브러리 문서를 참고하세요.
로그 보기
trace의 로그 항목은 폭포식 구조 그래프와 함께 표시하거나 로그 탐색기에서 볼 수 있습니다. 로그 탐색기를 사용하면 자동으로 로그 항목이 trace의 타임스탬프 범위로 제한됩니다. 표시할 로그 항목이 없으면 로그 뷰어에 No entries found matching current filter
메시지가 표시됩니다.
trace 세부정보 창에서 trace의 로그 항목을 보려면 다음 중 하나를 수행합니다.
폭포식 그래프와 함께 trace 로그 항목을 표시하려면 폭포식 그래프로 이동하여 로그 표시를 클릭합니다. 표시 가능한 로그 항목이 없으면 로그 표시가 표시되지 않습니다.
로그 탐색기에서 로그 항목을 보려면 세부정보 섹션에서 로그 라벨 옆의 보기를 클릭합니다. Cloud Load Balancing trace가 있으면 VM 로그 라벨 옆의 보기를 클릭합니다.
Cloud Logging에서 로그 항목 보기에 대한 자세한 내용은 로그 탐색기 사용을 참조하세요.
로그 보기 권한
로그 항목을 보려면 프로젝트에 logging.logEntries.list
권한이 있어야 합니다. 이 권한은 로그 뷰어 및 프로젝트 뷰어 Identity and Access Management(IAM) 역할에 의해 제공됩니다.
VM 인스턴스 로그를 보려면 프로젝트에 compute.instances.get
권한이 있어야 합니다. 이 권한은 Compute Engine 네트워크 뷰어와 프로젝트 뷰어 IAM 역할에 의해 제공됩니다.