Bermigrasi ke eksportir OTLP

Dokumen ini menjelaskan cara mengubah konfigurasi logging OpenTelemetry Collector yang menggunakan eksportir yang ada — dalam hal ini, eksportir logging googlecloud — untuk menggunakan eksportir OTLP dan Telemetry (OTLP) API, telemetry.googleapis.com.

Mengaktifkan Telemetry API

OTLP exporter menulis ke Telemetry API, sehingga API tersebut harus diaktifkan di project Anda. Aktifkan Telemetry API dengan menjalankan perintah berikut:

gcloud services enable telemetry.googleapis.com

Temukan pengekspor yang akan diganti

Dalam file konfigurasi, temukan entri exporters untuk logging. Konfigurasi Anda mungkin terlihat seperti berikut:

exporters:
  googlecloud/logging:

Ganti pengekspor googlecloud/logging dan tambahkan ekstensi googleauthclient:

exporters:
  otlp_grpc/otlp_logs:
    auth:
      authenticator: googleclientauth
    balancer_name: pick_first
    endpoint: telemetry.googleapis.com:443

extensions:
  googleclientauth: {}

Menambahkan pemroses

Di file konfigurasi, cari entri processors. Konfigurasi Anda mungkin terlihat seperti berikut:

processors:
  resourcedetection/_global_0: [...details omitted...]
  transform/mylog__source_0:  [...details omitted...]

Salin dan tempel konfigurasi untuk setiap prosesor berikut ke dalam file konfigurasi Anda:

  1. Prosesor resource yang merekam informasi tentang project Google Cloud Anda.

      resource/gcp_project_id:
        attributes:
          - action: insert
            value: PROJECT_ID
            key: gcp.project_id
    
  2. Prosesor transform yang mempertahankan informasi tentang sumber instrumentasi.

      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 != ""
    
  3. Prosesor transform yang mempertahankan informasi tentang atribut resource.

      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
    

Konfigurasi yang diubah akan terlihat seperti berikut:

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...]

Mengubah layanan dan pipeline logging

Dalam konfigurasi Anda, temukan service yang digunakan untuk logging, yang mencakup pipeline yang menggunakan pengekspor googlecloud/logging. Konfigurasi Anda mungkin terlihat seperti berikut:

service:
  pipelines:
    logs/logs_my__pipeline_mylog__source:
      exporters:
        - googlecloud/logging
      processors:
        - transform/mylog__source_0
        - resourcedetection/_global_0
      receivers:
        - tcplog

Lakukan perubahan berikut pada konfigurasi ini:

  1. Tambahkan ekstensi googleclientauth ke entri service.
  2. Ubah eksportir pipeline menjadi otlp_grpc/otlp_logs.
  3. Tambahkan pemroses baru ke daftar pemroses pipeline:
    • resource/gcp_project_id
    • transform/otlp_grpc/preserve_instrumentation_source_version
    • transform/otlp_grpc/preserve_service_resource_attributes

Konfigurasi yang diubah akan terlihat seperti berikut:

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

Migrasikan dasbor dan kebijakan pemberitahuan, jika perlu

Jika Anda memiliki diagram atau kebijakan pemberitahuan yang melacak penggunaan Cloud Logging API, perbarui diagram atau kebijakan tersebut untuk memantau penggunaan Telemetry API. Exporter OTLP mengirim log ke project Google Cloud Anda menggunakan Telemetry API, bukan Cloud Logging API.