Analizowanie logów w BigQuery

BigQuery to zaawansowane narzędzie do przeprowadzania analiz. Możesz ich używać do przechowywania długoterminowe logi i wykonywanie na nich zapytań podobnych do SQL. Aby użyć funkcji BigQuery do analizy, musisz jawnie kierować swoje logi do BigQuery zgodnie opisane 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 Działania lub Więcej działań i wybierz Utwórz ujście.
  3. Podaj nazwę ujścia (na przykład 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 Tworzenie zbioru danych wpisz identyfikator zbioru danych.
  7. Pozostaw wszystkie pozostałe ustawienia bez zmian i kliknij Utwórz zbiór danych.
  8. Zaznacz Użyj tabel partycjonowanych. Kliknij Dalej.
  9. Pozostaw Wybierz logi do uwzględnienia w ujścia i Wybierz logi, które mają być odfiltrowywane do zlewu.
  10. Kliknij Utwórz ujście.

Logi powinny teraz zacząć zapełniać zbiór danych BigQuery, który może zająć za chwilę. Zapoznaj się też z artykułem Kierowanie dzienników do obsługiwanych miejsc docelowych.

Po skierowaniu danych dziennika do BigQuery pojawi się kilka tabel w sekcji Zbiór danych FleetEngineLogs jest wypełniany automatycznie, po jednym dla każdego typu logu:

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

Nazwy tabel mają następujący wzorzec:

project_id.data_set.log_name

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

test-project.FleetEngineLogs.fleetengine_googleapis_com_create_trip

Przykładowe zapytania dotyczące BigQuery

Poniższe przykładowe zapytania pokazują, jak wyszukać różne wpisy logu 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 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

To zapytanie może na przykład pokazać, że w ciągu ostatniej godziny:

  • Pojazd A pokonał 10 przesiadek w godziny 12 i 8 przesiadkach w godziny 13.
  • Pojazd B zatrzymał się 5 przesiadek w godziny 11 i 7 przesiadkach w godzinie 12.
  • Pojazd C ma 12 przesiadek w godziny 13 i 9 przesiadek 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 wizualizowanie podróży i ruchu pojazdów na mapie.

  1. Uruchom nowy panel Looker Studio i wybierz BigQuery jako połączenie danych.
  2. Wybierz Zapytanie niestandardowe i wpisz lub wybierz projekt Cloud, aby który ma być obciążany.
  3. Wpisz w polu zapytania jedno z tych zapytań.

Przykładowe zapytanie dotyczące podróży 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 to pole i dodaj tę formułę: CONCAT(lat, ",", lng).
  4. Ustaw typ na Geo->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. Aby wybrać domyślny zakres dat, edytuj pole zakresu dat.
  7. Możesz dodać więcej opcji listy dla vehicle_id. Na możesz wizualizować ruch pojazdu lub ruch w trakcie 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 sekcją Ograniczanie dziennika i ich przechowywaniu.