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 effectuer des requêtes de type SQL sur les données. Pour utiliser BigQuery à des fins d'analyse, vous devez explicitement acheminer vos journaux vers BigQuery, comme décrit 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 le menu Actions ou Plus d'actions , puis sélectionnez Créer un récepteur.
  3. Spécifiez un nom de récepteur (par exemple, FleetEngineLogsSink). Cliquez sur Suivant.
  4. Dans le champ Destination du récepteur, sélectionnez Ensemble de données BigQuery.
  5. Dans le champ Sélectionner un ensemble de données BigQuery, sélectionnez 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. Laissez tout le reste tel quel, puis cliquez sur Créer un ensemble de données.
  8. Cochez la case Utiliser des tables partitionnées. Cliquez sur Suivant.
  9. Laissez les options Choisir les journaux à inclure dans le récepteur et Choisir les journaux à exclure du récepteur telles quelles.
  10. Cliquez sur Créer un récepteur.

Vos journaux devraient maintenant commencer à remplir l'ensemble de données BigQuery, ce qui peut prendre un certain temps. Consultez également Acheminer les journaux vers des destinations compatibles.

Une fois que vous acheminez les données de journal vers BigQuery, plusieurs tables de l'ensemble de données FleetEngineLogs sont automatiquement remplies, une pour chaque type de journal :

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

Les noms de table suivent le modèle suivant :

project_id.data_set.log_name

Par exemple, si le projet s'appelle test-project et que l'ensemble de données s'appelle FleetEngineLogs, la CreateTrip table 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 lors de la dernière heure :

  • Le véhicule A a effectué 10 arrêts à 12h et 8 arrêts à 13h.
  • Le véhicule B a effectué 5 arrêts à 11h et 7 arrêts à 12h.
  • Le véhicule C a effectué 12 arrêts à 13h et 9 arrêts à 14h.

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

Intégrer BigQuery à Looker Studio

BigQuery peut être intégré à des outils de veille stratégique pour créer des tableaux de bord destinés à 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 à facturer.
  3. Saisissez l'une des requêtes suivantes dans la zone de requête.

Exemple de requête pour les 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 pour les 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 : Carte à bulles, puis sélectionnez le champ Emplacement.
  2. Sélectionnez Ajouter un champ.
  3. Nommez le champ et ajoutez la formule suivante : CONCAT(lat, ",", lng).
  4. Définissez le type sur Données géographiques -> 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 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. Ces commandes vous permettent de visualiser le mouvement du véhicule ou le mouvement 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 Limiter la conservation des journaux.