本文說明如何修改使用現有匯出器的 OpenTelemetry Collector 記錄設定 (在本例中為 googlecloud 記錄匯出器),改用 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_idtransform處理器,可保留有關插碼來源的資訊。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
對這項設定進行下列變更:
- 將
googleclientauth擴充功能新增至service項目。 - 將管道的匯出工具變更為
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 匯出工具會使用 Telemetry API,而非 Cloud Logging API,將記錄傳送至 Google Cloud 專案。