Configurar alertas y lógica de facturación avanzadas

Si bien los correos electrónicos de alerta de presupuesto simples son una forma relativamente fácil de recibir actualizaciones de facturación, puede haber ocasiones en las que desee crear alertas más sofisticadas que incluyan una lógica más personalizada. Aquí hay dos enfoques a considerar:

  • Utilice Cloud Monitoring para crear alertas más sofisticadas y oportunas

  • Utilice una notificación de facturación de Pub/Sub junto con una función de nube correspondiente para crear un comportamiento personalizado en respuesta a los cambios en sus gastos.

Si bien ambas técnicas requieren más trabajo de su parte, le brindan el poder de controlar exactamente qué tipos de alertas recibe y cómo responder a ellas.

Esta página ofrece una descripción general de cada uno de estos enfoques.

Crea alertas más sofisticadas con Cloud Monitoring

Los correos electrónicos simples de alerta de presupuesto le permiten saber cuándo su facturación general ha alcanzado ciertos umbrales. Sin embargo, también podría interesarle saber si los servicios individuales están aumentando inesperadamente, antes de que tengan la oportunidad de afectar significativamente su presupuesto. Para casos de uso más sofisticados como este, recomendamos aprender sobre Cloud Monitoring, que es una herramienta de Google Cloud disponible para su proyecto de Firebase.

Cloud Monitoring es útil para varios tipos diferentes de alertas:

  • Si un recurso del que depende su proyecto no está disponible (tanto para los servicios de Firebase como para los de Google Cloud, pero incluso para servicios externos, como AWS)

  • Si servicios como Cloud Functions tardan más de lo esperado en responder

  • Si su depósito de Cloud Storage, su instancia de Realtime Database o su instancia de Cloud Firestore rechazan demasiadas solicitudes (una indicación de que sus reglas de seguridad de Firebase pueden ser incorrectas).

  • Si la cantidad de recursos utilizados por algunos de sus productos de Firebase ha aumentado por encima de cierto umbral

Las alertas creadas a través de Cloud Monitoring generalmente se envían más rápidamente que los simples correos electrónicos de alerta de presupuesto, que generalmente se envían una vez al día. Las alertas pueden tomar la forma de mensajes SMS, mensajes del canal Slack, notificaciones de PagerDuty, webhooks y más. Estas opciones le permiten enviar alertas con niveles de visibilidad más altos y procesables.

Usando el monitoreo en la nube

Para comenzar con Cloud Monitoring, recomendamos comenzar con Metrics Explorer , que le permite crear gráficos de métricas personalizadas dentro de su proyecto Firebase/Google Cloud y visualizar su uso.

Específicamente, puede consultar recursos como sus instancias de Cloud Firestore, Realtime Database o Cloud Function. Puede ver información de uso sobre estos productos (como la cantidad de lecturas de documentos, bytes enviados o invocaciones de funciones) que tendrían un efecto en su facturación.

Una vez que se sienta cómodo visualizando el uso de sus recursos en el Explorador de métricas, le recomendamos crear una política de alertas sobre las métricas que más le interesan. A continuación se muestran algunos ejemplos de políticas de alerta:

  • Si el número de lecturas de documentos en un período de 30 minutos es mayor que un valor particular

  • Si el uso de un recurso específico (como la invocación de una función) parece aumentar demasiado rápido en un período de tiempo determinado

Crear lógica de facturación adicional

Las alertas de presupuesto envían correos electrónicos automáticamente cuando su presupuesto alcanza ciertos umbrales, pero para alertas más sofisticadas o reacciones programáticas a los aumentos de gasto, podría considerar configurar una lógica personalizada adicional basada en los mensajes de Google Cloud Pub/Sub.

Por ejemplo, puede enviar alertas a los canales de Slack o mediante mensajes de texto, o realizar cambios programáticos en su aplicación o proyecto según los niveles de gasto.

Pub/Sub es un servicio de transferencia de mensajes que permite a otros servicios enviar mensajes (normalmente en forma de datos JSON) de forma asincrónica a través de canales conocidos como temas de Pub/Sub. Puede configurar servicios autorizados, como Cloud Functions, para escuchar mensajes sobre estos temas y actuar sobre los datos de manera adecuada.

Tenga en cuenta que las notificaciones de facturación de Pub/Sub se envían aproximadamente una vez cada 20 minutos, independientemente de si su uso de facturación ha cambiado o no, y no tienen estado (lo que significa que no brindan contexto sobre lo que las precedió). Si desea realizar un seguimiento de los aumentos inusuales en el gasto a lo largo del tiempo, o comparar su gasto con el ciclo anterior, deberá administrar esos datos históricos usted mismo utilizando una base de datos como Cloud Firestore o Realtime Database.

Usar temas de Pub/Sub con Cloud Functions

Puedes configurar un tema de Pub/Sub para tus datos de facturación visitando el presupuesto asociado con tu proyecto de Firebase en la consola de Google Cloud (en Facturación > Presupuestos y alertas ) y luego haciendo clic en la casilla de verificación Conectar un tema de Pub/Sub a este presupuesto. . Esto creará un tema de Pub/Sub que podrás escuchar más tarde. Para conocer los pasos detallados, consulte la documentación completa .

Después de haber creado su tema de facturación de Pub/Sub, puede escribir una función en la nube para escuchar este tema y actuar sobre los datos en consecuencia. Los datos se envían como datos JSON e incluyen información útil como el monto que ha gastado hasta ahora, el monto de su presupuesto y la fecha de inicio de su ciclo de facturación actual.

La documentación de Google Cloud tiene detalles completos sobre cómo recibir estos datos mediante una función de nube. Sin embargo, si utiliza Cloud Functions para Firebase para implementar sus funciones, el proceso general es un poco más simple (consulte la documentación de Firebase ). También puede consultar este vídeo para ver un tutorial de muestra del proceso.

Una vez que haya recibido estos datos, hay varias formas diferentes de responder a ellos. Aquí hay algunas opciones: