Относится только к версии Cloud Firestore Enterprise. |
На этой странице описывается, как использовать метрики Cloud Monitoring для Cloud Firestore с совместимостью с MongoDB для мониторинга вашей базы данных.
Метрики Cloud Monitoring для Cloud Firestore с совместимостью с MongoDB
В следующих разделах представлен обзор показателей, доступных для Cloud Firestore с совместимостью с MongoDB.
Контролируемые ресурсы
Отслеживаемый ресурс в Cloud Monitoring представляет собой логическую или физическую сущность, например виртуальную машину, базу данных или приложение. Отслеживаемые ресурсы содержат уникальный набор метрик, которые можно изучать, просматривать на панели мониторинга или использовать для создания оповещений. Каждый ресурс также имеет набор меток ресурсов, представляющих собой пары «ключ-значение», содержащие дополнительную информацию о ресурсе. Метки ресурсов доступны для всех метрик, связанных с ресурсом.
С помощью API Cloud Monitoring производительность совместимости Cloud Firestore с MongoDB отслеживается с помощью следующего ресурса:
Ресурсы | Описание |
firestore.googleapis.com/Database | Отслеживаемый тип ресурса, который обеспечивает разбивку по project , location и database_id . |
Метрики
Полный список метрик для Cloud Firestore см. в разделе «Метрики Cloud Firestore . В следующем разделе описаны некоторые из доступных метрик.
Метрики времени выполнения сервиса
Метрики serviceruntime
предоставляют общее представление о трафике проекта. Эти метрики доступны для большинства API Google Cloud . Тип отслеживаемого ресурса consumed_api
содержит эти распространённые метрики. Эти метрики считываются каждые 30 минут, что позволяет сглаживать данные.
Важной меткой ресурса для метрик времени serviceruntime
является method
. Эта метка представляет вызываемый базовый метод RPC. Вызываемый метод SDK может не обязательно иметь имя, совпадающее с именем базового метода RPC. Это связано с тем, что SDK предоставляет высокоуровневую абстракцию API. Однако, пытаясь понять, как ваше приложение взаимодействует с Cloud Firestore , важно понимать метрики, основанные на имени метода RPC.
Если вам нужно узнать, какой метод RPC лежит в основе определенного метода SDK, см. документацию API .
api/request_latencies
Метрика api/request_latencies
показывает распределение задержек по всем выполненным запросам.
Cloud Firestore регистрирует метрики компонента Cloud Firestore Service . Метрики задержки включают время получения запроса Cloud Firestore до времени отправки ответа Cloud Firestore , включая взаимодействие с уровнем хранилища. В связи с этим задержка на передачу данных туда и обратно (rtt) между клиентом и службой Cloud Firestore не учитывается в этих метриках.
Метрики операций документа
Cloud Firestore предоставляет данные о количестве операций чтения, записи и удаления. Метрика записи отображает данные о количестве операций создания (CREATE) и обновления (UPDATE). Эти метрики соответствуют операциям CRUD.
Следующие показатели можно использовать для определения интенсивности чтения или записи в вашей базе данных, а также скорости создания новых документов по сравнению с удалением документов.
-
document/delete_ops_count
: Количество успешных удалений документов. -
document/read_ops_count
: Количество успешных чтений документов из запросов или поисков. -
document/write_ops_count
: Количество успешных записей документа.
Показатели биллинга
Используйте эти метрики для анализа использования биллинга. Эти метрики не включают биллинг, связанный с операциями администратора (индексирование, импорт, экспорт и массовое удаление).
api/billable_read_units
: Количество тарифицируемых единиц чтения. Использование можно разбить по названию сервиса и методу API.api/billable_write_units
: Количество тарифицируемых единиц записи. Использование можно разбить по названию сервиса и методу API.document/billable_managed_delete_write_units
: Количество тарифицируемых единиц записи от служб управляемого удаления, таких как TTL .
Индексные показатели
Скорость записи индекса можно сопоставить с метрикой document/write_ops_count
чтобы понять разветвление индекса.
-
index/write_count
: Количество записей индекса.
Метрики TTL
Метрики TTL для Cloud Firestore с метриками совместимости MongoDB используются для мониторинга эффективности применяемой политики TTL .
-
document/ttl_deletion_count
: Общее количество документов, удаленных службами TTL. -
document/ttl_expiration_to_deletion_delays
: Время, прошедшее между истечением срока действия документа TTL и его фактическим удалением.
Просмотр предопределенных панелей мониторинга и создание пользовательских панелей мониторинга
Cloud Firestore, совместимый с MongoDB, поддерживает предустановленные панели мониторинга, использующие метрики Cloud Monitoring . Вы также можете создавать собственные панели мониторинга.
Просмотр показателей использования базы данных
Откройте панели использования в консоли Google Cloud, чтобы просмотреть данные о чтении, записи и удалении документов с течением времени.
Контроль доступа
Для использования панелей мониторинга требуется разрешение monitoring.timeSeries.list
на управление удостоверениями и доступом (IAM). Это разрешение предоставляется ролями владельца проекта, редактора и наблюдателя. Вы также можете предоставить это разрешение через роль Cloud Monitoring или пользовательскую роль .
Панель управления использованием базы данных
Чтобы просмотреть показатели использования для базы данных Cloud Firestore с совместимостью с MongoDB, выполните следующие действия.
В консоли Google Cloud перейдите на страницу Базы данных .
Выберите необходимую базу данных из списка баз данных.
В меню навигации нажмите Использование .
Панель управления использованием и отчеты по выставлению счетов
Панели управления использованием Cloud Firestore в консоли предоставляют оценку использования. Они могут помочь вам выявить пики использования. Однако эта панель управления не отражает точную картину операций, на которые выставлен счёт. Счёт, вероятно, выше. Для мониторинга биллинга см. метрики биллинга .
Во всех случаях расхождений отчет по выставлению счетов имеет приоритет над панелью управления использованием.
Операции импорта и экспорта приводят к расхождениям между данными на панели управления использованием и фактическими данными, указанными в счете. Операции чтения и записи, выполняемые этими операциями, не отображаются на панели управления использованием.
Просмотр показателей производительности базы данных
Страница мониторинга в разделе Cloud Firestore консоли Google Cloud содержит предустановленные панели мониторинга, такие как «Задержка запроса» (P50 и P99) , «Коды ответа» и «Статистика запросов» (P50) . Вы также можете создать одну пользовательскую панель мониторинга. Чтобы открыть страницу мониторинга для базы данных, выполните следующие действия:
В консоли Google Cloud откройте страницу баз данных Cloud Firestore .
Выберите базу данных из списка.
В навигационном меню нажмите Мониторинг , чтобы открыть панель управления.
Создавайте пользовательские панели Cloud Monitoring
В Cloud Monitoring настраиваемые панели мониторинга позволяют отображать релевантную информацию в упорядоченном виде. Например, вы можете создать панель мониторинга для отображения показателей производительности и политик оповещения для вашего проекта в производственной среде.
Дополнительную информацию о настройке пользовательской панели мониторинга см. в разделах Управление пользовательской панелью мониторинга и Добавление виджетов панели мониторинга .
Создать политику оповещения
В Cloud Monitoring вы можете создавать оповещения , которые будут уведомлять вас об изменении метрики. Эти оповещения помогут вам быть в курсе потенциальных проблем до того, как они повлияют на ваших пользователей.
Дополнительную информацию о создании оповещений см. в разделе Создание политик оповещений по пороговым значениям метрики .
Рассмотрим следующий пример создания политики оповещения о задержке. Политика оповещения проверяет задержку p99 в течение 5-минутного скользящего окна. Если задержка p99 превышает 250 мс в течение 5 минут, срабатывает оповещение.
Консоль
В консоли Google Cloud перейдите на страницу Мониторинг , затем выберите notifications Оповещения .
Выберите Создать политику .
Выберите метрику «Задержка запроса» из ресурса Consumed API .
Добавьте фильтр служб для
firestore.googleapis.com
для стандартных баз данных Cloud Firestore.Нажмите «Далее» , чтобы настроить триггер.
Выберите Типы условий в качестве Порога .
Пороговое значение установлено равным 250 мс. Оповещение срабатывает, когда значение задержки p99 остается неизменным в течение всего периода скользящего окна (5 мин).
Установите пороговое значение 250 .
Нажмите «Далее» , чтобы настроить уведомления.
Задайте имя политики оповещений и нажмите кнопку Далее .
Проверьте конфигурации оповещений и нажмите «Создать политику» .
MQL
Вы можете реализовать ту же политику оповещения о задержке, используя запрос на языке MQL (Monitoring Query Language). Дополнительные примеры использования MQL см. в разделе «Примеры MQL-запросов» .
fetch consumed_api
| metric 'serviceruntime.googleapis.com/api/request_latencies'
| filter (resource.service == 'firestore.googleapis.com')
| group_by 5m,
[value_request_latencies_percentile:
percentile(value.request_latencies, 99)]
| every 5m
| condition val() > 0.25 's'