Analizza i log con BigQuery

BigQuery è un potente strumento per eseguire analisi. Puoi utilizzarlo per archiviare a lungo termine ed eseguire query di tipo SQL sui dati. Per utilizzare BigQuery per l'analisi, devi eseguire esplicitamente il routing dei log a BigQuery, descritti nella prossima sezione.

Esegui il routing dei log in BigQuery

  1. In Esplora log, crea un filtro che isola i log di Fleet Engine: Fleetengine.googleapis.com/Fleet.
  2. Nel riquadro Risultati delle query, fai clic su 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 escludere dai filtri disponibili così come sono.
  10. Fai clic su Crea sink.

A questo punto i log dovrebbero iniziare a completare il set di dati BigQuery, che può richiedere un per un breve periodo di tempo. Vedi anche Routing dei log alle destinazioni supportate.

Una volta eseguito il routing dei dati di log a BigQuery, diverse tabelle sotto il Il set di dati FleetEngineLogs viene compilato automaticamente, uno 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 è denominato 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 che seguono 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 soste nell'ora 12.
  • 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. Vedi Looker Studio.

L'esempio seguente mostra come creare una dashboard di Looker Studio per per visualizzare viaggi e 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 per che deve essere fatturato.
  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 formula seguente: 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 selezionare un intervallo di date predefinito.
  7. Puoi aggiungere ulteriori controlli dell'elenco a discesa per vehicle_id. Con questi controlli, puoi visualizzare il movimento del veicolo o movimento durante un viaggio.

Output di esempio di Looker Studio:

Output di esempio di Looker Studio

Passaggi successivi

Per rispettare le norme sulla conservazione dei dati, vedi Limita log la conservazione.