Мониторинг использования базы данных

В рамках управления проектами Firebase вам потребуется просмотреть использование ресурсов вашей Realtime Database (например, сколько пользователей подключено, сколько места использует ваша база данных) и как это использование влияет на ваш счет.

Чтобы просмотреть выставленные счета за использование Realtime Database , проверьте панель «Использование и выставление счетов» . Дополнительные сведения о выставлении счетов см. в разделе Общие сведения о выставлении счетов Realtime Database .

Что касается использования ресурсов, как вкладка «Использование» в консоли Firebase , так и метрики, доступные через Cloud Monitoring могут помочь вам отслеживать использование Realtime Database .

Получайте оповещения Firebase

Вы можете получать оповещения по электронной почте, когда использование Realtime Database приближается к одному из ограничений вашего тарифного плана. По умолчанию Firebase отправляет оповещения по электронной почте, когда вы достигли или превысили лимит плана, но вы можете подписаться на эти более ранние уведомления, чтобы скорректировать свой план или использование и избежать сбоев в обслуживании.

Эти оповещения Firebase и их настройки распространяются на весь проект. Это означает, что по умолчанию каждый участник проекта, обладающий необходимыми разрешениями для получения оповещений, получит электронное письмо при срабатывании оповещения Realtime Database . Электронные письма отправляются на отдельные адреса электронной почты (а не на группы учетных записей, например группы Google или учетные записи Google Workspace).

Включите/выключите оповещения для своей учетной записи

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

Чтобы включить или отключить оповещения Realtime Database , выполните следующие действия:

  1. В консоли Firebase в правом верхнем углу перейдите к Оповещения Firebase .
  2. Затем перейдите в Настройки и установите предпочтения своей учетной записи для оповещений Realtime Database .

Мониторинг использования в консоли Firebase

Чтобы увидеть текущие подключения Realtime Database и использование данных, проверьте вкладку «Использование» в консоли Firebase . Вы можете проверить использование за текущий расчетный период, за последние 30 дней или за последние 24 часа.

Firebase показывает статистику использования по следующим показателям:

  • Соединения: количество одновременных, открытых в данный момент подключений в реальном времени к вашей базе данных. Сюда входят следующие соединения в реальном времени: WebSocket, длинный опрос и события, отправленные сервером HTML. Он не включает запросы RESTful.
  • Хранилище: сколько данных хранится в вашей базе данных. Сюда не входят хостинг Firebase или данные, хранящиеся в других продуктах Firebase.
  • Загрузки: все байты, загруженные из вашей базы данных, включая служебные данные протокола и шифрования.
  • Нагрузка: этот график показывает, какая часть вашей базы данных используется для обработки запросов в течение заданного 1-минутного интервала. Вы можете столкнуться с проблемами производительности, когда ваша база данных приблизится к 100%.

Вкладка «Правила» для базы данных реального времени в консоли Firebase.

Кроме того, консоль Firebase предоставляет панель оценки Firebase Security Rules , которая дает полезное и наглядное представление вызовов правил. Вы можете дополнить эту панель детальным анализом в Cloud Monitoring.

Дополнительную информацию см. в разделе Мониторинг правил безопасности в Cloud Monitoring .

Вкладка «Использование» для базы данных реального времени в консоли Firebase.

Мониторинг использования с помощью Cloud Monitoring

Метрики использования

Чтобы использовать Cloud Monitoring для мониторинга оплачиваемого использования, отслеживайте следующие показатели. Обратите внимание, что имена всех типов метрик начинаются с префикса firebasedatabase.googleapis.com/ .

Имя метрики Описание
Количество отправленных байтов полезной нагрузки

network/sent_payload_bytes_count . Эта метрика отражает размер данных, запрашиваемых посредством операций с базой данных (включая получение, запросы, запись, обновления прослушивателей в реальном времени и широковещательные рассылки). Он не включает в себя какие-либо накладные расходы на соединение (протокол или шифрование). Параметр `sent_payload_bytes_count` учитывается в расходах на исходящую полосу пропускания, но не учитывает общую стоимость выставленных счетов. Это оценка данных, отправленных из вашей базы данных в ответ на запросы, но, поскольку она измеряет размер полезной нагрузки запрошенных данных, а не фактически отправленных данных, она не всегда может быть точной.

Количество отправленных полезных данных и протокольных байтов

network/sent_payload_and_protocol_bytes_count . Эта метрика отражает размер как описанных выше полезных данных, так и накладных расходов протокола, необходимых для соединения (например, заголовков HTTP, кадров WebSocket и кадров протокола реального времени Firebase). Он не учитывает затраты на шифрование при защищенных соединениях.

Количество отправленных байтов network/sent_bytes_count . Эта метрика отражает оценку общего размера данных, отправляемых из вашей базы данных при операциях чтения. Он включает в себя полезные данные, которые фактически отправляются клиентам, а также накладные расходы на протокол и шифрование, которые приводят к затратам на соединение. Это наиболее точно отражает общую исходящую пропускную способность в вашем счете Realtime Database .
Всего байт

storage/total_bytes . Используйте эту метрику, чтобы отслеживать, сколько данных вы храните в своей базе данных. Данные, которые вы храните в Realtime Database влияют на ваши расходы по выставлению счетов.

