BigQuery ist ein leistungsstarkes Tool für Analysen. Sie können sie verwenden, um Logs langfristig zu speichern und SQL-ähnliche Abfragen für die Daten auszufü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
- Erstellen Sie im Log-Explorer einen Filter, mit dem die Fleet Engine-Logs isoliert werden:
Fleetengine.googleapis.com/Fleet
. - Klicken Sie im Bereich Abfrageergebnisse auf das Menü Aktionen oder Weitere Aktionen und wählen Sie Senke erstellen aus.
- Geben Sie einen Senkennamen an, z. B. FleetEngineLogsSink. Klicken Sie auf Weiter.
- Wählen Sie unter Senkenziel die Option BigQuery-Dataset aus.
- Wählen Sie unter BigQuery-Dataset auswählen die Option Neues BigQuery-Dataset erstellen aus.
- Geben Sie im Dialogfeld Dataset erstellen eine Dataset-ID ein.
- Lassen Sie alle anderen Einstellungen unverändert und klicken Sie auf Dataset erstellen.
- Klicken Sie das Kästchen Partitionierte Tabellen verwenden an. Klicken Sie auf Weiter.
- Lassen Sie die Einstellungen unter Logs auswählen, die in der Senke enthalten sind und Auswählen zum Filtern aus der Senke unverändert.
- Klicken Sie auf Senke erstellen.
Die Logs sollten jetzt in das BigQuery-Dataset übertragen werden. Das kann eine Weile dauern. Weitere Informationen finden Sie unter Logs an unterstützte Ziele weiterleiten.
Sobald Sie Logdaten an BigQuery weiterleiten, werden automatisch mehrere Tabellen im Dataset FleetEngineLogs ausgefüllt, eine 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 lautet, hat die Tabelle CreateTrip
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-Protokolle, 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
Mit dieser Abfrage können Sie beispielsweise Folgendes herausfinden:
- Fahrzeug A hat in Stunde 12 zehn Haltestellen und in Stunde 13 acht Haltestellen angefahren.
- Fahrzeug B hat in Stunde 11 fünf und in Stunde 12 sieben Stopps eingelegt.
- Fahrzeug C hat in Stunde 13 12 Haltestellen und in Stunde 14 9 Haltestellen angefahren.
BigQuery in Looker Studio einbinden
BigQuery lässt sich in Business-Intelligence-Tools einbinden, um Dashboards für die Geschäftsanalyse zu erstellen. Weitere Informationen zu Looker Studio
Im folgenden Beispiel wird gezeigt, wie Sie ein Looker Studio-Dashboard erstellen, um Fahrten und Fahrzeugbewegungen auf einer Karte zu visualisieren.
- Erstellen Sie ein neues Looker Studio-Dashboard und wählen Sie BigQuery als Datenverbindung aus.
- Wählen Sie Benutzerdefinierte Abfrage aus und geben Sie das Cloud-Projekt, dem die Kosten in Rechnung gestellt werden sollen, manuell ein oder wählen Sie es aus.
- 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`
- Wählen Sie Karte mit Blasen als Diagrammtyp und dann das Feld Standort aus.
- Wählen Sie Feld hinzufügen aus.
- Geben Sie dem Feld einen Namen und fügen Sie die folgende Formel hinzu:
CONCAT(lat, ",", lng)
. - Legen Sie den Typ auf Standort → Breitengrad, Längengrad fest.
- Sie können dem Dashboard Steuerelemente hinzufügen, um Daten zu filtern. Wählen Sie beispielsweise den Filter Zeitraum aus.
- Bearbeiten Sie das Feld für den Zeitraum, um einen Standardzeitraum auszuwählen.
- Sie können zusätzliche Drop-down-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.
Looker Studio-Beispielausgabe:
Nächste Schritte
Informationen zur Einhaltung von Richtlinien zur Datenaufbewahrung finden Sie unter Aufbewahrung von Logs einschränken.