使用 BigQuery 分析日志

BigQuery 是用于执行分析的强大工具。您可以使用它来存储 长期日志,并对数据执行类似 SQL 的查询。要使用 必须明确地将日志路由到 BigQuery,因为 具体说明。

将日志路由到 BigQuery

  1. 日志浏览器中,创建一个过滤器,用于 会隔离 Fleet Engine 日志:Fleetengine.googleapis.com/Fleet
  2. 查询结果窗格中,点击操作更多操作 菜单,然后选择创建接收器
  3. 指定接收器名称(例如 FleetEngineLogsSink)。点击下一步
  4. 接收器目标位置中,选择 BigQuery 数据集
  5. 选择 BigQuery 数据集中,选择新建 BigQuery 数据集
  6. 创建数据集对话框中,输入数据集 ID
  7. 保持其他设置不变,然后点击创建数据集
  8. 勾选使用分区表。点击下一步
  9. 保留选择要包含在接收器中的日志选择要过滤掉的日志 接收器
  10. 点击创建接收器

您的日志现在应该开始填充 BigQuery 数据集,这可能需要 一小段时间。另请参阅将日志路由到支持的目标位置

将日志数据路由到 BigQuery 后, 系统会自动填充 FleetEngineLogs 数据集,每种日志类型分别对应一个:

  • CreateVehicle
  • GetVehicle
  • ListVehicles
  • SearchVehicles
  • UpdateVehicle
  • CreateTrip
  • GetTrip
  • UpdateTrip
  • ListTrips

表名称使用以下模式:

project_id.data_set.log_name

例如,项目名称为 test-project,数据集名称为 FleetEngineLogs 中,CreateTrip 表的名称如下:

test-project.FleetEngineLogs.fleetengine_googleapis_com_create_trip

BigQuery 查询示例

以下示例查询展示了如何搜索不同的日志条目 数据。

CreateTrips 日志数量(按小时分组)

    SELECT TIMESTAMP_TRUNC(timestamp, HOUR) as hour,
           count(*) as num_trips_created
    FROM
    `ProjectId.FleetEngineLogs.fleetengine_googleapis_com_create_trip`
    GROUP BY hour
    ORDER by hour

每辆车每小时的经停次数

    SELECT
      jsonpayload_v1_updatevehiclelog.request.vehicleid AS vehicle,
      TIMESTAMP_TRUNC(timestamp, HOUR) AS hour,
      COUNT(*) AS num_stops
    FROM
      `ProjectId.FleetEngineLogs.fleetengine_googleapis_com_update__vehicle`
    WHERE
    ARRAY_LENGTH(jsonpayload_v1_updatevehiclelog.request.vehicle.remainingvehiclejourneysegments) > 0
    AND jsonpayload_v1_updatevehiclelog.request.vehicle.remainingvehiclejourneysegments[
    OFFSET
    (0)].stop.state = 'VEHICLE_STOP_STATE_LOG_ARRIVED'
    GROUP BY
    1,
    2
    ORDER BY
    2

例如,以下查询可以告诉您在过去一小时内:

  • 车辆 A 在第 12 个小时完成 10 次经停,在第 13 个小时完成 8 次经停。
  • 车辆 B 在第 11 个小时完成了 5 次经停,在第 12 个小时完成了 7 次经停。
  • 车辆 C 在第 13 个小时完成了 12 次经停,在第 14 个小时完成了 9 次经停。

另请参阅查看路由到 BigQuery 的日志

将 BigQuery 与 Looker Studio 集成

BigQuery 可与商业智能工具集成,以创建信息中心 进行业务分析请参阅 Looker Studio

以下示例展示了如何为以下各项构建 Looker Studio 信息中心: 在地图上直观呈现行程和车辆行驶情况。

  1. 启动新的 Looker Studio 信息中心,然后选择 使用 BigQuery 作为数据连接。
  2. 选择 Custom Query,然后手动输入或选择 Cloud 项目 应进行结算。
  3. 在查询框中输入以下某个查询。

按需行程示例查询

    SELECT
     timestamp,
     labels.vehicle_id,
    jsonpayload_v1_updatevehiclelog.response.lastlocation.location.latitude AS lat,
    jsonpayload_v1_updatevehiclelog.response.lastlocation.location.longitude AS lng
    FROM
    `ProjectId.TableName.fleetengine_googleapis_com_update_vehicle`

计划任务示例查询

    SELECT
    labels.delivery_vehicle_id,
    jsonpayload_v1_updatedeliveryvehiclelog.response.lastlocation.rawlocation.longitude as lat, jsonpayload_v1_updatedeliveryvehiclelog.response.lastlocation.rawlocation.latitude as lng
    FROM `ProjectID.TableName.fleetengine_googleapis_com_update_delivery_vehicle`
  1. 选择 Chart Type as Bubble Map,然后选择 location 字段。
  2. 选择添加字段
  3. 为该字段命名并添加以下公式:CONCAT(lat, ",", lng)
  4. 将类型设置为地理->纬度, 经度
  5. 您可以通过向信息中心添加控件来过滤数据。例如,选择 日期范围过滤条件。
  6. 修改日期范围框以选择默认日期范围。
  7. 您可以为 vehicle_id 添加其他下拉列表控件。包含 通过这些控件,您可以直观地看到车辆的运动或 在行程中的移动。

Looker Studio 示例输出:

Looker Studio 示例输出

后续步骤

要符合数据保留政策,请参阅限制日志 留存率