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 utiliser BigQuery à des fins d'analyse, 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 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 Acheminer 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 pendant la 12e heure et 8 arrêts pendant la 13e heure.
  • 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é à des outils d'informatique décisionnelle pour créer des tableaux de bord d'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 manuellement ou sélectionnez le projet Cloud auquel il doit être facturé.
  3. Saisissez l'une des requêtes suivantes dans le champ 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 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 par défaut.
  7. Vous pouvez ajouter des commandes de liste déroulante supplémentaires pour vehicle_id. Grâce à ces commandes, vous pouvez 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.