Cloud Monitoring recoge métricas, eventos y metadatos de los productos de Google Cloud . Con Cloud Monitoring, también puedes configurar paneles de control personalizados y alertas de uso.
En este documento se explica cómo usar las métricas, se describe el panel de control de métricas personalizadas y se indica cómo configurar alertas.
Recursos monitorizados
Un recurso monitorizado en Cloud Monitoring representa una entidad lógica o física, como una máquina virtual, una base de datos o una aplicación. Los recursos monitorizados contienen un conjunto único de métricas que se pueden explorar, registrar en un panel o usar para crear alertas. Cada recurso también tiene un conjunto de etiquetas de recurso, que son pares clave-valor que contienen información adicional sobre el recurso. Las etiquetas de recursos están disponibles para todas las métricas asociadas al recurso.
Con la API Cloud Monitoring, el rendimiento de Firestore en el modo Datastore se monitoriza con los siguientes recursos:
Resources | Descripción | Modo de base de datos admitido |
firestore.googleapis.com/Database (recomendado) | Tipo de recurso monitorizado que proporciona desgloses de project , location * y database_id . La etiqueta database_id será (default) en las bases de datos creadas sin un nombre específico. |
Se aplica a ambos modos. |
datastore_request | Tipo de recurso monitorizado de proyectos de Datastore. No proporciona un desglose de las bases de datos. |
Métricas
Firestore está disponible en dos modos diferentes: Firestore Native y Firestore en modo Datastore. Para ver una comparación de las funciones de estos dos modos, consulta Elegir entre modos de base de datos.
Para ver una lista completa de las métricas de Firestore en modo Datastore, consulta Métricas de Firestore en modo Datastore.
Métricas de tiempo de ejecución del servicio
Las métricas de serviceruntime
proporcionan una vista general del tráfico de un proyecto. Estas métricas están disponibles en la mayoría de las APIs de Google Cloud . El tipo de recurso monitorizado consumed_api
contiene estas métricas comunes. Estas métricas se muestrean cada 30 minutos, lo que provoca que los datos se suavicen.
Una etiqueta de recurso importante para las métricas de serviceruntime
es method
. Esta etiqueta representa el método RPC subyacente al que se llama. El método del SDK al que llames no tiene por qué llamarse igual que el método RPC subyacente. Esto se debe a que el SDK proporciona una abstracción de API de alto nivel. Sin embargo, cuando intentes entender cómo interactúa tu aplicación con Firestore, es importante que conozcas las métricas basadas en el nombre del método RPC.
Si quieres saber cuál es el método RPC subyacente de un método de SDK concreto, consulta la documentación de la API.
api/request_count
Esta métrica proporciona el recuento de solicitudes completadas en todos los protocolos(protocolo de solicitud, como HTTP, gRPC, etc.),
códigos de respuesta (código de respuesta HTTP), response_code_class
(clase de código de respuesta, como 2xx, 4xx, etc.) y grpc_status_code
(código de respuesta gRPC numérico). Usa esta métrica para observar la solicitud general de la API y calcular la tasa de errores.

En la figura 1, se pueden ver las solicitudes que devuelven un código 2xx agrupadas por servicio y método. Los códigos 2xx son códigos de estado HTTP que indican que la solicitud se ha realizado correctamente.

En la figura 2, se pueden ver las confirmaciones agrupadas por response_code
. En este ejemplo, solo vemos respuestas HTTP 200, lo que implica que la base de datos está en buen estado.
Usa las siguientes métricas de tiempo de ejecución del servicio para monitorizar tu base de datos.
api/request_count en el tipo de recurso datastore_request
La métrica api/request_count
también está disponible en el tipo de recurso datastore_request
con los desgloses api_method
y response_code
. Usa esta métrica en su lugar para aprovechar el periodo de muestreo más preciso, que ayuda a detectar picos.

api/request_latencies
La métrica api/request_latencies
proporciona distribuciones de latencia en todas las solicitudes completadas.
Firestore registra métricas del componente Servicio de Firestore. Las métricas de latencia incluyen el tiempo que transcurre desde que Firestore recibe la solicitud hasta que termina de enviar la respuesta, incluidas las interacciones con la capa de almacenamiento. Por este motivo, la latencia de ida y vuelta (RTT) entre el cliente y el servicio de Firestore no se incluye en estas métricas.

api/request_sizes y api/response_sizes
Las métricas api/request_sizes
y api/response_sizes
proporcionan estadísticas sobre los tamaños de las cargas útiles (en bytes). Pueden ser útiles para comprender las cargas de trabajo de escritura que envían grandes cantidades de datos o las consultas que son demasiado amplias y devuelven grandes cargas útiles.

En la figura 5, se muestra un mapa de calor de los tamaños de respuesta del método RunQuery
.
Vemos que los tamaños son estables, con una mediana de 50 bytes y un intervalo de entre 10 y 100 bytes. Ten en cuenta que los tamaños de carga útil siempre se miden en bytes sin comprimir, sin incluir las sobrecargas de control de transmisión.
Métricas de operaciones de entidades
Estas métricas proporcionan distribuciones en bytes de los tamaños de carga útil de las lecturas (búsquedas y consultas) y las escrituras en una base de datos de Firestore. Los valores representan el tamaño total de la carga útil. Por ejemplo, los resultados devueltos por una consulta.
Estas métricas son similares a las métricas api/request_sizes
y api/response_sizes
, pero la principal diferencia es que las métricas de operaciones de entidades proporcionan un muestreo más granular, pero desgloses menos granulares.
Por ejemplo, las métricas de operaciones de entidades usan el recurso monitorizado datastore_request
, por lo que no hay un desglose por servicio o método.
entity/read_sizes
: distribución de los tamaños de las entidades leídas, agrupadas por tipo.entity/write_sizes
: distribución de los tamaños de las entidades escritas, agrupadas por operaciones.
Métricas de índice
Las tasas de escritura de índices se pueden comparar con la métrica document/write_ops_count
para conocer la proporción de ramificación de índices.
index/write_count
: número de escrituras de índice.

En la figura 7, puedes ver cómo se puede contrastar la tasa de escritura de índices con la tasa de escritura de documentos. En este ejemplo, por cada escritura de documento, hay aproximadamente 6 escrituras de índice, lo que supone una tasa de ramificación de índice relativamente pequeña.
Métricas de TTL
Las métricas de TTL están disponibles tanto para las bases de datos nativas de Firestore como para las de Firestore en modo Datastore. Usa estas métricas para monitorizar el efecto de la política de TTL aplicada.
entity/ttl_deletion_count
: número total de entidades eliminadas por los servicios de TTL.entity/ttl_expiration_to_deletion_delays
: tiempo transcurrido entre el momento en que caducó una entidad con un TTL y el momento en que se eliminó.Si observas que las eliminaciones con TTL tardan más de 24 horas, ponte en contacto con el servicio de asistencia.
Siguientes pasos
- Consulta cómo usar el panel de control de Cloud Monitoring para ver las métricas.