Firebase предлагает стандартные оповещения Crashlytics (см. страницу обзора оповещений ). Однако этих стандартных оповещений и каналов уведомлений может быть недостаточно для ваших нужд.
В таких случаях вы можете использовать Cloud Monitoring для отправки пользовательских оповещений в пользовательские каналы уведомлений на основе данных Crashlytics (и, при необходимости, данных сессий Firebase), которые вы экспортировали в Cloud Logging .
Для использования Cloud Monitoring для создания пользовательских оповещений необходимо настроить политику оповещений , в которой описываются обстоятельства, при которых вы хотите получать оповещения, и способ их получения.
Например, если показатель безотказной работы вашего приложения опустится ниже определенного порога, Cloud Monitoring может отправить персонализированное оповещение на конкретный адрес электронной почты или опубликовать его в стороннем сервисе, таком как Discord, Slack или Jira. Вы также можете полностью настроить информацию, отправляемую в оповещении, например, добавить полезные ссылки на консоль Firebase или информацию по устранению неполадок, специфичную для вашей компании.
В документации Google Cloud вы найдете дополнительную информацию о Cloud Monitoring и оповещениях , включая цены .
Предварительные требования
Убедитесь, что ваш проект Firebase использует тарифный план Blaze с оплатой по мере использования .
Настройте политику оповещений.
Ниже приведены общие инструкции; подробные инструкции см. в документации Google Cloud (например: Создание политик оповещения на основе пороговых значений метрик или Использование PromQL для создания политик оповещения ).
В рамках выполнения запросов можно настроить либо оповещение на основе логов, либо оповещение на основе SQL-запросов:
Настройте оповещение на основе журналов событий:
Выполните запрос в Logs Explorer .
Нажмите появившуюся кнопку «Добавить оповещение» .
Следуйте инструкциям на экране, чтобы добавить оповещение на основе журнала.
Настройте оповещение на основе SQL:
Выполните запрос в Logs Analytics .
Нажмите появившуюся кнопку «Добавить оповещение» .
Следуйте инструкциям на экране, чтобы добавить оповещение на основе SQL.
В качестве альтернативы вы можете настроить оповещения для метрик, основанных на логах , используя инструмент настройки политик в консоли Google Cloud , где вы можете выбрать один из следующих вариантов:
Конструктор : Консольный интерфейс предоставляет пошаговый алгоритм для создания политики оповещений.
PromQL : Вы предоставляете PromQL-запрос для своей политики оповещений.
Например, предположим, что вы создали две метрики на основе логов для экспортированных данных сессий Crashlytics и Firebase:
Существует метрика с именем
firebase/crashlytics_eventsи меткойerrorType, которая определяется следующим образом:logName="projects/ PROJECT_ID /logs/firebasecrashlytics.googleapis.com%2Fevents"Ещё одна метрика, названная
firebase/session_events, имеет меткуeventTypeи определяется следующим образом:logName="projects/ PROJECT_ID /logs/firebasecrashlytics.googleapis.com%2Fsession_events"
Вот пример PromQL-запроса, использующего эти метрики на основе логов для оповещения, когда показатель безотказной работы падает ниже 70%:
1 - (sum by (project_id) (rate({__name__="logging.googleapis.com/user/firebase/crashlytics_events", errorType="FATAL"}[5m])) / sum by (project_id) (rate({__name__="logging.googleapis.com/user/firebase/session_events", eventType="SESSION_START"}[5m])) ) < 0.7