Analyser les journaux avec BigQuery

BigQuery est un outil puissant pour effectuer des analyses. Vous pouvez l'utiliser pour stocker des journaux à plus long terme et d'exécuter des requêtes de type SQL sur les données. Pour utiliser BigQuery à des fins d'analyse, vous devez acheminer explicitement vos journaux vers BigQuery, décrites dans la section suivante.

Acheminer les journaux vers BigQuery

  1. Dans l'explorateur de journaux, créez un filtre qui isole les journaux Fleet Engine: Fleetengine.googleapis.com/Fleet.
  2. Dans le volet Résultats de la requête, cliquez sur Actions ou Autres actions. et choisissez Créer un récepteur.
  3. Spécifiez un nom de récepteur (par exemple, FleetEngineLogsSink). Cliquez sur Suivant.
  4. Dans Destination du récepteur, sélectionnez Ensemble de données BigQuery.
  5. Dans Sélectionnez un ensemble de données BigQuery, cliquez sur Créer un ensemble de données BigQuery.
  6. Dans la boîte de dialogue Créer un ensemble de données, saisissez un ID d'ensemble de données.
  7. Ne modifiez aucun autre élément et cliquez sur Créer l'ensemble de données.
  8. Cochez la case Utiliser des tables partitionnées. Cliquez sur Suivant.
  9. Laissez Choisir les journaux à inclure dans le récepteur et Choisir les journaux à exclure de récepteur en l'état.
  10. Cliquez sur Créer un récepteur.

Vos journaux devraient maintenant commencer à remplir l'ensemble de données BigQuery, ce qui peut prendre peu de temps après. Consultez également Router les journaux vers les destinations compatibles.

Une fois que vous avez acheminé des données de journaux vers BigQuery, plusieurs tables situées sous le FleetEngineLogs sont automatiquement renseignés, un pour chaque type de journal:

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

Les noms de table utilisent le format suivant:

project_id.data_set.log_name

Par exemple, si le projet est nommé test-project et que le nom de l'ensemble de données est FleetEngineLogs, la table CreateTrip porte le nom suivant:

test-project.FleetEngineLogs.fleetengine_googleapis_com_create_trip

Exemples de requêtes pour BigQuery

Les exemples de requêtes suivants montrent comment rechercher différentes entrées de journal dans BigQuery.

Nombre de journaux CreateTrips regroupés par heure

    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

Nombre d'arrêts par véhicule et par heure

    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

Par exemple, cette requête peut vous indiquer que dans la dernière heure:

  • Le véhicule A a effectué 10 arrêts au cours de l'heure 12 et 8 arrêts au cours de l'heure 13.
  • Le véhicule B a effectué 5 arrêts au cours de l'heure 11 et 7 arrêts au cours de l'heure 12.
  • Le véhicule C a effectué 12 arrêts au cours de l'heure 13 et 9 arrêts au cours de l'heure 14.

Consultez également Afficher les journaux acheminés vers BigQuery.

Intégrer BigQuery à Looker Studio

BigQuery peut être intégré aux outils d'informatique décisionnelle pour créer des tableaux de bord pour l'analyse commerciale. Consultez Looker Studio.

L'exemple suivant montre comment créer un tableau de bord Looker Studio pour visualiser les trajets et les mouvements des véhicules sur une carte.

  1. Lancez un nouveau tableau de bord Looker Studio et sélectionnez BigQuery comme connexion de données.
  2. Sélectionnez Requête personnalisée, puis saisissez ou sélectionnez manuellement le projet Cloud à qui doit être facturé.
  3. Saisissez l'une des requêtes suivantes dans la zone de requête.

Exemple de requête de trajets à la demande

    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`

Exemple de requête de tâches planifiées

    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. Sélectionnez Type de graphique en tant que carte à bulles, puis sélectionnez le champ Emplacement.
  2. Sélectionnez Ajouter un champ.
  3. Attribuez un nom au champ et ajoutez la formule suivante: CONCAT(lat, ",", lng).
  4. Définissez le type sur Géo->Latitude, Longitude.
  5. Vous pouvez ajouter des commandes au tableau de bord pour filtrer les données. Par exemple, sélectionnez Le filtre Plage de dates
  6. Modifiez la zone de sélection de la plage de dates pour sélectionner une plage de dates par défaut.
  7. Vous pouvez ajouter des commandes de liste déroulante supplémentaires pour vehicle_id. Avec vous pouvez visualiser le mouvement du véhicule au cours d'un trajet.

Exemple de résultat Looker Studio:

Exemple de résultat Looker Studio

Étape suivante

Pour respecter les règles de conservation des données, consultez l'article Restreindre les journaux et conservation.