Logs mit BigQuery analysieren

BigQuery ist ein leistungsstarkes Tool zur Durchführung von Analysen. Sie können damit um längerfristige Logs zu erstellen und SQL-ähnliche Abfragen der Daten durchzuführen. Um zu Analysezwecken an BigQuery weiterleiten, müssen Sie Ihre Logs die im nächsten Abschnitt beschrieben werden.

Logs an BigQuery weiterleiten

  1. Erstellen Sie im Log-Explorer einen Filter, der isoliert die Fleet Engine-Logs: Fleetengine.googleapis.com/Fleet.
  2. Klicken Sie im Bereich Abfrageergebnisse auf Aktionen oder Weitere Aktionen. und wählen Sie Senke erstellen aus.
  3. Geben Sie einen Senkennamen an (z. B. FleetEngineLogsSink). Klicken Sie auf Next.
  4. Wählen Sie unter Senkenziel die Option BigQuery-Dataset aus.
  5. Wählen Sie unter BigQuery-Dataset auswählen die Option Neues BigQuery-Dataset erstellen aus.
  6. Geben Sie im Dialogfeld Dataset erstellen eine Dataset-ID ein.
  7. Lassen Sie alles andere unverändert und klicken Sie auf Dataset erstellen.
  8. Klicken Sie das Kästchen Partitionierte Tabellen verwenden an. Klicken Sie auf Next.
  9. Verlassen Logs zum Einbinden in Senke auswählen und Logs zum Herausfiltern auswählen Sinken, wie sie sind.
  10. Klicken Sie auf Senke erstellen.

Ihre Logs sollten nun mit dem Auffüllen des BigQuery-Datasets beginnen, was einen nicht sehr lange. Siehe auch Logs an unterstützte Ziele weiterleiten

Sobald Sie Logdaten an BigQuery weiterleiten, werden mehrere Tabellen FleetEngineLogs-Datasets werden automatisch ausgefüllt, eines für jeden Logtyp:

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

Die Tabellennamen folgen dem folgenden Muster:

project_id.data_set.log_name

Wenn das Projekt beispielsweise test-project heißt und der Dataset-Name FleetEngineLogs erstellt hat, hat die Tabelle CreateTrip folgenden Namen:

test-project.FleetEngineLogs.fleetengine_googleapis_com_create_trip

Beispielabfragen für BigQuery

Die folgenden Beispielabfragen zeigen, wie Sie nach verschiedenen Logeinträgen suchen können in BigQuery.

Anzahl der CreateTrips-Logs, gruppiert nach Stunde

    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

Anzahl der Stopps pro Fahrzeug und Stunde

    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

Diese Abfrage könnte Ihnen beispielsweise Folgendes liefern:

  • Fahrzeug A hat in Stunde 12 10 Stopps und in Stunde 13 8 Stopps erreicht.
  • Fahrzeug B hat in Stunde 11 5 Stopps und in Stunde 12 7 Stopps erreicht.
  • Fahrzeug C hat in Stunde 13 12 Stopps und in Stunde 14 9 Stopps erreicht.

Weitere Informationen finden Sie unter An BigQuery weitergeleitete Logs ansehen.

BigQuery in Looker Studio einbinden

BigQuery kann in Business-Intelligence-Tools eingebunden werden, um Dashboards zu erstellen für die Geschäftsanalyse. Weitere Informationen finden Sie unter Looker Studio.

Das folgende Beispiel zeigt, wie Sie ein Looker Studio-Dashboard für Fahrten und Fahrzeugbewegungen auf einer Karte visualisieren.

  1. Starten Sie ein neues Looker Studio-Dashboard und wählen Sie BigQuery als Datenverbindung.
  2. Wählen Sie Benutzerdefinierte Abfrage aus und geben Sie das Cloud-Projekt manuell ein oder wählen Sie es aus. die in Rechnung gestellt werden sollte.
  3. Geben Sie eine der folgenden Abfragen in das Abfragefeld ein.

Beispielabfrage für On-Demand-Fahrten

    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`

Beispielabfrage für geplante Aufgaben

    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. Wählen Sie Diagrammtyp als Blasenkarte und anschließend das Feld Standort aus.
  2. Wählen Sie Feld hinzufügen aus.
  3. Geben Sie dem Feld einen Namen und fügen Sie die folgende Formel hinzu: CONCAT(lat, ",", lng).
  4. Legen Sie als Typ Geo-Region -> Breitengrad, Längengrad fest.
  5. Sie können dem Dashboard Steuerelemente hinzufügen, um Daten zu filtern. Wählen Sie beispielsweise Filter Zeitraum
  6. Bearbeiten Sie das Feld für den Zeitraum, um einen Standardzeitraum auszuwählen.
  7. Sie können zusätzliche Steuerelemente für die Drop-down-Liste für vehicle_id hinzufügen. Mit können Sie die Bewegung des Fahrzeugs Bewegung während einer Fahrt.

Beispielausgabe in Looker Studio:

Looker Studio-Beispielausgabe

Nächste Schritte

Informationen zur Einhaltung von Datenaufbewahrungsrichtlinien finden Sie unter Protokoll einschränken – Aufbewahrung.