Supervisa las métricas de las bases de datos

Solo es relevante para la edición Enterprise de Cloud Firestore.

En esta página, se describe cómo usar las métricas de Cloud Monitoring para Cloud Firestore con compatibilidad con MongoDB y supervisar tu base de datos.

Métricas de Cloud Monitoring para Cloud Firestore con compatibilidad con MongoDB

En las siguientes secciones, se proporciona una descripción general de las métricas disponibles para Cloud Firestore con compatibilidad con MongoDB.

Recursos supervisados

Un recurso supervisado 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 supervisados contienen un conjunto único de métricas que se pueden explorar, informar a través de un panel o usar para crear alertas. Cada recurso también tiene un conjunto de etiquetas de recursos, 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 de Cloud Monitoring, el rendimiento de Cloud Firestore con compatibilidad con MongoDB se supervisa con el siguiente recurso:

Recursos Descripción
firestore.googleapis.com/Database Tipo de recurso supervisado que proporciona desgloses para project, location y database_id.

Métricas

Para obtener una lista completa de las métricas de Cloud Firestore, consulta Métricas de Cloud Firestore. En la siguiente sección, se describen algunas de las métricas disponibles.

Métricas del tiempo de ejecución del servicio

Las métricas de serviceruntime proporcionan una descripción general del tráfico de un proyecto. Estas métricas están disponibles para la mayoría de las APIs de Google Cloud. El tipo de recurso supervisado consumed_api contiene estas métricas comunes. Estas métricas se muestrean cada 30 minutos, lo que genera datos suavizados.

Una etiqueta de recurso importante para las métricas de serviceruntime es method. Esta etiqueta representa el método de RPC subyacente al que se llamó. Es posible que el método del SDK al que llamas no se llame igual que el método de RPC subyacente. El motivo es que el SDK proporciona una abstracción de API de alto nivel. Sin embargo, cuando intentas comprender cómo interactúa tu aplicación con Cloud Firestore, es importante entender las métricas basadas en el nombre del método de RPC.

Si necesitas saber cuál es el método de RPC subyacente para un método de SDK determinado, consulta la documentación de la API.

api/request_latencies

La métrica api/request_latencies proporciona distribuciones de latencia en todas las solicitudes completadas.

Cloud Firestore registra métricas del componente Servicio de Cloud Firestore. Las métricas de latencia incluyen el tiempo que transcurre desde que Cloud Firestore recibe la solicitud hasta que Cloud Firestore 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 Cloud Firestore no se incluye en estas métricas.

Métricas de operación de documentos

Cloud Firestore proporciona recuentos de lectura, escritura y eliminación. La métrica de escritura proporciona un desglose entre las operaciones "CREATE" y "UPDATE". Estas métricas se alinean con las operaciones de CRUD.

Las siguientes métricas se pueden usar para comprender si tu base de datos tiene muchas lecturas o muchas escrituras, y la proporción de documentos nuevos en comparación con los documentos borrados.

  • document/delete_ops_count: Es la cantidad de eliminaciones correctas de documentos.
  • document/read_ops_count: Es la cantidad de lecturas de documentos exitosas a partir de búsquedas o consultas.
  • document/write_ops_count: Es la cantidad de operaciones de escritura de documentos realizadas correctamente.

Métricas de facturación

Usa estas métricas para comprender el uso de la facturación. Estas métricas no incluyen la facturación de las operaciones del administrador (indexación, importación, exportación y eliminación masiva).

  • api/billable_read_units: Es la cantidad de unidades de lectura facturables. El uso se puede desglosar por nombre de servicio y método de API.

  • api/billable_write_units: Es la cantidad de unidades de escritura facturables. El uso se puede desglosar por nombre de servicio y método de API.

  • document/billable_managed_delete_write_units: Es la cantidad de unidades de escritura facturables de los servicios de eliminación administrados, como el TTL.

Métricas de índice

Las tasas de escritura de índices se pueden comparar con la métrica document/write_ops_count para comprender la expansión del índice.

  • index/write_count: Es el recuento de escrituras de índice.

Métricas de TTL

Las métricas de TTL de Cloud Firestore con compatibilidad con MongoDB se usan para supervisar el efecto de la política de TTL aplicada.

  • document/ttl_deletion_count: Es el recuento total de documentos borrados por los servicios de TTL.
  • document/ttl_expiration_to_deletion_delays: Tiempo transcurrido entre el vencimiento de un documento con un TTL y el momento en que se borró.

Visualizar paneles predefinidos y crear paneles personalizados

