Migrar para o exportador OTLP

Este documento descreve como modificar uma configuração de geração de registros do coletor do OpenTelemetry que usa um exportador atual (nesse caso, o googlecloud exportador de registros) — para usar o exportador OTLP e a API Telemetry (OTLP), telemetry.googleapis.com.

Ativar a API Telemetry

O exportador OTLP grava na API Telemetry. Portanto, essa API precisa estar ativada no seu projeto. Ative a API Telemetry executando o seguinte comando:

gcloud services enable telemetry.googleapis.com

Localizar o exportador a ser substituído

No arquivo de configuração, localize a entrada exporters para geração de registros. Sua configuração pode ser semelhante a esta:

exporters:
  googlecloud/logging:

Substitua o exportador googlecloud/logging e adicione a extensão googleauthclient:

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

extensions:
  googleclientauth: {}

Adicionar processadores

No arquivo de configuração, localize a entrada processors. Sua configuração pode ser semelhante a esta:

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

Copie e cole a configuração de cada um dos seguintes processadores no arquivo de configuração:

  1. Um resource processador que captura informações sobre seu Google Cloud projeto.

      resource/gcp_project_id:
        attributes:
          - action: insert
            value: PROJECT_ID
            key: gcp.project_id
    
  2. Um processador transform que preserva informações sobre a origem da instrumentação.

      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. Um processador transform que preserva informações sobre os atributos de recursos.

      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
    

A configuração modificada é semelhante a esta:

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

Modificar o serviço de geração de registros e o pipeline

Na configuração, localize o service usado para geração de registros, que inclui um pipeline que usa o exportador googlecloud/logging. Sua configuração pode ser semelhante a esta:

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

Faça as seguintes mudanças nessa configuração:

  1. Adicione a extensão googleclientauth à entrada service.
  2. Mude o exportador do pipeline para otlp_grpc/otlp_logs.
  3. Adicione os novos processadores à lista de processadores do pipeline:
    • resource/gcp_project_id
    • transform/otlp_grpc/preserve_instrumentation_source_version
    • transform/otlp_grpc/preserve_service_resource_attributes

A configuração modificada é semelhante a esta:

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

Migrar painéis e políticas de alertas, se necessário

Se você tiver gráficos ou políticas de alertas que rastreiam o uso da API Cloud Logging, atualize-os para monitorar o uso da API Telemetry. O exportador OTLP envia registros para seu Google Cloud projeto usando a API Telemetry em vez da API Cloud Logging.