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

В рамках управления проектами 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 alerts .
  2. Затем перейдите к Настройте параметры своей учетной записи для получения оповещений Realtime Database .

Отслеживайте использование в консоли Firebase

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

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

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

Вкладка «Правила» для базы данных Realtime Database в консоли Firebase.

Additionally, the Firebase console provides a Firebase Security Rules evaluation dashboard, a useful, at-a-glance view of rules invocations. You can also monitor Firebase Security Rules usage through Cloud Monitoring . This provides the same rule evaluation metrics, along with the ability to build custom dashboards, analyze trends, and configure alerts (for example, when denied requests spike). See the Cloud Monitoring metrics reference for the complete list of available metrics.

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

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

Отслеживайте использование с помощью Cloud Monitoring

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

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

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

network/sent_payload_bytes_count . This metric reflects the size of the data requested through database operations (including gets, queries, writes, realtime listener updates, and broadcasts). It does not include any connection overhead (protocol or encryption). The `sent_payload_bytes_count` contributes to your outgoing bandwidth costs, but it doesn't account for the total billed costs. It's an estimate of the data sent from your database in response to requests, but, since it measures the payload size of the data requested, not the data actually sent, it may not always be accurate.

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

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

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

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

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

  • Outgoing data: Use the network/sent_bytes_count , network/sent_payload_and_protocol_bytes_count , and network/sent_payload_bytes_count metrics to spot potential issues with protocol or encryption overhead contributing to unexpected costs on your bill. If you see a large discrepancy between the size of the data payloads requested and the other metrics reflecting connection overhead, you might want to troubleshoot issues that might be leading to timeouts or frequent connections. If you're not using TLS session tickets , you might try implementing them to reduce SSL connection overhead for resumed connections.
  • Операции: Используйте метрику io/database_load , чтобы увидеть, какая часть общей нагрузки на базу данных используется каждым типом операций. Обязательно сгруппируйте io/database_load по типу, чтобы устранять неполадки, связанные с различными типами операций.
  • Хранилище: Используйте параметры storage/limit и storage/total_bytes для отслеживания использования хранилища в соответствии с ограничениями хранилища Realtime Database .

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Более подробную информацию о диаграммах Cloud Monitoring см. в разделе «Работа с диаграммами» .

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Более подробную информацию о политике оповещения см. в разделе «Введение в систему оповещения» .

Что дальше?