Logging-Kosten senken

Nachdem die Protokollierung aktiviert wurde, müssen Sie festlegen, wie Ihre Protokolle weitergeleitet, gespeichert und aufbewahrt werden sollen. Wenn Sie die kostenlosen Nutzungs- und Speicherlimits für Protokolle überschreiten, können zusätzliche Google Cloud-Kosten für die Datenaufnahme und -aufbewahrung anfallen. Weitere Informationen finden Sie unter Google Cloud Observability-Preise.

Sie können die Logging-Kosten jedoch mithilfe der folgenden Methoden steuern, die in den folgenden Abschnitten beschrieben werden.

Logging-Nutzung reduzieren

Sie können die Menge der aufgenommenen Protokolldaten begrenzen, indem Sie bestimmte Logeinträge ausschließen. Weitere Informationen finden Sie unter Logausschlüsse.

In den folgenden Beispielen werden gängige Fleet Engine-Szenarien und die Filterung bestimmter Protokollmeldungen zur Kostensenkung veranschaulicht.

Nach Methode filtern

Sie können schreibgeschützte Methoden herausfiltern, da diese in der Regel nicht für die Datenanalyse oder Fehlerbehebung erforderlich sind.

Mit dem folgenden Befehl wird der _Default-Log-Bucket aktualisiert, um GetVehicle-Protokolle auszuschließen.

gcloud logging sinks update _Default \
--add-exclusion=name=ExcludeFleetengineGetVehicle,\
filter='jsonPayload.@type:"type.googleapis.com/maps.fleetengine.v1.GetVehicleLog"'

Mit dem folgenden Befehl wird der _Default-Log-Bucket aktualisiert, um GetTrip-Protokolle auszuschließen.

gcloud logging sinks update _Default \
--add-exclusion=name=ExcludeFleetengineGetTrip,filter=\
'jsonPayload.@type:"type.googleapis.com/maps.fleetengine.v1.GetTripLog"'

Debug-Attribut erstellen

Sie können Protokolle nur auf bestimmte Fahrzeuge beschränken, indem Sie ein debug-Attribut festlegen. Alle Fahrzeuge ohne das Attribut debug werden jetzt ausgeschlossen.

Mit dem folgenden Befehl wird der _Default-Log-Bucket aktualisiert, um Fahrzeuge ohne das debug-Attribut aus den UpdateVehicle-Protokollen auszuschließen.

gcloud logging sinks update _Default \
--add-exclusion=name=ExcludeFleetengineNonDebug,\
filter='resource.type="fleetengine.googleapis.com/Fleet"
log_name:"logs/fleetengine.googleapis.com%2Fupdate_vehicle"
jsonPayload.@type="type.googleapis.com/maps.fleetengine.v1.UpdateVehicleLog"
NOT jsonPayload.response.attributes.key="debug"'

Leere Protokolle zur eingeschränkten Nutzung filtern

Wenn diese Option aktiviert ist, wird für jedes reguläre Protokoll ein untergeordnetes Protokoll erstellt, auch wenn bei der Ausführung des Vorgangs keine eingeschränkten Felder ausgefüllt werden. Wenn Sie diese leeren eingeschränkten Protokolle herausfiltern, können Sie die Kosten senken.

Mit dem folgenden Befehl wird der RestrictedLogs-Log-Bucket aktualisiert, um leere eingeschränkte UpdateVehicle-Protokolle auszuschließen.

gcloud logging sinks update RestrictedLogs \
--add-exclusion=name=ExcludeFleetengineEmptyRestrictedVehicleLogs,\
filter='resource.type="fleetengine.googleapis.com/Fleet"
log_name:"logs/fleetengine.googleapis.com%2Fupdate_vehicle_restricted"
NOT jsonPayload.request.vehicle.currentRouteSegment:*
NOT jsonPayload.response.currentRouteSegment:*
NOT jsonPayload.response.waypoints:*'

Protokolle exportieren oder weiterleiten

Sie können Logs an andere Google Cloud-Ziele oder externe Ziele weiterleiten, um die standardmäßigen Aufnahme- und Speicherkosten zu vermeiden. Deaktivieren Sie die Logaufnahme, wie im nächsten Abschnitt beschrieben, um Aufnahmekosten zu vermeiden.

Weitere Informationen finden Sie unter Cloud Logging-Exporte und Logs exportieren.

Datenaufnahme deaktivieren

Wenn Sie keine Fleet Engine-Logs verwenden möchten, können Sie potenzielle Cloud Logging-Kosten vermeiden, indem Sie die Aufnahme deaktivieren. Standardmäßig werden Fleet Engine-Logs an den _Default-Log-Bucket weitergeleitet.

Mit dem folgenden Befehl wird der Bucket „_Default logging“ so aktualisiert, dass keine Fleet Engine-Protokolle aufgenommen werden.

    gcloud logging sinks update _Default \
    --log-filter='NOT LOG_ID("cloudaudit.googleapis.com/activity")
    AND NOT LOG_ID("externalaudit.googleapis.com/activity")
    AND NOT LOG_ID("cloudaudit.googleapis.com/system_event")
    AND NOT LOG_ID("externalaudit.googleapis.com/system_event")
    AND NOT LOG_ID("cloudaudit.googleapis.com/access_transparency")
    AND NOT LOG_ID("externalaudit.googleapis.com/access_transparency")
    AND NOT resource.type:"fleetengine.googleapis.com"'

Weitere Informationen finden Sie unter Vier Schritte zum Verwalten Ihrer Cloud Logging-Kosten mit einem Budget.