Analizza i log con BigQuery

BigQuery è uno strumento potente per eseguire analisi. Puoi utilizzarlo per archiviare log su periodi più lunghi ed eseguire query simili a SQL sui dati. Per utilizzare BigQuery per l'analisi, devi inoltrare esplicitamente i log a BigQuery, come descritto nella sezione successiva.

Inoltra i log a BigQuery

  1. In Esplora log, crea un filtro che isole i log di Fleet Engine: Fleetengine.googleapis.com/Fleet.
  2. Nel riquadro Risultati delle query, fai clic sul menu Azioni o Altre azioni e scegli Crea destinazione.
  3. Specifica un nome per il 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 invariati gli altri elementi e fai clic su Crea set di dati.
  8. Seleziona Utilizza tabelle partizionate. Fai clic su Avanti.
  9. Lascia invariate le opzioni Scegli i log da includere nel sink e Scegli i log da escludere dal sink.
  10. Fai clic su Crea sink.

Ora i log dovrebbero iniziare a compilare il set di dati BigQuery, il che può richiedere un breve tempo. Consulta anche Indirizzare i log alle destinazioni supportate.

Una volta instradati i dati dei log in BigQuery, diverse tabelle del set di dati FleetEngineLogs vengono compilate automaticamente, 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 query di esempio riportate di seguito 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'ora 11 e 7 fermate nell'ora 12.
  • Il veicolo C ha completato 12 fermate nell'ora 13 e 9 fermate nell'ora 14.

Consulta anche Visualizzare i log inviati a BigQuery.

Integrare BigQuery con Looker Studio

BigQuery può essere integrato con gli 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 manualmente o seleziona il progetto Cloud a cui deve essere addebitata.
  3. Inserisci una delle seguenti query nella casella delle query.

Query di esempio per i 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 le 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 Località.
  2. Seleziona Aggiungi un campo.
  3. Assegna un nome al campo e aggiungi la seguente formula: CONCAT(lat, ",", lng).
  4. Imposta il tipo su Geo->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 selezionare un intervallo di date predefinito.
  7. Puoi aggiungere altri controlli dell'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 sulla conservazione dei dati, consulta Limitare la conservazione dei log.