Analizowanie logów w BigQuery

BigQuery to zaawansowane narzędzie do przeprowadzania analiz. Można jej używać do przechowywania logów o dłuższym okresie i wykonywania na danych zapytań podobnych do SQL. Aby używać BigQuery do analiz, musisz wyraźnie przekierowywać dzienniki do BigQuery w sposób opisany w następnej sekcji.

Kieruj logi do BigQuery

  1. W Eksploratorze logów utwórz filtr, który izoluje logi Fleet Engine: Fleetengine.googleapis.com/Fleet.
  2. W panelu Wyniki zapytania kliknij menu Działania lub Więcej działań i wybierz Utwórz odbiornik.
  3. Podaj nazwę ujścia (na przykład FleetEngineLogsSink). Kliknij Dalej.
  4. W polu Miejsce docelowe ujścia wybierz Zbiór danych BigQuery.
  5. W sekcji Wybierz zbiór danych BigQuery kliknij Utwórz nowy zbiór danych BigQuery.
  6. W oknie Tworzenie zbioru danych wpisz identyfikator zbioru danych.
  7. Pozostaw wszystko bez zmian i kliknij Utwórz zbiór danych.
  8. Zaznacz pole Użyj tabel podzielonych na partycje. Kliknij Dalej.
  9. Pozostaw opcje Wybierz logi do uwzględnienia w ujścia i Wybierz logi do filtrowania poza ujście.
  10. Kliknij Utwórz ujście.

Twoje logi powinny teraz zapełniać zbiór danych BigQuery, co może chwilę potrwać. Zobacz też Przekierowywanie logów do obsługiwanych miejsc docelowych.

Gdy skierujesz dane logów do BigQuery, kilka tabel w zbiorze danych FleetEngineLogs zostanie automatycznie uzupełnionych, po jednej dla każdego typu logu:

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

Nazwy tabel używają tego wzoru:

project_id.data_set.log_name

Jeśli na przykład projekt nazywa się test-project, a nazwa zbioru danych to FleetEngineLogs, tabela CreateTrip ma taką nazwę:

test-project.FleetEngineLogs.fleetengine_googleapis_com_create_trip

Przykładowe zapytania do BigQuery

Poniżej znajdziesz przykładowe zapytania, które pokazują, jak wyszukiwać w BigQuery różne wpisy w dzienniku.

Liczba logów CreateTrips pogrupowanych według godziny

    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

Liczba przesiadek na pojazd na godzinę

    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

Z tego zapytania możesz na przykład dowiedzieć się, że w ciągu ostatniej godziny:

  • Pojazd A wykonał 10 przejazdów w godzinie 12 i 8 przejazdów w godzinie 13.
  • Pojazd B wykonał 5 zatrzymań w godzinie 11 i 7 zatrzymań w godzinie 12.
  • Pojazd C wykonał 12 postojów w godzinie 13 i 9 postojów w godzinie 14.

Zobacz też Wyświetlanie logów kierowanych do BigQuery.

Integracja BigQuery z Looker Studio

BigQuery można zintegrować z narzędziami do analityki biznesowej, aby tworzyć panele do analityki biznesowej. Zobacz Looker Studio.

Z przykładu poniżej dowiesz się, jak utworzyć panel Looker Studio do wizualizacji podróży i ruchu pojazdów na mapie.

  1. Uruchom nowy panel Looker Studio i jako połączenie danych wybierz BigQuery.
  2. Wybierz Zapytanie niestandardowe i ręcznie wpisz lub wybierz projekt w Google Cloud, za który ma być naliczane opłaty.
  3. Wpisz w polu zapytania jedno z tych zapytań.

Przykładowe zapytanie dotyczące przejazdów na żądanie

    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`

Przykładowe zapytanie dotyczące zaplanowanych zadań

    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. Wybierz Typ wykresu jako mapa bąbelkowa, a następnie wybierz pole lokalizacja.
  2. Wybierz Dodaj pole.
  3. Nazwij pole i dodaj tę formułę: CONCAT(lat, ",", lng).
  4. Ustaw typ na Geo->szerokość geograficzna, długość geograficzna.
  5. Do panelu możesz dodawać elementy sterujące, aby filtrować dane. Na przykład wybierz filtr Zakres dat.
  6. Aby wybrać domyślny zakres dat, edytuj pole zakresu dat.
  7. Możesz dodać więcej opcji listy dla vehicle_id. Dzięki tym elementom sterującym możesz wizualizować ruch pojazdu lub poruszanie się podczas podróży.

Przykładowe dane wyjściowe narzędzia Looker Studio:

Przykładowe dane wyjściowe Looker Studio

Co dalej?

Aby zachować zgodność z zasadami przechowywania danych, zapoznaj się z artykułem Ograniczanie przechowywania logów.