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

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

Чтобы просмотреть выставленное счет использование Realtime Database , проверьте панель управления Usage and Billing . Для получения дополнительной информации о выставлении счетов см. Understanding Realtime Database billing .

Что касается использования ресурсов, то вкладка «Использование» в консоли 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 и использование данных, проверьте вкладку Usage в консоли 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 с помощью Cloud Monitoring необходимо настроить рабочее пространство для вашего проекта. Рабочее пространство организует информацию мониторинга из одного или нескольких проектов. После настройки рабочего пространства можно создавать пользовательские панели мониторинга и политики оповещения.

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

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

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

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

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

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

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

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

    Перейти на страницу Панели управления

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

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

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

  5. В поле Find resource type and metric введите Firebase Realtime Database . Из автоматически заполняемого раскрывающегося списка выберите одну из метрик Realtime Database .

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

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

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

Дополнительную информацию о диаграммах мониторинга облаков см. в разделе Работа с диаграммами .

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

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

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

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

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

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

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

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

  5. Выберите Target . В поле Find resource type and metric введите Realtime Database . В автоматически заполняемом раскрывающемся списке выберите одну из метрик Realtime Database .

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

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

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

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

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

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

Дополнительную информацию о политиках оповещения см. в разделе Введение в оповещения .

Что дальше?