Supervisar el uso de la base de datos

Como parte de la administración de tus proyectos de Firebase, te recomendamos revisar el uso de recursos de Realtime Database (por ejemplo, cuántos usuarios están conectados, cuánto almacenamiento usa tu base de datos) y cómo ese uso afecta tu factura.

Para revisar el uso facturado de Realtime Database, consulta el panel Uso y facturación. Para saber más de la facturación, consulta Información sobre la facturación de Realtime Database.

Para el uso de recursos, tanto la pestaña Uso en Firebase console como las métricas disponibles a través de Cloud Monitoring pueden ayudarte a supervisar el uso de Realtime Database.

Recibe alertas de Firebase

Puedes recibir alertas por correo electrónico cuando el uso de Realtime Database se acerque a uno de los límites de tu plan de precios. De forma predeterminada, Firebase envía alertas por correo electrónico cuando alcanzas o superas un límite de plan, pero puedes habilitar estas notificaciones anticipadas para ajustar tu plan o uso, y evitar interrupciones del servicio.

Estas alertas de Firebase y su configuración se aplican a todo el proyecto. Esto significa que, de forma predeterminada, cada miembro del proyecto que tenga los permisos necesarios para recibir alertas recibirá un correo electrónico cuando se active una alerta de Realtime Database. Los correos electrónicos se envían a direcciones de correo electrónico individuales (no a grupos de cuentas como grupos de Google o cuentas de Google Workspace).

Activa o desactiva alertas para tu propia cuenta

En tu propia cuenta, puedes activar o desactivar las alertas de Realtime Database sin que esto afecte a otros miembros del proyecto. Ten en cuenta que aún necesitas los permisos necesarios para recibir alertas.

Para activar o desactivar las alertas de Realtime Database, sigue estos pasos:

  1. En Firebase console, en la esquina superior derecha, ve a Alertas de Firebase.
  2. Luego, ve a Configuración y establece la preferencia de tu cuenta para las alertas de Realtime Database.

Supervisa el uso en Firebase console

Para ver las conexiones y el uso de datos actuales de Realtime Database, consulta la pestaña Uso en Firebase console. Puedes revisar el uso en el período de facturación actual, los últimos 30 días o las últimas 24 horas.

Firebase muestra estadísticas de uso para las siguientes métricas:

  • Conexiones: La cantidad de conexiones simultáneas actualmente abiertas a tu base de datos en tiempo real. Esto incluye las siguientes conexiones en tiempo real: WebSocket, sondeos largos y eventos enviados por el servidor HTML. No incluye solicitudes RESTful.
  • Almacenamiento: La cantidad de datos que se almacenan en la base de datos. Esto no incluye el hosting de Firebase ni los datos almacenados a través de otros productos de Firebase.
  • Descargas: Todos los bytes descargados de tu base de datos, incluidas las sobrecargas de protocolo y de encriptación.
  • Carga: Este gráfico muestra qué porcentaje de la base de datos se está usando en el procesamiento de solicitudes, en un intervalo determinado de 1 minuto. Pueden surgir problemas de rendimiento a medida que la base de datos se acerca al 100%.

La pestaña Reglas de Realtime Database en Firebase console.

Además, la consola de Firebase proporciona un panel de evaluación de Firebase Security Rules, una vista rápida y útil de las invocaciones de reglas. Puedes complementar este panel con un análisis detallado en Cloud Monitoring.

Para obtener más información, consulta Supervisa las reglas de seguridad en Cloud Monitoring.

La pestaña Uso de Realtime Database en Firebase console.

Supervisa el uso con Cloud Monitoring

Métricas de uso

Para usar Cloud Monitoring y supervisar el uso facturado, realiza un seguimiento de las siguientes métricas. Ten en cuenta que todos los nombres de los tipos de métrica tienen el prefijo firebasedatabase.googleapis.com/.

Nombre de la métrica Descripción
Recuento de bytes de carga útil enviados

network/sent_payload_bytes_count. Esta métrica refleja el tamaño de los datos solicitados a través de las operaciones de la base de datos (incluidas las obtenciones de datos, las consultas, las operaciones de escritura, las actualizaciones de objetos de escucha en tiempo real y las transmisiones). No incluye gastos de funcionamiento de la conexión (protocolo o encriptación). La métrica “sent_payload_bytes_count” se suma a los costos de ancho de banda de salida, pero no refleja los costos facturados totales. Se trata de una estimación de los datos enviados desde tu base de datos en respuesta a solicitudes. Sin embargo, dado que mide el tamaño de la carga útil de los datos solicitados en lugar de los datos enviados realmente, es posible que no siempre sea precisa.

Recuento de bytes de carga útil y protocolo enviados

network/sent_payload_and_protocol_bytes_count. Esta métrica refleja el tamaño de los datos de la carga útil descritos anteriormente y de la sobrecarga del protocolo que necesita la conexión (por ejemplo, encabezados HTTP, marcos de WebSocket y marcos de protocolo en tiempo real de Firebase). No refleja los costos de encriptación en conexiones seguras.

Recuento de bytes enviados network/sent_bytes_count. Esta métrica es una estimación del tamaño total de los datos enviados desde la base de datos a través de lecturas. Incluye los datos de carga útil que se enviaron realmente a los clientes, además de los gastos de funcionamiento de protocolo y encriptación que generan costos de conexión. Esta es la métrica que refleja de manera más precisa el ancho de banda de salida total que aparece en tu factura de Realtime Database.
Bytes en total

