Analizowanie logów w BigQuery

BigQuery to zaawansowane narzędzie do przeprowadzania analiz. Możesz go używać do przechowywania dłuższych logów i wykonywaniu 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.

Przekierowywanie dzienników do BigQuery

  1. W Eksploratorze logów utwórz filtr, który odfiltruje logi usługi Fleet Engine: Fleetengine.googleapis.com/Fleet.
  2. W panelu Wyniki zapytania kliknij menu Działania lub Więcej działań i wybierz Utwórz zlewnię.
  3. Podaj nazwę odbiornika (np. FleetEngineLogsSink). Kliknij Dalej.
  4. W polu Docelowy odbiornik danych wybierz Zbiór danych BigQuery.
  5. W sekcji Wybierz zbiór danych BigQuery kliknij Utwórz nowy zbiór danych BigQuery.
  6. W oknie Utwórz zbiór danych wpisz identyfikator zbioru danych.
  7. Pozostaw wszystkie inne ustawienia bez zmian i kliknij Utwórz zbiór danych.
  8. Zaznacz pole wyboru Użyj tabel partycjonowanych. Kliknij Dalej.
  9. Pozostaw opcje Wybierz logi do uwzględnienia w zbiornikuWybierz logi do odfiltrowania z zbiornika w swoim pierwotnym stanie.
  10. Kliknij Utwórz zlewnię.

Twoje logi powinny zacząć wypełniać zbiór danych BigQuery. Może to zająć chwilę. Zobacz też Logi tras do obsługiwanych miejsc docelowych.

Gdy dane logów są kierowane do BigQuery, automatycznie wypełniają się liczne tabele w zbiorze danych FleetEngineLogs, po jednej dla każdego typu dziennika:

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

Nazwy tabel mają następujący format:

project_id.data_set.log_name

Jeśli np. projekt nosi nazwę test-project, a zbiór danych – FleetEngineLogs, tabela CreateTrip będzie miała nazwę:

test-project.FleetEngineLogs.fleetengine_googleapis_com_create_trip

Przykładowe zapytania do BigQuery

Z podanych niżej przykładowych zapytań dowiesz się, jak wyszukiwać w BigQuery różne wpisy w logach.

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 przystanków 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 ostatniej godzinie:

  • Pojazd A wykonał 10 postojów w godz. 12 i 8 postojów w godz. 13.
  • Pojazd B wykonał 5 postojów w godz. 11 i 7 postojów w godz. 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 analizy biznesowej, aby tworzyć panele do analizy biznesowej. Zapoznaj się z Looker Studio.

Ten przykład pokazuje, jak utworzyć w Looker Studio panel do wizualizacji przejazdów i przemieszczania się pojazdów na mapie.

  1. Uruchom nową konsolę 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 mają być naliczane opłaty.
  3. Wpisz w polu zapytań 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. Kliknij Typ wykresu jako mapa punktowa, a następnie wybierz pole lokalizacja.
  2. Kliknij 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. Wybierz na przykład filtr Zakres dat.
  6. W polu zakresu dat wybierz domyślny zakres dat.
  7. Możesz dodać dodatkowe ustawienia listy rozwijanej dla vehicle_id. Za pomocą tych elementów możesz wizualizować ruch pojazdu lub ruch w ramach podróży.

Przykładowe dane wyjściowe Looker Studio:

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

Co dalej?

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