Объедините показатели в диаграммах на панели управления, чтобы получить полезную информацию и обзоры. Например, попробуйте следующие комбинации:

  • Исходящие данные. Используйте метрики network/sent_bytes_count , network/sent_payload_and_protocol_bytes_count и network/sent_payload_bytes_count , чтобы выявить потенциальные проблемы с накладными расходами протокола или шифрования, которые приводят к непредвиденным расходам по вашему счету. Если вы видите большое несоответствие между размером запрошенных полезных данных и другими метриками, отражающими накладные расходы на подключение, возможно, вам захочется устранить проблемы, которые могут привести к тайм-аутам или частым подключениям. Если вы не используете билеты сеанса TLS , вы можете попробовать реализовать их, чтобы уменьшить нагрузку на SSL-соединение для возобновленных соединений.
  • Операции: используйте метрику io/database_load чтобы узнать, какая часть общей загрузки базы данных используется каждым типом операций. Обязательно сгруппируйте io/database_load по типу для устранения неполадок различных типов операций.
  • Хранилище: используйте параметры storage/limit и storage/total_bytes для мониторинга использования хранилища в соответствии с ограничениями хранилища Realtime Database .

Ознакомьтесь с полным списком показателей Realtime Database доступных через Cloud Monitoring .

Создайте рабочую область облачного мониторинга.

Чтобы отслеживать Realtime Database с помощью облачного мониторинга, вам необходимо настроить рабочую область для вашего проекта. Рабочая область организует информацию мониторинга из одного или нескольких проектов. После настройки рабочей области вы можете создавать собственные информационные панели и политики оповещений.

  1. Откройте страницу облачного мониторинга.

    Если ваш проект уже является частью рабочей области, откроется страница облачного мониторинга. В противном случае выберите рабочую область для своего проекта.

  2. Выберите параметр «Новая рабочая область» или выберите существующую рабочую область.

  3. Нажмите Добавить . После построения рабочей области откроется страница облачного мониторинга.

Создайте панель мониторинга и добавьте диаграмму

Отображайте показатели Realtime Database , собранные с помощью облачного мониторинга, на собственных диаграммах и информационных панелях.

Прежде чем продолжить, убедитесь, что ваш проект является частью рабочей области Cloud Monitoring .

  1. На странице облачного мониторинга откройте свое рабочее пространство и перейдите на страницу «Панели мониторинга» .

    Перейти на страницу «Панели мониторинга»

  2. Нажмите «Создать панель мониторинга» и введите имя панели мониторинга.

  3. В правом верхнем углу нажмите «Добавить диаграмму» .

  4. В окне «Добавить диаграмму» введите заголовок диаграммы. Откройте вкладку Метрика .

  5. В поле Найти тип ресурса и метрику введите Firebase Realtime Database . В автоматически заполняемом раскрывающемся списке выберите одну из метрик Realtime Database .

  6. Чтобы добавить дополнительные показатели в ту же диаграмму, нажмите «Добавить показатель» и повторите предыдущий шаг.

  7. При необходимости настройте диаграмму по мере необходимости. Например, в поле Фильтр нажмите + Добавить фильтр . Прокрутите вниз, затем выберите значение или диапазон интересующего показателя, по которому вы хотите отфильтровать диаграмму.

  8. Нажмите Сохранить .

Дополнительные сведения о диаграммах Cloud Monitoring см. в разделе Работа с диаграммами .

Создайте политику оповещений

Вы можете создать политику оповещений на основе показателей Realtime Database . Следуя приведенным ниже инструкциям, можно создать политику оповещений, которая будет отправлять вам электронные письма всякий раз, когда конкретная метрика Realtime Database достигает определенного порога.

Прежде чем продолжить, убедитесь, что ваш проект является частью рабочей области Cloud Monitoring .

  1. На странице облачного мониторинга откройте свое рабочее пространство и перейдите на страницу оповещений .

    Перейдите на страницу «Создать новую политику оповещений».

  2. Нажмите Создать политику .

  3. Введите имя для вашей политики оповещений.

  4. Добавьте условие оповещения на основе одной из метрик Realtime Database . Нажмите «Добавить условие» .

  5. Выберите цель . В поле Найти тип ресурса и метрику введите База данных реального времени . В автоматически заполняемом раскрывающемся списке выберите одну из метрик Realtime Database .

  6. В разделе «Триггеры политики» используйте поля раскрывающегося списка, чтобы определить условие оповещения.

  7. Добавьте канал уведомлений в свою политику оповещений. В разделе «Уведомления » нажмите «Добавить канал уведомлений» . Выберите «Электронная почта» в раскрывающемся меню.

  8. Введите свой адрес электронной почты в поле Адрес электронной почты . Нажмите Добавить .

  9. При желании заполните поле документации, чтобы включить дополнительную информацию в уведомление по электронной почте.

  10. Нажмите Сохранить .

Если использование Realtime Database превысит настроенный порог, вы получите предупреждение по электронной почте.

Дополнительные сведения о политиках оповещений см. в разделе Введение в оповещения .

Что дальше