Migra al exportador de OTLP

En este documento, se describe cómo modificar una configuración de registro del Recopilador de OpenTelemetry que usa un exportador existente (en este caso, el googlecloud exportador de registro) — para usar el exportador de OTLP y la API de Telemetría (OTLP), telemetry.googleapis.com.

Habilita la API de Telemetría

El exportador de OTLP escribe en la API de Telemetría, por lo que esa API debe estar habilitada en tu proyecto. Para habilitar la API de Telemetría, ejecuta el siguiente comando:

gcloud services enable telemetry.googleapis.com

Ubica el exportador que se reemplazará

En el archivo de configuración, ubica la entrada exporters para el registro. Tu configuración podría verse de la siguiente manera:

exporters:
  googlecloud/logging:

Reemplaza el exportador googlecloud/logging y agrega la extensión googleauthclient:

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

extensions:
  googleclientauth: {}

Agrega procesadores

En el archivo de configuración, ubica la entrada processors. Tu configuración podría verse de la siguiente manera:

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

Copia y pega la configuración de cada uno de los siguientes procesadores en tu archivo de configuración:

  1. Un procesador resource que captura información sobre tu Google Cloud proyecto.

      resource/gcp_project_id:
        attributes:
          - action: insert
            value: PROJECT_ID
            key: gcp.project_id
    
  2. Un procesador transform que conserva información sobre la fuente de instrumentación.

      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. Un procesador transform que conserva información sobre los atributos del recurso.

      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
    

La configuración modificada se ve de la siguiente manera:

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

Modifica el servicio de registro y la canalización

En tu configuración, ubica el service que se usa para el registro, que incluye una pipeline que usa el exportador googlecloud/logging. Tu configuración podría verse de la siguiente manera:

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

Realiza los siguientes cambios en esta configuración:

  1. Agrega la extensión googleclientauth a la entrada service.
  2. Cambia el exportador de la canalización a otlp_grpc/otlp_logs.
  3. Agrega los procesadores nuevos a la lista de procesadores de la canalización:
    • resource/gcp_project_id
    • transform/otlp_grpc/preserve_instrumentation_source_version
    • transform/otlp_grpc/preserve_service_resource_attributes

La configuración modificada se ve de la siguiente manera:

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

Migra los paneles y las políticas de alertas, si es necesario

Si tienes gráficos o políticas de alertas que hacen un seguimiento del uso de la API de Cloud Logging, actualízalos para supervisar el uso de la API de Telemetría. El exportador de OTLP envía registros a tu Google Cloud proyecto con la API de Telemetría en lugar de la API de Cloud Logging.