storage/total_bytes. Usa esta métrica para supervisar la cantidad de datos que se almacenan en la base de datos. Los datos que almacenas en Realtime Database se suman a tus costos de facturación.

Combina varias métricas en el panel para hacer gráficos que te permitan ver estadísticas útiles y descripciones generales. Por ejemplo, prueba las siguientes combinaciones:

  • Datos de salida: Usa las métricas network/sent_bytes_count, network/sent_payload_and_protocol_bytes_count y network/sent_payload_bytes_count para detectar posibles problemas con la sobrecarga del protocolo o de la encriptación, que podrían generar costos inesperados en tu factura. Si ves una gran discrepancia entre el tamaño de las cargas útiles de datos solicitadas y las otras métricas que reflejan el consumo de recursos de la conexión, es recomendable que trates de solucionar problemas que puedan estar generando tiempos de espera o conexiones frecuentes. Si no usas las solicitudes de sesión TLS, te recomendamos implementarlas a fin de reducir el uso de la conexión SSL para las conexiones que se reanudan.
  • Operaciones: Usa la métrica io/database_load para saber cuánto de la carga total de la base de datos se usa en cada tipo de operación. Asegúrate de agrupar io/database_load por tipo para solucionar problemas de diferentes tipos de operaciones.
  • Almacenamiento: Usa las métricas storage/limit y storage/total_bytes para supervisar el uso del almacenamiento en relación con los límites de almacenamiento de Realtime Database.

Consulta la lista completa de métricas de Realtime Database disponibles a través de Cloud Monitoring.

Crear un espacio de trabajo de Cloud Monitoring

Si quieres supervisar Realtime Database con Cloud Monitoring, debes configurar un lugar de trabajo para tu proyecto. Un lugar de trabajo permite organizar la información de supervisión de uno o más proyectos. Después de configurar un lugar de trabajo, podrás crear paneles personalizados y políticas de alertas.

  1. Abrir la página de Cloud Monitoring

    Si tu proyecto ya forma parte de un lugar de trabajo, se abrirá la página de Cloud Monitoring. De lo contrario, selecciona uno para tu proyecto.

  2. Selecciona la opción Nuevo lugar de trabajo o selecciona uno que ya exista.

  3. Haz clic en Agregar. Después de que se compile el lugar de trabajo, se abrirá la página de Cloud Monitoring.

Crea un panel y agrega un gráfico

Muestra las métricas de Realtime Database recopiladas de Cloud Monitoring en tus propios gráficos y paneles.

Antes de continuar, asegúrate de que el proyecto forme parte de un lugar de trabajo de Cloud Monitoring.

  1. En la página Cloud Monitoring, abre el lugar de trabajo y ve a la página Paneles.

    Ir a la página Paneles

  2. Haz clic en Crear panel y, luego, ingresa un nombre para el panel.

  3. En la esquina superior derecha, haz clic en Agregar gráfico.

  4. En la ventana Agregar gráfico, ingresa un título para el gráfico. Haz clic en la pestaña Métrica.

  5. En el campo Find resource type and metric, ingresa Firebase Realtime Database. En el menú desplegable de propagación automática, selecciona una de las métricas de Realtime Database.

  6. Para agregar más métricas al mismo gráfico, haz clic en Agregar métrica y repite el paso anterior.

  7. Opcionalmente, adapta el gráfico según tus necesidades. Por ejemplo, en el campo Filtro, haz clic en + Agregar un filtro. Desplázate hacia abajo y, luego, selecciona un valor o rango para la métrica que deseas usar a fin de filtrar el gráfico.

  8. Haz clic en Guardar.

Para obtener más información sobre los gráficos de Cloud Monitoring, consulta cómo trabajar con gráficos.

Crea una política de alertas

Puedes crear una política de alertas basada en las métricas de Realtime Database. Sigue los pasos que se indican a continuación para crear una política de alertas que te envíe un correo electrónico cada vez que una métrica específica de Realtime Database alcance un umbral determinado.

Antes de continuar, asegúrate de que el proyecto forme parte de un lugar de trabajo de Cloud Monitoring.

  1. En la página Cloud Monitoring, abre el lugar de trabajo y ve a la página Alertas.

    Ir a la página Crear política de alertas nueva

  2. Haz clic en Crear política.

  3. Ingresa un nombre para la política de alertas.

  4. Agrega una condición de alerta basada en una de las métricas de Realtime Database. Haz clic en Agregar condición.

  5. Selecciona un objetivo. En el campo Buscar tipo de recurso y métrica, ingresa Realtime Database. En el menú desplegable de propagación automática, selecciona una de las métricas de Realtime Database.

  6. En Activadores de políticas, usa los campos desplegables para definir la condición de alerta.

  7. Agrega un canal de notificaciones a tu política de alertas. En Notificaciones, haz clic en Agregar canal de notificaciones. Selecciona Correo electrónico en el menú desplegable.

  8. Ingresa tu dirección de correo electrónico en el campo Dirección de correo electrónico. Haz clic en Agregar.

  9. De manera opcional, completa el campo de documentación para incluir información adicional en tu notificación por correo electrónico.

  10. Haz clic en Guardar.

Si tu uso de Realtime Database supera el umbral configurado, recibirás una alerta por correo electrónico.

Para obtener más información sobre las políticas de alertas, consulta Introducción a las alertas.

¿Qué sigue?