Join us for Firebase Summit on November 10, 2021. Tune in to learn how Firebase can help you accelerate app development, release with confidence, and scale with ease. Register

Configure alertas y lógica de facturación avanzadas

Si bien simples mensajes de correo electrónico de alerta presupuesto son una forma relativamente fácil de recibir actualizaciones de facturación, puede haber ocasiones en las que desea crear alertas más sofisticadas que incluyen una lógica más personalizado. Aquí hay dos enfoques a considerar:

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

  • Use una notificación de facturación de Pub / Sub junto con una función de Cloud correspondiente para crear un comportamiento personalizado en respuesta a los cambios en su gasto

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

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

Cree alertas más sofisticadas con Cloud Monitoring

Los correos electrónicos de alerta de presupuesto simple le permiten saber cuándo su facturación general ha alcanzado ciertos umbrales. Sin embargo, también podría estar interesado en saber si los servicios individuales están aumentando inesperadamente, antes de que hayan tenido 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 (para los servicios de Firebase y Google Cloud, pero incluso para servicios externos, como AWS)

  • Si servicios como Cloud Functions están tardando más de lo esperado en responder

  • Si su depósito de Cloud Storage, instancia de Realtime Database o instancia de Cloud Firestore rechaza 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 de canal de Slack, notificaciones de PagerDuty, webhooks y más. Estas opciones le permiten enviar alertas con niveles de visibilidad más altos y procesables.

Usar la monitorización en la nube

Para empezar a trabajar con Cloud Monitoring, se recomienda comenzar con el Explorador de métricas , lo 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 la información de uso de estos productos (como el número de lecturas de documentos, los bytes enviados o las invocaciones de funciones) que afectaría su facturación.

Después de que se sienta cómodo visualización de su uso de los recursos en el Explorador de métricas, se recomienda la creación de una política de alertar sobre las métricas que más te 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 tiempo 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

Cree una 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 gastos, puede 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 transmisión de mensajes que permite a otros servicios enviar mensajes, generalmente en forma de datos JSON, de manera asincrónica a través de canales conocidos como temas de Pub / Sub. Puede configurar servicios autorizados, como Cloud Functions, para escuchar mensajes en 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 proporcionan 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

Puede configurar un / Sub tema bar para sus datos de facturación visitando el presupuesto asociado a su proyecto Firebase en Google Cloud Console (menores de Facturación> Presupuestos y alertas), a continuación, hacer clic en la casilla de verificación Conectar un tema Pub / Sub a este presupuesto . Esto creará un tema de Pub / Sub que podrás escuchar más tarde. Para obtener información detallada, consulte la documentación completa .

Una vez que haya 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 todos los detalles sobre cómo recibir estos datos mediante una función de nube. Sin embargo, si usted está utilizando la nube Funciones de Firebase para desplegar sus funciones, el proceso general es un poco más simple (echa un vistazo a la documentación Firebase ). También puede hacer referencia a este video para un tutorial muestra del proceso.

Una vez que haya recibido estos datos, hay varias formas diferentes de responder a ellos. A continuación se muestran algunas opciones: