ロギングの費用を削減する

ロギングを有効にしたら、ログのルーティング、保存、保持方法を設定する必要があります。無料の使用量と保持の上限を超えると、ログの取り込みと保持に追加の Google Cloud 費用が発生する場合があります。Google Cloud Observability の料金をご覧ください。

ただし、以降のセクションで説明する次のいずれかの方法で、ロギング費用を制御できます。

ロギングの使用量を削減する

特定のログエントリを除外することで、取り込まれるログデータの量を制限できます。詳細については、ログの除外をご覧ください。

次の例は、Fleet Engine の一般的なシナリオと、特定のログ メッセージを除外して費用を削減する方法を示しています。

メソッドでフィルタする

通常、データ分析やトラブルシューティングでは読み取り専用メソッドは必要ないため、除外できます。

次のコマンドは、GetVehicle ログを除外するように _Default ロギング バケットを更新します。

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

次のコマンドは、GetTrip ログを除外するように _Default ロギング バケットを更新します。

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

デバッグ属性を作成する

ログを特定の車両に限定できるのは、debug 属性を設定する場合に限られます。debug 属性がない車両は除外されます。

次のコマンドは、_Default ロギング バケットを更新して、debug 属性のない車両を UpdateVehicle ログから除外します。

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"'

空の制限付き使用ログをフィルタする

制限付き使用ログを有効にすると、オペレーションで制限付きフィールドが入力されない場合でも、通常のログごとに子ログが作成されます。これらの空の制限付きログを除外すると、費用を削減できます。

次のコマンドは、空の制限付き UpdateVehicle ログを除外するように RestrictedLogs ロギング バケットを更新します。

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:*'

ログをエクスポートまたは転送する

ログを他の Google Cloud または外部の宛先に転送すると、デフォルトの取り込みと保存の費用を回避できます。取り込み費用を回避するため、次のセクションで説明するように、ログの取り込みをオフにしてください。

Cloud Logging のエクスポートログのエクスポートをご覧ください。

ログの取り込みをオフにする

Fleet Engine ログを使用しない場合は、取り込みをオフにして、Cloud Logging の料金が発生しないようにできます。デフォルトでは、Fleet Engine ログは _Default ログバケットに転送されます。

次のコマンドは、Fleet Engine ログを取り込まないように _Default ロギング バケットを更新します。

    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"'

Cloud Logging の費用を予算内で管理するための 4 つのステップもご覧ください。