Monitorizar bases de datos con Cloud Monitoring
En esta página se describe cómo usar las métricas de Cloud Monitoring para Firestore con compatibilidad con MongoDB para monitorizar tu base de datos.
Métricas de Cloud Monitoring para Firestore con compatibilidad con MongoDB
En las siguientes secciones se ofrece un resumen de las métricas disponibles para Firestore con compatibilidad con MongoDB.
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, se monitoriza el rendimiento de la compatibilidad de Firestore con MongoDB mediante el siguiente recurso:
Resources | Descripción |
firestore.googleapis.com/Database | Tipo de recurso monitorizado que proporciona desgloses de project , location y database_id . |
Métricas
Para ver una lista completa de las métricas de Firestore, consulta el artículo Métricas de Firestore. En la siguiente sección se describen algunas de las métricas disponibles.
Métricas de 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 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 ha llamado. El método del SDK al que llamas no tiene por qué llamarse igual que el método RPC subyacente. El motivo es que el SDK proporciona una abstracción de la 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_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.
Métricas de operaciones de documentos
Firestore proporciona recuentos de lecturas, escrituras y eliminaciones. La métrica de escritura proporciona un desglose entre las operaciones "CREATE" y "UPDATE". Estas métricas se corresponden con las operaciones CRUD.
Las siguientes métricas se pueden usar para saber si tu base de datos tiene muchas lecturas o muchas escrituras, así como la tasa de documentos nuevos en comparación con los documentos eliminados.
document/delete_ops_count
: número de documentos eliminados correctamente.document/read_ops_count
: Número de lecturas de documentos correctas a partir de consultas o búsquedas.document/write_ops_count
: número de escrituras de documentos correctas.
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 de administrador (indexación, importación, exportación y eliminación en bloque).
api/billable_read_units
: el número de unidades de lectura facturables. El uso se puede desglosar por nombre de servicio y método de API.api/billable_write_units
: número 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
: número de unidades de escritura facturables de servicios de eliminación gestionados, como TTL.
Métricas de índice
Las tasas de escritura de índices se pueden contrastar con la métrica document/write_ops_count
para comprender la dispersión de los índices.
index/write_count
: número de escrituras de índice.
Métricas de TTL
Las métricas de TTL de Firestore con compatibilidad con MongoDB se usan para monitorizar el efecto de la política de TTL aplicada.
document/ttl_deletion_count
: número total de documentos eliminados por los servicios de TTL.document/ttl_expiration_to_deletion_delays
: tiempo transcurrido entre el momento en que caducó un documento con un TTL y el momento en que se eliminó.
Ver paneles predefinidos y crear paneles personalizados
Firestore con compatibilidad con MongoDB admite paneles predefinidos que usan métricas de Cloud Monitoring. También puedes crear paneles de control personalizados.
Ver métricas de uso de la base de datos
Abre los paneles de control de uso en la Google Cloud consola para ver las lecturas, escrituras y eliminaciones de documentos a lo largo del tiempo.
Control de acceso
Los paneles de control de uso requieren el permiso monitoring.timeSeries.list
Gestión de Identidades y Accesos (IAM).
Los roles Propietario, Editor y Lector del proyecto conceden este permiso. También puedes conceder 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 Firestore con compatibilidad con MongoDB, haz lo siguiente:
En la Google Cloud consola, ve a la página Bases de datos.
Seleccione la base de datos que necesite de la lista de bases de datos.
En el menú de navegación, haz clic en Uso.
Panel de uso e informes de facturación
Los paneles de control de uso de Firestore de la consola proporcionan una estimación del uso. Pueden ayudarte a identificar picos de uso. Sin embargo, el panel de control no muestra una vista exacta de las operaciones facturadas. Es probable que el uso facturado sea mayor. Para monitorizar la facturación, consulta las métricas de facturación.
En todos los casos de discrepancia, el informe de facturación tiene prioridad sobre el panel de uso.
Las operaciones de importación y exportación provocan discrepancias entre el panel de control de uso y el uso facturado. Las lecturas y escrituras realizadas por estas operaciones no se muestran en el panel de control de uso.
Ver métricas de rendimiento de la base de datos
La página Monitorización de la sección Firestore de la consola deGoogle Cloud incluye paneles de monitorización predefinidos, como Latencias de solicitudes (P50 y P99), Códigos de respuesta y Estadísticas de consultas (P50). También puedes crear un panel de control personalizado. Para acceder a la página Monitorización de una base de datos, sigue estos pasos:
En la Google Cloud consola, abre la página Bases de datos de Firestore.
Selecciona una base de datos de la lista.
En el menú de navegación, haga clic en Monitorización para abrir un panel de control.
Crear paneles de control personalizados de Cloud Monitoring
En Cloud Monitoring, los paneles de control personalizados te permiten mostrar la información que te interesa de forma organizada. Por ejemplo, puedes crear un panel de control para mostrar las métricas de rendimiento y las políticas de alertas de tu proyecto en tu entorno de producción.
Para obtener más información sobre cómo configurar un panel de control personalizado, consulta los artículos Gestionar paneles de control personalizados y Añadir widgets a un panel de control.
Crear una política de alertas
En Cloud Monitoring, puedes crear alertas para recibir notificaciones cuando se produzca un cambio en una condición de una 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 el artículo Crear políticas de alertas de umbral de métricas.
Veamos un ejemplo en el que creamos una política de alertas de latencia. La política de alertas comprueba la latencia del percentil 99 en un periodo de 5 minutos. Si la latencia del percentil 99 se mantiene por encima de 250 ms durante 5 minutos, se activa la alerta.
Consola
En la Google Cloud consola, ve a la página Monitoring y, a continuación, selecciona notifications Alertas.
Selecciona Crear política.
Selecciona la métrica Latencias de solicitudes del recurso API consumida.
Añade un filtro de servicio para
firestore.googleapis.com
en las bases de datos nativas de Firestore.Haz clic en Siguiente para configurar el activador.
En Tipos de condición, seleccione Umbral.
La condición de umbral se establece en un valor de umbral de 250 ms. Se activa una alerta cuando el valor de latencia del percentil 99 se mantiene igual durante todo el periodo de la ventana de tiempo (5 minutos).
En Valor del umbral, elige 250.
Haz clic en Siguiente para configurar las notificaciones.
Asigna un nombre a la política de alertas y haz clic en Siguiente.
Revisa las configuraciones de las alertas y haz clic en Crear política.
MQL
Puedes implementar la misma política de alertas de latencia con una consulta de Monitoring Query Language (MQL). Para ver más ejemplos de uso de MQL, consulta Consultas de ejemplo 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'