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 exportador de registros de googlecloud) para usar el exportador de OTLP y la API de Telemetría (OTLP), telemetry.googleapis.com.
Habilita la API de Telemetry
El exportador de OTLP escribe en la API de Telemetry, por lo que esa API debe estar habilitada en tu proyecto. Habilita la API de Telemetry ejecutando el siguiente comando:
gcloud services enable telemetry.googleapis.com
Busca el exportador que se reemplazará
En el archivo de configuración, busca 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, busca 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:
Un procesador de
resourceque captura información sobre tu proyecto de Google Cloud .resource/gcp_project_id: attributes: - action: insert value: PROJECT_ID key: gcp.project_idEs un procesador de
transformque conserva información sobre los atributos de la fuente de la instrumentación y del servicio de recursos.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 != "" - 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, busca el service que se usa para el registro, que incluye un 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:
- Agrega la extensión
googleclientautha la entradaservice. - Cambia el exportador de la canalización a
otlp_grpc/otlp_logs. - Agrega los procesadores nuevos a la lista de procesadores de la canalización:
resource/gcp_project_idtransform/otlp_grpc/preserve_instrumentation_source_versiontransform/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 Telemetry. El exportador de OTLP envía registros a tu proyecto Google Cloud a través de la API de Telemetry en lugar de la API de Cloud Logging.