BigQuery – это мощный инструмент для анализа данных. Вы можете использовать его для хранения журналов в течение более длительного времени и выполнения SQL-запросов к данным. Чтобы использовать BigQuery для анализа, необходимо явно направить журналы в BigQuery, как описано в следующем разделе.
Маршрутизация журналов в BigQuery
- В Проводнике журналов создайте фильтр, который изолирует журналы Fleet Engine:
Fleetengine.googleapis.com/Fleet. - На панели Query Results (Результаты запроса) нажмите на меню Actions (Действия) или More Actions (Дополнительные действия) и выберите Create Sink (Создать приемник).
- Укажите название приемника (например, FleetEngineLogsSink). Нажмите Далее.
- В разделе Sink Destination (Целевой приемник) выберите BigQuery dataset (Набор данных BigQuery).
- В разделе Выберите набор данных BigQuery нажмите Создать набор данных BigQuery.
- В диалоговом окне Создание набора данных введите идентификатор набора данных.
- Оставьте остальные настройки без изменений и нажмите Create dataset (Создать набор данных).
- Установите флажок Использовать секционированные таблицы. Нажмите Далее.
- Оставьте поля Выберите журналы, которые нужно добавить в приемник и Выберите журналы, которые нужно исключить из приемника без изменений.
- Нажмите Create Sink (Создать приемник).
Набор данных BigQuery начнет заполняться журналами. Это может занять некоторое время. Подробнее о том, как маршрутизировать журналы в поддерживаемые целевые сервисы…
После настройки маршрутизации данных журналов в BigQuery автоматически заполняются несколько таблиц в наборе данных FleetEngineLogs, по одной для каждого типа журнала:
- CreateVehicle
- GetVehicle
- ListVehicles
- SearchVehicles
- UpdateVehicle
- CreateTrip
- GetTrip
- UpdateTrip
- ListTrips
Названия таблиц соответствуют следующему шаблону:
project_id.data_set.log_name
Например, если проект называется test-project, а набор данных – FleetEngineLogs, то таблица CreateTrip будет называться следующим образом:
test-project.FleetEngineLogs.fleetengine_googleapis_com_create_trip
Примеры запросов для BigQuery
В примерах ниже показано, как искать разные записи в журналах в BigQuery.
Количество журналов CreateTrips, сгруппированных по часам
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
Количество остановок на транспортное средство в час
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
Например, этот запрос может показать, что за последний час:
- Транспортное средство A сделало 10 остановок в 12:00 и 8 остановок в 13:00.
- Транспортное средство B сделало 5 остановок в 11-й час и 7 остановок в 12-й час.
- Транспортное средство C сделало 12 остановок в 13-й час и 9 остановок в 14-й час.
Подробнее о том, как посмотреть журналы, перенаправленные в BigQuery…
Как интегрировать BigQuery с Looker Studio
BigQuery можно интегрировать с инструментами бизнес-аналитики для создания информационных панелей. Подробнее о Looker Studio…
В примере ниже показано, как создать панель Looker Studio для визуализации поездок и перемещений транспортных средств на карте.
- Запустите новую панель управления Looker Studio и выберите BigQuery в качестве подключения к данным.
- Выберите Специальный запрос и вручную введите или выберите облачный проект, для которого будет выставляться счет.
- Введите в поле запроса один из следующих запросов.
Пример запроса для поездок по запросу
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`
Пример запроса для запланированных задач
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`
- Выберите Chart Type as Bubble Map (Тип диаграммы: пузырьковая карта), а затем выберите поле location (местоположение).
- Выберите Добавить поле.
- Укажите название поля и добавьте следующую формулу:
CONCAT(lat, ",", lng). - Выберите тип Геоданные > Широта, долгота.
- Вы можете добавить на панель управления элементы управления для фильтрации данных. Например, выберите фильтр Диапазон дат.
- В поле диапазона дат выберите диапазон по умолчанию.
- Вы можете добавить дополнительные элементы управления раскрывающегося списка для
vehicle_id. С помощью этих элементов управления вы можете визуализировать движение транспортного средства или движение в рамках поездки.
Пример выходных данных Looker Studio:

Дальнейшие действия
Чтобы обеспечить соответствие правилам хранения данных, ознакомьтесь с разделом Ограничение хранения журналов.