In diesem Dokument wird beschrieben, wie Sie eine OpenTelemetry Collector-Logging-Konfiguration ändern, die einen vorhandenen Exporter verwendet – in diesem Fall den googlecloud-Logging-Exporter –, um den OTLP-Exporter und die Telemetry (OTLP) API, telemetry.googleapis.com, zu verwenden.
Telemetry API aktivieren
Der OTLP-Exporter schreibt in die Telemetry API. Diese API muss in Ihrem Projekt aktiviert sein. Aktivieren Sie die Telemetry API, indem Sie den folgenden Befehl ausführen:
gcloud services enable telemetry.googleapis.com
Suchen Sie den zu ersetzenden Exporter.
Suchen Sie in der Konfigurationsdatei nach dem Eintrag exporters für die Protokollierung. Ihre Konfiguration könnte so aussehen:
exporters:
googlecloud/logging:
Ersetzen Sie den googlecloud/logging-Exporter und fügen Sie die googleauthclient-Erweiterung hinzu:
exporters:
otlp_grpc/otlp_logs:
auth:
authenticator: googleclientauth
balancer_name: pick_first
endpoint: telemetry.googleapis.com:443
extensions:
googleclientauth: {}
Prozessoren hinzufügen
Suchen Sie in der Konfigurationsdatei nach dem Eintrag processors. Ihre Konfiguration könnte so aussehen:
processors:
resourcedetection/_global_0: [...details omitted...]
transform/mylog__source_0: [...details omitted...]
Kopieren Sie die Konfiguration für jeden der folgenden Prozessoren und fügen Sie sie in Ihre Konfigurationsdatei ein:
Ein
resource-Prozessor, der Informationen zu Ihrem Google Cloud -Projekt erfasst.resource/gcp_project_id: attributes: - action: insert value: PROJECT_ID key: gcp.project_idEin
transform-Prozessor, der Informationen zur Instrumentierungsquelle beibehält.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 != ""Ein
transform-Prozessor, der Informationen zu den Ressourcenattributen beibehält.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
Die geänderte Konfiguration sieht so aus:
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...]
Logging-Dienst und ‑Pipeline ändern
Suchen Sie in Ihrer Konfiguration nach dem service, das für das Logging verwendet wird. Es enthält ein pipeline, in dem der googlecloud/logging-Exporter verwendet wird. Ihre Konfiguration könnte so aussehen:
service:
pipelines:
logs/logs_my__pipeline_mylog__source:
exporters:
- googlecloud/logging
processors:
- transform/mylog__source_0
- resourcedetection/_global_0
receivers:
- tcplog
Nehmen Sie die folgenden Änderungen an dieser Konfiguration vor:
- Fügen Sie dem Eintrag
servicedie Erweiterunggoogleclientauthhinzu. - Ändern Sie den Exporter der Pipeline in
otlp_grpc/otlp_logs. - Fügen Sie die neuen Prozessoren der Liste der Prozessoren der Pipeline hinzu:
resource/gcp_project_idtransform/otlp_grpc/preserve_instrumentation_source_versiontransform/otlp_grpc/preserve_service_resource_attributes
Die geänderte Konfiguration sieht so aus:
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
Dashboards und Benachrichtigungsrichtlinien migrieren (falls erforderlich)
Wenn Sie Diagramme oder Benachrichtigungsrichtlinien haben, mit denen die Nutzung der Cloud Logging API erfasst wird, aktualisieren Sie sie, um stattdessen die Nutzung der Telemetry API zu erfassen. Der OTLP-Exporter sendet Logs an Ihr Google Cloud -Projekt über die Telemetry API anstelle der Cloud Logging API.