降低日志记录费用

启用日志记录后,您需要负责设置日志的路由、存储和保留方式。如果您超出免费的使用和保留量限制,则可能会产生额外的 Google Cloud 日志提取和保留费用。请参阅 Google Cloud Observability 价格

不过,您可以使用下文中介绍的以下任一方法来控制日志记录费用。

减少日志记录用量

您可以通过排除特定日志条目来限制提取的日志数据量。如需了解详情,请参阅排除日志

以下示例展示了常见的车队引擎场景,以及如何滤除特定日志消息以降低费用。

按方法过滤

您可以滤除只读方法,因为这些方法通常不需要用于数据分析或问题排查。

以下命令会更新 _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 费用的四个步骤