BigQuery ile günlükleri analiz edin

BigQuery, analiz yapmak için güçlü bir araçtır. Bu hizmeti, uzun vadeli günlükleri depolamak ve verilere karşı SQL benzeri sorgular gerçekleştirmek için kullanabilirsiniz. BigQuery'yi analiz için kullanmak istiyorsanız günlüklerinizi açıkça BigQuery'ye yönlendirmeniz gerekir. Bu işlem, sonraki bölümde açıklanmıştır.

Günlükleri BigQuery'ye yönlendirme

  1. Günlük Gezgini'nde Fleet Engine günlüklerini ayıran bir filtre oluşturun: Fleetengine.googleapis.com/Fleet.
  2. Sorgu Sonuçları bölmesinde İşlemler veya Diğer İşlemler menüsünü tıklayın ve Oluşturma Havuzu'nu seçin.
  3. Bir hedef adı belirtin (örneğin, FleetEngineLogsSink). Next'i (Sonraki) tıklayın.
  4. Sink Destination (Hedef) bölümünde BigQuery dataset'i (BigQuery veri kümesi) seçin.
  5. BigQuery veri kümesi seçin bölümünde Yeni BigQuery veri kümesi oluştur'u seçin.
  6. Veri kümesi oluştur iletişim kutusunda bir Veri kümesi kimliği girin.
  7. Diğer tüm ayarları olduğu gibi bırakıp Veri kümesi oluştur'u tıklayın.
  8. Bölümlendirilmiş tabloları kullan'ı işaretleyin. Next'i (Sonraki) tıklayın.
  9. Havuza dahil edilecek günlükleri seçin ve Filtrelenip havuzdan çıkarılacak günlükleri seçin seçeneklerini olduğu gibi bırakın.
  10. Havuz Oluştur'u tıklayın.

Günlükleriniz artık BigQuery veri kümesini doldurmaya başlayacaktır. Bu işlem kısa bir süre sürebilir. Günlükleri desteklenen hedeflere yönlendirme başlıklı makaleyi de inceleyin.

Günlük verilerini BigQuery'ye yönlendirmeye başladığınızda, FleetEngineLogs veri kümesi altındaki çeşitli tablolar otomatik olarak doldurulur. Her günlük türü için bir tablo oluşturulur:

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

Tablo adları aşağıdaki düzeni kullanır:

project_id.data_set.log_name

Örneğin, proje adı test-project ve veri kümesi adı FleetEngineLogs ise CreateTrip tablosunun adı şu olur:

test-project.FleetEngineLogs.fleetengine_googleapis_com_create_trip

BigQuery için örnek sorgular

Aşağıdaki örnek sorgular, BigQuery'de farklı günlük girişlerini nasıl arayabileceğinizi gösterir.

Saate göre gruplandırılmış CreateTrips günlüklerinin sayısı

    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

Araç başına saatlik durak sayısı

    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

Örneğin, bu sorgu son bir saat içinde şunların olduğunu söyleyebilir:

  • A aracı 12. saatte 10 durak, 13. saatte ise 8 durak tamamladı.
  • B aracı, 11. saatte 5, 12. saatte 7 durak tamamladı.
  • C aracı, 13. saatte 12 durak, 14. saatte ise 9 durak tamamladı.

Ayrıca BigQuery'ye yönlendirilen günlükleri görüntüleme başlıklı makaleyi de inceleyin.

BigQuery'yi Looker Studio ile entegre etme

BigQuery, iş analizi için kontrol panelleri oluşturmak üzere iş zekası araçlarıyla entegre edilebilir. Looker Studio'ya bakın.

Aşağıdaki örnekte, gezileri ve araç hareketlerini haritada görselleştirmek için nasıl Looker Studio kontrol paneli oluşturulacağı gösterilmektedir.

  1. Yeni bir Looker Studio gösterge tablosu başlatın ve veri bağlantısı olarak BigQuery'yi seçin.
  2. Özel Sorgu'yu seçin ve faturalandırılacak Bulut Projesi'ni manuel olarak girin veya seçin.
  3. Sorgu kutusuna aşağıdaki sorgulardan birini girin.

İsteğe bağlı geziler için örnek sorgu

    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`

Planlanmış Görevler örnek sorgusu

    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. Grafik Türü olarak Kabarcık Haritası'nı ve ardından konum alanını seçin.
  2. Alan Ekle'yi seçin.
  3. Alanı adlandırın ve şu formülü ekleyin: CONCAT(lat, ",", lng).
  4. Türü Coğrafi->Enlem, Boylam olarak ayarlayın.
  5. Verileri filtrelemek için kontrol paneline kontroller ekleyebilirsiniz. Örneğin, Tarih aralığı filtresini seçin.
  6. Varsayılan tarih aralığı seçmek için tarih aralığı kutusunu düzenleyin.
  7. vehicle_id için ek açılır liste kontrolleri ekleyebilirsiniz. Bu kontrollerle aracın hareketini veya bir gezi içindeki hareketi görselleştirebilirsiniz.

Looker Studio örnek çıkışı:

Looker Studio örnek çıktısı

Sırada ne var?

Veri saklama politikalarına uymak için Günlük saklamayı kısıtlama başlıklı makaleyi inceleyin.