启用日志记录功能后,您需要负责设置日志的路由、存储和保留方式。如果您超出免费的用量和保留期限限额,可能需要为日志注入和保留支付额外的 Google Cloud 费用。请参阅 Google Cloud Observability 价格。
不过,您可以使用以下部分中介绍的任何方法来控制日志记录费用。
减少日志记录用量
您可以通过排除某些日志条目来限制提取的日志数据量。如需了解详情,请参阅排除日志。
以下示例演示了常见的 Fleet Engine 场景,以及如何过滤掉特定日志消息以降低费用。
按方法过滤
您可以过滤掉只读方法,因为这些方法通常不需要用于数据分析或问题排查。
以下命令会更新 _Default
日志记录存储分区,以排除 GetVehicle
日志。
gcloud logging sinks update _Default \
--add-exclusion=name=ExcludeFleetengineGetVehicle,\
filter='jsonPayload.@type:"type.googleapis.com/maps.fleetengine.v1.GetVehicleLog"'
以下命令会更新 _Default
日志记录存储分区,以排除 GetTrip
日志。
gcloud logging sinks update _Default \
--add-exclusion=name=ExcludeFleetengineGetTrip,filter=\
'jsonPayload.@type:"type.googleapis.com/maps.fleetengine.v1.GetTripLog"'
创建调试属性
您可以通过设置 debug
属性,将日志限制为仅针对特定车辆。现在,任何不具有 debug
属性的车辆都将被排除。
以下命令会更新 _Default
日志记录存储分区,以从 UpdateVehicle
日志中排除没有 debug
属性的车辆。
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"'
过滤了空受限使用日志
启用后,受限使用日志会为每个常规日志创建子日志,即使相应操作未填充受限字段也是如此。过滤掉这些空的受限日志可以降低费用。
以下命令会更新 RestrictedLogs
日志记录存储分区,以排除空的受限 UpdateVehicle
日志。
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 日志存储分区。
以下命令会更新 _Default 日志记录存储分区,使其不接收 Fleet Engine 日志。
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 费用的四个步骤。