Questo documento descrive come modificare una configurazione di logging di OpenTelemetry Collector
che utilizza un esportatore esistente, in questo caso l'esportatore di logging
googlecloud —
per utilizzare l'esportatore OTLP e l'API
Telemetry (OTLP), telemetry.googleapis.com.
Abilita l'API Telemetry
L'esportatore OTLP scrive nell'API Telemetry, quindi questa API deve essere abilitata nel tuo progetto. Abilita l'API Telemetry eseguendo il seguente comando:
gcloud services enable telemetry.googleapis.com
Individua l'esportatore da sostituire
Nel file di configurazione, individua la voce exporters per il logging. La configurazione potrebbe essere simile alla seguente:
exporters:
googlecloud/logging:
Sostituisci l'esportatore googlecloud/logging e aggiungi l'estensione googleauthclient:
exporters:
otlp_grpc/otlp_logs:
auth:
authenticator: googleclientauth
balancer_name: pick_first
endpoint: telemetry.googleapis.com:443
extensions:
googleclientauth: {}
Aggiungi processori
Nel file di configurazione, individua la voce processors. La configurazione potrebbe essere simile alla seguente:
processors:
resourcedetection/_global_0: [...details omitted...]
transform/mylog__source_0: [...details omitted...]
Copia e incolla la configurazione di ciascuno dei seguenti processori nel file di configurazione:
Un processore
resourceche acquisisce informazioni sul tuo Google Cloud progetto.resource/gcp_project_id: attributes: - action: insert value: PROJECT_ID key: gcp.project_idUn processore
transformche conserva le informazioni sull'origine della strumentazione.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 != ""Un processore
transformche conserva le informazioni sugli attributi delle risorse.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 configurazione modificata è simile alla seguente:
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 il servizio di logging e la pipeline
Nella configurazione, individua il service utilizzato per il logging, che include una pipeline che utilizza l'esportatore googlecloud/logging. La configurazione potrebbe essere simile alla seguente:
service:
pipelines:
logs/logs_my__pipeline_mylog__source:
exporters:
- googlecloud/logging
processors:
- transform/mylog__source_0
- resourcedetection/_global_0
receivers:
- tcplog
Apporta le seguenti modifiche a questa configurazione:
- Aggiungi l'estensione
googleclientauthalla voceservice. - Modifica l'esportatore della pipeline in
otlp_grpc/otlp_logs. - Aggiungi i nuovi processori all'elenco dei processori della pipeline:
resource/gcp_project_idtransform/otlp_grpc/preserve_instrumentation_source_versiontransform/otlp_grpc/preserve_service_resource_attributes
La configurazione modificata è simile alla seguente:
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
Esegui la migrazione di dashboard e norme di avviso, se necessario
Se hai grafici o norme di avviso che monitorano l'utilizzo dell'API Cloud Logging, aggiornali in modo che monitorino l'utilizzo dell'API Telemetry. L'esportatore OTLP invia i log al tuo Google Cloud progetto utilizzando l'API Telemetry anziché l'API Cloud Logging.