Logs mit BigQuery analysieren

BigQuery ist ein leistungsstarkes Tool für die Analyse. Sie können damit Logs langfristig speichern und SQL-ähnliche Abfragen für die Daten ausführen. Wenn Sie BigQuery für die Analyse verwenden möchten, müssen Sie Ihre Logs explizit an BigQuery weiterleiten, wie im nächsten Abschnitt beschrieben.

Logs an BigQuery weiterleiten

  1. Erstellen Sie im Log-Explorer einen Filter, der die Fleet Engine-Logs isoliert: Fleetengine.googleapis.com/Fleet.
  2. Klicken Sie im Bereich Abfrageergebnisse auf das Menü Aktionen oder Weitere Aktionen und wählen Sie Senke erstellen aus.
  3. Geben Sie einen Namen für die Senke an, z. B. FleetEngineLogsSink. Klicken Sie auf Weiter.
  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 alle anderen Einstellungen unverändert und klicken Sie auf Dataset erstellen.
  8. Setzen Sie ein Häkchen bei Partitionierte Tabellen verwenden. Klicken Sie auf Weiter.
  9. Lassen Sie die Einstellungen unter Logs auswählen, die in der Senke enthalten sind und Logs auswählen, die aus der Senke herausgefiltert werden sollen unverändert.
  10. Klicken Sie auf Senke erstellen.

Ihre Logs sollten jetzt in das BigQuery-Dataset aufgenommen werden. Das kann einige Zeit dauern. Weitere Informationen finden Sie unter Logs an unterstützte Ziele weiterleiten.

Wenn Sie Logdaten an BigQuery weiterleiten, werden automatisch mehrere Tabellen im Dataset FleetEngineLogs gefüllt, eine für jeden Logtyp:

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

Die Tabellennamen folgen diesem Muster:

project_id.data_set.log_name

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

test-project.FleetEngineLogs.fleetengine_googleapis_com_create_trip

Beispielabfragen für BigQuery

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

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 Haltepunkte 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

Mit dieser Abfrage können Sie beispielsweise Folgendes ermitteln:

  • Fahrzeug A hat in Stunde 12 10 Haltepunkte und in Stunde 13 8 Haltepunkte erreicht.
  • Fahrzeug B hat in Stunde 11 5 Haltepunkte und in Stunde 12 7 Haltepunkte erreicht.
  • Fahrzeug C hat in Stunde 13 12 Haltepunkte und in Stunde 14 9 Haltepunkte 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 für die Geschäftsanalytik zu erstellen. Weitere Informationen finden Sie unter Looker Studio.

Das folgende Beispiel zeigt, wie Sie ein Looker Studio-Dashboard erstellen, um Fahrten und Fahrzeugbewegungen auf einer Karte zu visualisieren.

  1. Starten Sie ein neues Looker Studio-Dashboard und wählen Sie BigQuery als Datenverbindung aus.
  2. Wählen Sie Benutzerdefinierte Abfrage aus und geben Sie das Cloud-Projekt ein oder wählen Sie es aus, dem die Kosten in Rechnung gestellt werden sollen.
  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 Karte mit Blasen und dann das Feld Standort aus.
  2. Wählen Sie Feld hinzufügen aus.
  3. Geben Sie einen Namen für das Feld ein und fügen Sie die folgende Formel hinzu: CONCAT(lat, ",", lng).
  4. Legen Sie den Typ auf Standort->Breitengrad, Längengrad fest.
  5. Sie können dem Dashboard Steuerelemente hinzufügen, um Daten zu filtern. Wählen Sie beispielsweise den Filter Zeitraum aus.
  6. Bearbeiten Sie das Feld für den Zeitraum, um einen Standardzeitraum auszuwählen.
  7. Sie können zusätzliche Steuerelemente für Dropdown-Listen für vehicle_id hinzufügen. Mit diesen Steuerelementen können Sie die Bewegung des Fahrzeugs oder die Bewegung während einer Fahrt visualisieren.

Beispielausgabe von Looker Studio:

Looker Studio-Beispielausgabe

Nächste Schritte

Informationen zur Einhaltung von Richtlinien zur Datenaufbewahrung finden Sie unter Aufbewahrung von Logs einschränken.