После того как данные Crashlytics и (необязательно) сеансов Firebase будут экспортированы в Cloud Logging, вы сможете фильтровать журналы и создавать показатели на основе данных журналов. Оба эти инструмента полезны для просмотра, использования и анализа конкретных данных.
Если вы ещё не сделали этого, ознакомьтесь с разделом Что можно делать с данными?, где приведены подробный список и примеры работы с данными, хранящимися в Cloud Logging.
Как фильтровать журналы с помощью запросов
Фильтрация журналов позволяет просматривать определенные данные, а также снижать расходы на хранение данных и дальнейший анализ. Для фильтрации журналов используется LQL (язык запросов к журналам).
Чтобы узнать, как фильтровать журналы с помощью запросов, ознакомьтесь со статьями Примеры запросов с использованием Logs Explorer и Как создавать запросы к журналам. В таблице ниже описаны поля, доступные для таких запросов.
Примеры фильтров
Для Crashlytics вот несколько примеров начальных фильтров для запроса:
Чтобы найти все критические сбои для определенной версии приложения, выполните следующие действия:
logName="projects/PROJECT_ID/logs/firebasecrashlytics.googleapis.com%2Fevents" jsonPayload.issue.errorType="FATAL" jsonPayload.version.displayVersion="3.2.0"
Чтобы выявить сбои, происходящие на определенной модели устройства (например, Pixel 6a), выполните следующие действия:
logName="projects/PROJECT_ID/logs/firebasecrashlytics.googleapis.com%2Fevents" jsonPayload.device.model="Pixel 6a"
Поиск определенного значения
OutOfMemoryErrorво всех критических ошибках:logName="projects/PROJECT_ID/logs/firebasecrashlytics.googleapis.com%2Fevents" jsonPayload.issue.errorType="FATAL" jsonPayload.issue.subtitle="java.lang.OutOfMemoryError"
Чтобы найти события, связанные с определенным идентификатором проблемы Crashlytics, выполните следующие действия:
logName="projects/PROJECT_ID/logs/firebasecrashlytics.googleapis.com%2Fevents" jsonPayload.issue.id="ISSUE_ID"
Схема журнала
Каждая запись в журнале имеет предопределенную структуру и поля, по которым можно выполнять запросы (см. LogEntry).
Ознакомьтесь со схемой журнала для экспортированных данных, включая данные Crashlytics, данные о сеансах Firebase и журналы устройств.
Создание показателей на основе данных журналов
Вы можете просматривать и создавать показатели на основе данных журналов, а затем использовать их в Cloud Monitoring для создания диаграмм, специальных сводок и специальных оповещений.
Используйте предопределенные системные показатели, которые записываются автоматически, например количество событий ведения журнала, произошедших за определенный период времени.
Создайте пользовательские показатели для своего проекта. Вы можете подсчитать количество записей в журнале, соответствующих заданному запросу, или отслеживать определенные значения с помощью соответствующих записей в журнале. Для фильтрации можно использовать регулярные выражения. Обязательно ознакомьтесь с ценами на пользовательские показатели.
Используйте Cloud Monitoring, чтобы записать количество записей в журнале, содержащих определенные сообщения, или извлечь информацию о задержке, указанную в записях в журнале. Затем эти показатели можно использовать в диаграммах и специальных оповещениях.
Примеры показателей на основе данных журналов
Ниже приведены два примера пользовательских показателей на основе данных журналов, которые можно создать на основе экспортированных данных о сеансах Crashlytics и Firebase.
Используя данные Crashlytics
, создайте показательfirebase/crashlytics_eventsс ярлыкомerrorTypeи определите его следующим образом:logName="projects/PROJECT_ID/logs/firebasecrashlytics.googleapis.com%2Fevents"Используйте данные о сеансах Firebase.
Создайте показательfirebase/session_eventsс ярлыкомeventTypeи определите его следующим образом:logName="projects/PROJECT_ID/logs/firebasecrashlytics.googleapis.com%2Fsession_events"
Что дальше?
Создавайте временные диаграммы для быстрой визуализации данных.
Создайте специальные сводки для долгосрочного и расширенного мониторинга.
Настройте и отправьте специальные оповещения в специальные каналы уведомлений.