Cloud Firestore con compatibilidad con MongoDB admite paneles predefinidos que usan métricas de Cloud Monitoring. También puedes crear paneles personalizados.

Consulta las métricas de uso de la base de datos

Abre los paneles de uso en la consola de Google Cloud para ver las operaciones de lectura, escritura y eliminación de documentos a lo largo del tiempo.

Control de acceso

Los paneles de uso requieren el permiso monitoring.timeSeries.list de Identity and Access Management (IAM). Las funciones de propietario, editor y lector del proyecto otorgan este permiso. También puedes otorgar este permiso a través de un rol de Cloud Monitoring o un rol personalizado.

Panel de uso de la base de datos

Para ver las métricas de uso de una base de datos de Cloud Firestore con compatibilidad con MongoDB, haz lo siguiente.

  1. En la consola de Google Cloud, ve a la página Bases de datos.

    Ir a Bases de datos

  2. Selecciona la base de datos requerida de la lista.

  3. En el menú de navegación, haz clic en Uso.

Informes de facturación y panel de uso

Los paneles de uso de Cloud Firestore en la consola proporcionan una estimación del uso. Con ellos, puedes identificar las alzas repentinas. Sin embargo, no proporcionan una visión exacta de las operaciones facturadas. Es probable que el uso facturado sea más alto. Para supervisar la facturación, consulta las métricas de facturación.

En todos los casos en que haya discrepancias, el informe de facturación tiene prioridad sobre el panel de uso.

Las operaciones de importación y exportación causan discrepancias entre el panel de uso y el uso facturado. Las operaciones de lectura y escritura que realizan estas operaciones no aparecen en el panel de uso.

Consulta las métricas de rendimiento de la base de datos

La página Monitoring de la sección Cloud Firestore de la consola de Google Cloud incluye paneles de supervisión predefinidos, como Latencias de solicitudes (P50 y P99), Códigos de respuesta y Estadísticas de consultas (P50). También puedes crear hasta un panel personalizado. Para acceder a la página Monitoring de una base de datos, sigue estos pasos:

  1. En la consola de Google Cloud, abre la página Bases de datos Cloud Firestore.

    Ir a Bases de datos

  2. Selecciona una base de datos de la lista.

  3. En el menú de navegación, haz clic en Monitoring para abrir un panel.

Crea paneles personalizados de Cloud Monitoring

En Cloud Monitoring, los paneles personalizados te permiten mostrar información relevante para ti de forma organizada. Por ejemplo, puedes crear un panel para mostrar las métricas de rendimiento y las políticas de alertas de tu proyecto en el entorno de producción.

Para obtener más información sobre la configuración de un panel personalizado, consulta Administra un panel personalizado y Agrega widgets al panel.

Crea una política de alertas

En Cloud Monitoring, puedes crear alertas para recibir notificaciones cuando se produzca un cambio en una condición de la métrica. Puedes usar estas alertas para recibir notificaciones sobre posibles problemas antes de que afecten a tus usuarios.

Para obtener más información sobre cómo crear alertas, consulta Crea políticas de alertas de límite de métrica.

Considera el siguiente ejemplo en el que creamos una política de alertas de latencia. La política de alertas verifica la latencia del percentil 99 en una ventana progresiva de 5 minutos. Si la latencia del percentil 99 permanece por encima de los 250 ms durante 5 minutos, se activa la alerta.

Console

  1. En la consola de Google Cloud, ve a la página Monitoring y, luego, selecciona   Alertas.

    Ir a Monitoring

  2. Selecciona Crear política.

  3. Selecciona la métrica Latencias de solicitudes del recurso API consumida.

  4. Agrega un filtro de servicio para firestore.googleapis.com para las bases de datos estándar de Cloud Firestore.

  5. Haz clic en Siguiente para configurar el activador.

  6. Selecciona los Tipos de condición como Umbral.

    Se establece una condición de umbral en un valor de umbral de 250 ms. Se activa una alerta cuando el valor de latencia del percentil 99 permanece igual durante todo el período de la ventana progresiva (5 min).

  7. Establece el valor del umbral en 250.

  8. Haz clic en Siguiente para configurar las notificaciones.

  9. Establece el nombre de la política de alertas y haz clic en Siguiente.

  10. Revisa la configuración de las alertas y haz clic en Crear política.

MQL

Puedes implementar la misma política de alertas de latencia con una consulta del lenguaje de consulta de Monitoring (MQL). Para obtener más ejemplos del uso de MQL, consulta Ejemplos de consultas de 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'