Analizza i log con BigQuery

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

Esegui il routing dei log in 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 sink.
  3. Specifica un nome sink (ad esempio, FleetEngineLogsSink). Fai clic su Avanti.
  4. In Destinazione sink, seleziona Set di dati BigQuery.
  5. In Seleziona set di dati BigQuery, scegli Crea nuovo set di dati BigQuery.
  6. Nella finestra di dialogo Crea set di dati, inserisci un ID set di dati.
  7. Lascia tutto invariato e fai clic su Crea set di dati.
  8. Seleziona Utilizza tabelle partizionate. Fai clic su Avanti.
  9. Lascia Scegli i log da includere nel sink e Scegli i log da filtrare dal sink come sono.
  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.

Dopo aver instradato 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
  • AggiornaVeicolo
  • CreateTrip
  • GetTrip
  • AggiornaViaggio
  • ListTrips

I nomi delle tabelle utilizzano il seguente pattern:

project_id.data_set.log_name

Ad esempio, se il progetto è chiamato test-project e il nome del set di dati è FleetEngineLogs, la tabella CreateTrip avrà 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. Vedi 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 della query.

Query di esempio di 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 sulle 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 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 i criteri di conservazione dei dati, consulta Limitare la conservazione dei log.