Ce document explique comment modifier une configuration de journalisation du collecteur OpenTelemetry qui utilise un exportateur existant (dans ce cas, l'exportateur de journalisation googlecloud) pour utiliser l'exportateur OTLP et l'API Telemetry (OTLP), telemetry.googleapis.com.
Activer l'API Telemetry
L'exportateur OTLP écrit dans l'API Telemetry. Cette API doit donc être activée dans votre projet. Activez l'API Telemetry en exécutant la commande suivante :
gcloud services enable telemetry.googleapis.com
Localisez l'exportateur à remplacer.
Dans votre fichier de configuration, recherchez l'entrée exporters pour la journalisation. Votre configuration peut se présenter comme suit :
exporters:
googlecloud/logging:
Remplacez l'exportateur googlecloud/logging et ajoutez l'extension googleauthclient :
exporters:
otlp_grpc/otlp_logs:
auth:
authenticator: googleclientauth
balancer_name: pick_first
endpoint: telemetry.googleapis.com:443
extensions:
googleclientauth: {}
Ajouter des processeurs
Dans votre fichier de configuration, recherchez l'entrée processors. Votre configuration peut se présenter comme suit :
processors:
resourcedetection/_global_0: [...details omitted...]
transform/mylog__source_0: [...details omitted...]
Copiez et collez la configuration de chacun des processeurs suivants dans votre fichier de configuration :
Un processeur
resourcequi capture des informations sur votre projet Google Cloud .resource/gcp_project_id: attributes: - action: insert value: PROJECT_ID key: gcp.project_idUn processeur
transformqui préserve les informations sur les attributs de source d'instrumentation et de service de ressources.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 configuration modifiée se présente comme suit :
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...]
Modifier le service et le pipeline de journalisation
Dans votre configuration, recherchez le service utilisé pour la journalisation, qui inclut un pipeline utilisant l'exportateur googlecloud/logging. Votre configuration peut se présenter comme suit :
service:
pipelines:
logs/logs_my__pipeline_mylog__source:
exporters:
- googlecloud/logging
processors:
- transform/mylog__source_0
- resourcedetection/_global_0
receivers:
- tcplog
Apportez les modifications suivantes à cette configuration :
- Ajoutez l'extension
googleclientauthà l'entréeservice. - Définissez l'exportateur du pipeline sur
otlp_grpc/otlp_logs. - Ajoutez les nouveaux processeurs à la liste des processeurs du pipeline :
resource/gcp_project_idtransform/otlp_grpc/preserve_instrumentation_source_version
La configuration modifiée se présente comme suit :
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
receivers:
- tcplog
Migrer les tableaux de bord et les règles d'alerte, si nécessaire
Si vous avez des graphiques ou des règles d'alerte qui suivent l'utilisation de l'API Cloud Logging, mettez-les à jour pour surveiller l'utilisation de l'API Telemetry à la place. L'exportateur OTLP envoie les journaux à votre projet Google Cloud à l'aide de l'API Telemetry au lieu de l'API Cloud Logging.