Configurar alertas e lógica de cobrança avançados

Embora os e- mails simples de alerta de orçamento sejam uma maneira relativamente fácil de receber atualizações de cobrança, pode haver momentos em que você queira criar alertas mais sofisticados que incluam uma lógica mais personalizada. Aqui estão duas abordagens a serem consideradas:

  • Use o Cloud Monitoring para criar alertas mais sofisticados e oportunos

  • Use uma notificação de faturamento do Pub/Sub junto com uma Cloud Function correspondente para criar um comportamento personalizado em resposta a mudanças nos seus gastos

Embora essas duas técnicas exijam mais trabalho de sua parte, elas lhe dão o poder de controlar exatamente quais tipos de alertas você está recebendo e como responder a eles.

Esta página oferece uma visão geral de cada uma dessas abordagens.

Crie alertas mais sofisticados com o Cloud Monitoring

E-mails de alerta de orçamento simples informam quando seu faturamento geral atingiu determinados limites. No entanto, você também pode estar interessado em saber se os serviços individuais estão aumentando inesperadamente – antes que eles tenham a chance de afetar significativamente seu orçamento. Para casos de uso mais sofisticados como esse, recomendamos aprender sobre o Cloud Monitoring, que é uma ferramenta do Google Cloud disponível para seu projeto do Firebase.

O Cloud Monitoring é útil para vários tipos diferentes de alertas:

  • Se um recurso do qual seu projeto depende não estiver disponível (para serviços Firebase e Google Cloud, mas mesmo para serviços externos, como AWS)

  • Se serviços como o Cloud Functions estiverem demorando mais do que o esperado para responder

  • Se seu bucket do Cloud Storage, instância do Realtime Database ou instância do Cloud Firestore estiver rejeitando muitas solicitações (uma indicação de que suas regras de segurança do Firebase podem estar incorretas).

  • Se a quantidade de recursos usados ​​por alguns de seus produtos Firebase aumentou acima de um determinado limite

Os alertas criados por meio do Cloud Monitoring geralmente são enviados mais rapidamente do que simples e-mails de alerta de orçamento, que normalmente são enviados uma vez por dia. Os alertas podem assumir a forma de mensagens SMS, mensagens do canal Slack, notificações do PagerDuty, webhooks e muito mais. Essas opções permitem que você envie alertas com níveis de visibilidade mais altos e mais acionáveis.

Como usar o Cloud Monitoring

Para começar a usar o Cloud Monitoring, recomendamos começar com o Metrics Explorer , que permite criar gráficos de métricas personalizadas em seu projeto do Firebase/Google Cloud e visualizar o uso delas.

Especificamente, você pode ver recursos como instâncias do Cloud Firestore, Realtime Database ou Cloud Function. Você pode visualizar informações de uso sobre esses produtos (como número de leituras de documentos, bytes enviados ou invocações de funções) que afetariam seu faturamento.

Depois de se sentir confortável em visualizar o uso de recursos no Metrics Explorer, recomendamos criar uma política de alertas sobre as métricas mais importantes para você. Aqui estão alguns exemplos de políticas de alerta:

  • Se o número de leituras de documentos em um período de 30 minutos for maior que um valor específico

  • Se o uso de um recurso específico (como uma invocação de função) parece estar aumentando muito rapidamente em um determinado período de tempo

Criar lógica de cobrança adicional

Os alertas de orçamento enviam e-mails automaticamente quando seu orçamento atinge determinados limites, mas para alertas mais sofisticados ou reações programáticas a aumentos de gastos, considere configurar uma lógica personalizada adicional com base nas mensagens do Google Cloud Pub/Sub.

Por exemplo, você pode enviar alertas para canais do Slack ou por mensagem de texto ou fazer alterações programáticas em seu aplicativo ou projeto, dependendo dos níveis de gastos.

Pub/Sub é um serviço de transmissão de mensagens que permite que outros serviços enviem mensagens, geralmente na forma de dados JSON, de maneira assíncrona por meio de canais conhecidos como tópicos Pub/Sub. Você pode configurar serviços autorizados, como o Cloud Functions, para ouvir mensagens nesses tópicos e agir de acordo com os dados.

Observe que as notificações do Pub/Sub para faturamento são enviadas uma vez a cada 20 minutos, independentemente de seu uso de faturamento ter mudado ou não, e não têm estado (o que significa que não fornecem contexto sobre o que as precedeu). Se você quiser acompanhar aumentos incomuns nos gastos ao longo do tempo ou comparar seus gastos com o ciclo anterior, você precisará gerenciar esses dados históricos usando um banco de dados como o Cloud Firestore ou o Realtime Database.

Como usar tópicos do Pub/Sub com o Cloud Functions

Você pode configurar um tópico do Pub/Sub para seus dados de faturamento visitando o orçamento associado ao seu projeto do Firebase no Console do Google Cloud (em Faturamento > Orçamentos e alertas ) e clicando na caixa de seleção Conectar um tópico do Pub/Sub a este orçamento . Isso criará um tópico do Pub/Sub que você poderá ouvir mais tarde. Para obter etapas detalhadas, consulte a documentação completa .

Depois de criar seu tópico de faturamento do Pub/Sub, você pode escrever uma Função do Cloud para ouvir esse tópico e agir de acordo com os dados. Os dados são enviados como dados JSON e incluem informações úteis, como o valor gasto até agora, o valor do orçamento e a data de início do ciclo de cobrança atual.

A documentação do Google Cloud tem detalhes completos sobre como receber esses dados usando uma Função do Cloud. No entanto, se você estiver usando o Cloud Functions para Firebase para implantar suas funções, o processo geral será um pouco mais simples (confira a documentação do Firebase ). Você também pode consultar este vídeo para obter um exemplo de passo a passo do processo.

Depois de receber esses dados, há várias maneiras de responder a eles. Aqui estão algumas opções: