이 문서에서는 기존 내보내기 도구(이 경우 googlecloud 로깅 내보내기 도구)를 사용하는 OpenTelemetry Collector 로깅 구성을 수정하여 OTLP 내보내기 도구와 Telemetry (OTLP) API telemetry.googleapis.com을 사용하는 방법을 설명합니다.
Telemetry API 사용 설정
OTLP 내보내기 도구는 Telemetry API에 쓰므로 프로젝트에서 해당 API를 사용 설정해야 합니다. 다음 명령어를 실행하여 Telemetry API를 사용 설정합니다.
gcloud services enable telemetry.googleapis.com
교체할 내보내기 도구 찾기
구성 파일에서 로깅의 exporters 항목을 찾습니다. 구성은 다음과 같이 표시될 수 있습니다.
exporters:
googlecloud/logging:
googlecloud/logging 내보내기 도구를 교체하고 googleauthclient 확장 프로그램을 추가합니다.
exporters:
otlp_grpc/otlp_logs:
auth:
authenticator: googleclientauth
balancer_name: pick_first
endpoint: telemetry.googleapis.com:443
extensions:
googleclientauth: {}
프로세서 추가
구성 파일에서 processors 항목을 찾습니다. 구성은 다음과 같이 표시될 수 있습니다.
processors:
resourcedetection/_global_0: [...details omitted...]
transform/mylog__source_0: [...details omitted...]
다음 각 프로세서의 구성을 복사하여 구성 파일에 붙여넣습니다.
프로젝트에 관한 정보를 캡처하는
resource프로세서 Google Cloudresource/gcp_project_id: attributes: - action: insert value: PROJECT_ID key: gcp.project_id계측 소스에 관한 정보를 보존하는
transform프로세서transform/otlp_grpc/preserve_instrumentation_source_version: error_mode: ignore log_statements: - context: log statements: - set(attributes["instrumentation_source"], instrumentation_scope.name) where instrumentation_scope.name != "" - set(attributes["instrumentation_version"], instrumentation_scope.version) where instrumentation_scope.version != ""리소스 속성에 관한 정보를 보존하는
transform프로세서transform/otlp_grpc/preserve_service_resource_attributes: error_mode: ignore log_statements: - context: log statements: - set(attributes["service.name"], resource.attributes["service.name"]) where resource.attributes["service.name"] != nil - set(attributes["service.namespace"], resource.attributes["service.namespace"]) where resource.attributes["service.namespace"] != nil - set(attributes["service.instance.id"], resource.attributes["service.instance.id"]) where resource.attributes["service.instance.id"] != nil
수정된 구성은 다음과 같이 표시됩니다.
processors:
resourcedetection/_global_0: [...details omitted...]
transform/mylog__source_0: [...details omitted...]
resource/gcp_project_id: [...details omitted...]
transform/otlp_grpc/preserve_instrumentation_source_version: [...details omitted...]
transform/otlp_grpc/preserve_service_resource_attributes: [...details omitted...]
로깅 서비스 및 파이프라인 수정
구성에서 로깅에 사용되는 service를 찾습니다. 여기에는 googlecloud/logging 내보내기 도구를 사용하는 pipeline이 포함됩니다. 구성은 다음과 같이 표시될 수 있습니다.
service:
pipelines:
logs/logs_my__pipeline_mylog__source:
exporters:
- googlecloud/logging
processors:
- transform/mylog__source_0
- resourcedetection/_global_0
receivers:
- tcplog
이 구성을 다음과 같이 변경합니다.
service항목에googleclientauth확장 프로그램을 추가합니다.- 파이프라인의 내보내기 도구를
otlp_grpc/otlp_logs로 변경합니다. - 새 프로세서를 파이프라인의 프로세서 목록에 추가합니다.
resource/gcp_project_idtransform/otlp_grpc/preserve_instrumentation_source_versiontransform/otlp_grpc/preserve_service_resource_attributes
수정된 구성은 다음과 같이 표시됩니다.
service:
extensions:
- googleclientauth
pipelines:
logs/logs_my__pipeline_mylog__source:
exporters:
- otlp_grpc/otlp_logs
processors:
- transform/mylog__source_0
- resourcedetection/_global_0
- resource/gcp_project_id
- transform/otlp_grpc/preserve_instrumentation_source_version
- transform/otlp_grpc/preserve_service_resource_attributes
receivers:
- tcplog
필요한 경우 대시보드 및 알림 정책 이전
Cloud Logging API 사용량을 추적하는 차트 또는 알림 정책이 있는 경우 Telemetry API 사용량을 모니터링하도록 업데이트합니다. OTLP 내보내기 도구는 Cloud Logging API 대신 Telemetry API를 사용하여 프로젝트로 로그를 전송합니다. Google Cloud