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 pour effectuer des requêtes de type SQL sur les données. Pour effectuer des analyses à l'aide de BigQuery, vous devez acheminer explicitement 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 du moteur de flotte : Fleetengine.googleapis.com/Fleet.
  2. Dans le volet Résultats de la requête, cliquez sur le menu Actions ou Autres 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 Destination du récepteur, sélectionnez Ensemble de données BigQuery.
  5. Dans Sélectionnez 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 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 Sélectionner des journaux à inclure dans le récepteur et Sélectionner des 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 Router les journaux vers les 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 renseignées, une pour chaque type de journal :

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

Les noms des tables suivent le modèle suivant :

project_id.data_set.log_name

Par exemple, si le projet s'appelle 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 groupé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, au cours de 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é cinq arrêts au cours de la 11e heure et sept arrêts au cours de la 12e heure.
  • Le véhicule C a effectué 12 arrêts pendant la 13e heure et 9 arrêts pendant la 14e heure.

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 afin de créer des tableaux de bord pour les analyses commerciales. 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 auquel la facturation doit être effectuée.
  3. Saisissez l'une des requêtes suivantes dans le champ 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. 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 la section Restreindre la conservation des journaux.