이 문서에서는 OpenTelemetry Line 프로토콜을 구현하는 Telemetry (OTLP) API를 사용하여 trace 데이터를 Google Cloud 프로젝트로 전송하는 것이 좋은 이유를 설명합니다. 또한 애플리케이션 계측 및 trace 데이터를 볼 수 있는 위치에 관한 안내도 제공합니다. OpenTelemetry SDK 중 하나를 사용하여 애플리케이션을 계측하거나 OpenTelemetry 수집기를 사용하는 경우 Telemetry API를 사용할 수 있습니다. OpenTelemetry SDKs
다음과 같은 이유로 Telemetry API를 사용하는 것이 좋습니다.
이 API는 오픈소스 OpenTelemetry 생태계와 호환되며 한도는 독점 Google Cloud API인 Cloud Trace API의 한도보다 더 관대한 경우가 많습니다.
trace 데이터는 일반적으로 OpenTelemetry Line 프로토콜에서 정의한 proto 파일과 일치하는 형식으로 저장됩니다. 일부 필드는 저장 전에 OpenTelemetry 전용 데이터 유형에서 JSON 데이터 유형으로 변환될 수 있습니다. 스토리지 형식에 대한 자세한 내용은 trace 데이터 스키마를 참고하세요.
계측은 특정 내보내기 도구에 의존하지 않습니다. Google Cloud
애플리케이션 모니터링과 같은 일부 기능은 trace 데이터를 Telemetry API로 전송하는 경우에만 사용할 수 있는 정보를 사용합니다.
OpenTelemetry는 Google Cloud-에서 지원하는 오픈소스 프로젝트로, Google Cloud 엔지니어가 원격 분석의 수집 및 시각화를 지원합니다.
Google Cloud Observability는 trace 데이터를 저장하기 전에 프로젝트에서 Cloud Trace API가 사용 설정되어 있는지 확인합니다. Google Cloud 즉, Cloud Trace API를 사용 중지하면 Google Cloud Observability는 Telemetry API로 전송하는 trace 데이터를 삭제합니다.
권장사항
trace 데이터를 Google Cloud 프로젝트로 전송하도록 애플리케이션을 계측할 때는 OTLP 형식 데이터를 수집기에 작성하는 내보내기 도구를 사용하는 것이 좋습니다. 그러면 수집기에서 trace 데이터를 Telemetry API로 전송합니다. 수집기에서 루트 URL만 지정합니다.
exporters:
otlphttp:
encoding: proto
endpoint: https://telemetry.googleapis.com
OpenTelemetry는 데이터 유형을 감지하고 적절하게 /v1/traces, /v1/metrics 또는 /v1/logs를 자동으로 추가합니다. 자세한 내용은
OTLP/HTTP 요청을 참고하세요.
trace 또는 측정항목 데이터를 Telemetry API로 내보내는 예는 다음 문서를 참고하세요.
수집기를 사용할 수 없는 경우 프로세스 내 OTLP 내보내기 도구가 포함된 OpenTelemetry 라이브러리를 사용하여 원격 분석을 Telemetry API로 전송할 수 있습니다. trace 데이터를 직접 내보내는 방법을 알아보려면 Cloud Trace 내보내기 도구에서 OTLP 엔드포인트로를 참고하세요.
인증
프로젝트로 데이터를 전송하는 데 필요한 사용자 인증 정보로 내보내기 도구를 구성해야 합니다. Google Cloud 예를 들어 수집기를 사용하는 경우 일반적으로 googleclientauth 확장 프로그램을 사용하여 Google 사용자 인증 정보로 인증합니다.
trace 데이터 직접 내보내기를 사용할 때 인증의 예는 인증 구성을 참고하세요. 이 예에서는 애플리케이션 기본 사용자 인증 정보 (ADC)로 내보내기 도구를 구성하고 애플리케이션에 언어별 Google 인증 라이브러리를 추가하는 방법을 보여줍니다. Google Cloud
Telemetry API를 사용하여 원격 분석 데이터를 Google Cloud 프로젝트로 전송하려면 다음 작업도 실행해야 합니다.
- 할당량 프로젝트를 구성합니다. 자세한 내용은 할당량 프로젝트 설정을 참고하세요.
- 애플리케이션에서 사용하는 사용자 또는 서비스 계정에 해당 할당량 프로젝트에 대한
서비스 사용량 소비자
역할 (
roles/serviceusage.serviceUsageConsumer)을 부여합니다. 애플리케이션에서 사용하는 사용자 또는 서비스 계정에 프로젝트에 대한 다음 역할을 부여합니다.
- 로그 작성자 (
roles/logging.logWriter) - 모니터링 측정항목 작성자 (
roles/monitoring.metricWriter) - 클라우드 원격 분석 trace 작성자 (
roles/telemetry.tracesWriter)
- 로그 작성자 (
Cloud Trace 및 데이터 상주
데이터 상주 또는 영향 수준 4 (IL4) 요구사항이 있기 때문에 Assured Workloads를 사용하는 경우 Telemetry API를 사용하여 trace 범위를 프로젝트로 전송하지 마세요.
수집된 데이터를 확인할 수 있는 위치
Trace 탐색기 및 Observability 분석 페이지를 사용하여 trace 데이터를 볼 수 있습니다. 자세한 내용은 다음을 참고하세요.