Analizza i log con BigQuery

BigQuery è uno strumento potente per eseguire l'analisi. Puoi utilizzarlo per archiviare log a lungo termine ed eseguire query simili a SQL sui dati. Per utilizzare BigQuery per l'analisi, devi indirizzare esplicitamente i log a BigQuery, come descritto nella sezione successiva.

Esegui il routing dei log a BigQuery

  1. In Esplora log, crea un filtro che isola i log di Fleet Engine: Fleetengine.googleapis.com/Fleet.
  2. Nel riquadro Risultati query, fai clic sul menu Azioni o Altre azioni e scegli Crea sink.
  3. Specifica un nome del sink (ad esempio, FleetEngineLogsSink). Fai clic su Avanti.
  4. In Destinazione sink, seleziona Set di dati BigQuery.
  5. In Seleziona set di dati BigQuery, seleziona Crea nuovo set di dati BigQuery.
  6. Nella finestra di dialogo Crea set di dati, inserisci un ID set di dati.
  7. Lascia invariato tutto il resto e fai clic su Crea set di dati.
  8. Seleziona Utilizza tabelle partizionate. Fai clic su Avanti.
  9. Lascia invariate le sezioni Scegli i log da includere nel sink e Scegli i log da escludere dal sink.
  10. Fai clic su Crea sink.

I log dovrebbero ora iniziare a popolare il set di dati BigQuery, il che potrebbe richiedere un po' di tempo. Consulta anche Inviare i log alle destinazioni supportate.

Una volta instradati i dati di log a BigQuery, vengono compilate automaticamente diverse tabelle nel set di dati FleetEngineLogs, una per ogni tipo di log:

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

I nomi delle tabelle utilizzano il seguente pattern:

project_id.data_set.log_name

Ad esempio, se il progetto si chiama test-project e il nome del set di dati è FleetEngineLogs, la tabella CreateTrip ha il seguente nome:

test-project.FleetEngineLogs.fleetengine_googleapis_com_create_trip

Esempi di query per BigQuery

Le seguenti query di esempio mostrano come cercare diverse voci di log in BigQuery.

Numero di log CreateTrips raggruppati per ora

    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

Numero di fermate per veicolo all'ora

    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

Ad esempio, questa query potrebbe indicare che nell'ultima ora:

  • Il veicolo A ha completato 10 fermate nell'ora 12 e 8 fermate nell'ora 13.
  • Il veicolo B ha completato 5 fermate nell'undicesima ora e 7 fermate nella dodicesima ora.
  • Il veicolo C ha completato 12 fermate nell'ora 13 e 9 fermate nell'ora 14.

Vedi anche Visualizzare i log indirizzati a BigQuery.

Integrare BigQuery con Looker Studio

BigQuery può essere integrato con strumenti di business intelligence per creare dashboard per l'analisi aziendale. Consulta Looker Studio.

L'esempio seguente mostra come creare una dashboard di Looker Studio per visualizzare i viaggi e i movimenti dei veicoli su una mappa.

  1. Avvia una nuova dashboard di Looker Studio e seleziona BigQuery come connessione dati.
  2. Seleziona Query personalizzata e inserisci o seleziona manualmente il progetto Cloud a cui deve essere fatturato.
  3. Inserisci una delle seguenti query nella casella di query.

Esempio di query per viaggi on demand

    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`

Query di esempio per Attività pianificate

    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. Seleziona Tipo di grafico come Mappa a bolle, quindi seleziona il campo posizione.
  2. Seleziona Aggiungi un campo.
  3. Assegna un nome al campo e aggiungi la seguente formula: CONCAT(lat, ",", lng).
  4. Imposta il tipo su Dati geografici → Latitudine, Longitudine.
  5. Puoi aggiungere controlli alla dashboard per filtrare i dati. Ad esempio, seleziona il filtro Intervallo di date.
  6. Modifica la casella dell'intervallo di date per selezionarne uno predefinito.
  7. Puoi aggiungere altri controlli elenco a discesa per vehicle_id. Con questi controlli, puoi visualizzare il movimento del veicolo o il movimento all'interno di un viaggio.

Output di esempio di Looker Studio:

Output di esempio di Looker Studio

Passaggi successivi

Per rispettare le norme di conservazione dei dati, vedi Limitare la conservazione dei log.