Analizowanie logów w BigQuery

BigQuery to zaawansowane narzędzie do analizy danych. Możesz go używać do przechowywania logów przez dłuższy czas i wykonywania na danych zapytań podobnych do SQL. Aby używać BigQuery do analizy, musisz wyraźnie przekierować logi do BigQuery, jak opisano w następnej sekcji.

Przekierowywanie logów do BigQuery

  1. W eksploratorze logów utwórz filtr, który wyodrębnia 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 ujście.
  3. Określ nazwę ujścia (np. FleetEngineLogsSink). Kliknij Dalej.
  4. W sekcji 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 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 Użyj tabel partycjonowanych. Kliknij Dalej.
  9. Pozostaw bez zmian ustawienia Wybierz logi do uwzględnienia w ujściu i Wybierz logi, które mają być odfiltrowywane z ujścia.
  10. Kliknij Utwórz ujście.

Logi powinny zacząć wypełniać zbiór danych BigQuery, co może potrwać chwilę. Zobacz też Przekierowywanie logów do obsługiwanych miejsc docelowych.

Gdy przekierowujesz dane logów do BigQuery, automatycznie wypełnia się kilka tabel w zbiorze danych FleetEngineLogs, po jednej dla każdego typu logu:

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

Nazwy tabel są zgodne z tym wzorcem:

project_id.data_set.log_name

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

test-project.FleetEngineLogs.fleetengine_googleapis_com_create_trip

Przykładowe zapytania do BigQuery

Te przykładowe zapytania pokazują, jak wyszukiwać różne wpisy w logach w BigQuery.

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

Na przykład to zapytanie może wskazywać, że w ciągu ostatniej godziny:

  • Pojazd A zatrzymał się 10 razy w godzinie 12 i 8 razy w godzinie 13.
  • Pojazd B zatrzymał się 5 razy w godzinie 11 i 7 razy w godzinie 12.
  • Pojazd C zatrzymał się 12 razy w godzinie 13 i 9 razy w godzinie 14.

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

Integracja BigQuery z Looker Studio

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

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

  1. Uruchom nowy Looker Studio panel i jako połączenie danych wybierz BigQuery.
  2. Kliknij Zapytanie niestandardowe i ręcznie wpisz lub wybierz projekt w chmurze, który ma zostać obciążony.
  3. W polu zapytania wpisz jedno z tych zapytań.

Przykładowe zapytanie o przejazdy 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 o zaplanowane zadania

    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. Jako Typ wykresu wybierz Mapa bąbelkowa, a następnie wybierz pole lokalizacja.
  2. Kliknij Dodaj pole.
  3. Nazwij pole i dodaj ten wzór: CONCAT(lat, ",", lng).
  4. Jako typ ustaw Geograficzne->Szerokość geograficzna, Długość geograficzna.
  5. Do panelu możesz dodać elementy sterujące, aby filtrować dane. Na przykład wybierz filtr Zakres dat.
  6. Edytuj pole zakresu dat, aby wybrać domyślny zakres dat.
  7. Możesz dodać dodatkowe elementy sterujące listy rozwijanej dla vehicle_id. Dzięki tym elementom sterującym możesz wizualizować ruch pojazdu lub ruch w ramach przejazdu.

Przykładowe dane wyjściowe Looker Studio:

Przykładowe dane wyjściowe Looker Studio

Co dalej?

Aby zachować zgodność z zasadami przechowywania danych, zobacz Ograniczanie przechowywania logów.