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

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

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

  • Usar uma notificação de faturamento do Pub/Sub junto com uma função do Cloud correspondente para criar um comportamento personalizado em resposta a alterações nos gastos

Embora ambas as técnicas exijam mais trabalho da sua parte, elas oferecem a capacidade de controlar exatamente quais tipos de alertas você recebe e como responder a eles.

Nesta página, você encontra uma visão geral de cada uma dessas abordagens.

Criar alertas mais sofisticados com o Cloud Monitoring

Com e-mails de alerta de orçamento simples, você sabe quando o faturamento geral atinge determinados limites. No entanto, você também pode ter interesse em saber se os serviços individuais estão aumentando de maneira inesperada — antes de terem chance de afetar significativamente seu orçamento. Para casos de uso mais sofisticados como este, recomendamos saber mais sobre o Cloud Monitoring, uma ferramenta do Google Cloud disponível para seu projeto do Firebase.

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

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

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

  • Se o bucket do Cloud Storage, a instância do Realtime Database ou do Cloud Firestore rejeitar muitas solicitações, indicando que as regras de segurança do Firebase podem estar incorretas

  • Se a quantidade de recursos usada por alguns dos seus produtos do Firebase aumentou acima de um determinado limite

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

Como usar o Cloud Monitoring

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

Especificamente, é possível procurar recursos como instâncias do Cloud Firestore, Realtime Database ou Cloud Functions. É possível ver informações de uso sobre esses produtos (como número de leituras de documentos, bytes enviados ou invocações de função) que afetariam seu faturamento.

Depois de se familiarizar com a visualização do uso de recursos no Metrics Explorer, recomendamos que você crie uma política de alertas para as métricas mais importantes. Veja alguns exemplos de políticas de alertas:

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

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

Criar uma lógica de faturamento adicional

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

Por exemplo, é possível enviar alertas para canais do Slack ou por mensagem de texto, ou ainda fazer alterações programáticas no aplicativo ou projeto, dependendo dos níveis de gasto.

O 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 canais conhecidos como tópicos do Pub/Sub. É possível configurar serviços autorizados, como o Cloud Functions, para ouvir mensagens nesses tópicos e agir de acordo com os dados.

As notificações do Pub/Sub para faturamento são enviadas cerca de uma vez a cada 20 minutos, independentemente se o uso do faturamento tiver sido alterado ou não, e elas são sem estado, o que significa que elas não fornecem contexto sobre o que as precedeu. Se você quiser acompanhar os aumentos incomuns nos gastos ao longo do tempo ou comparar seus gastos com o ciclo anterior, precisará gerenciar esses dados históricos por conta própria usando um banco de dados como o Cloud Firestore ou o Realtime Database.

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

É possível configurar um tópico do Pub/Sub para seus dados de faturamento. Basta acessar o orçamento associado ao projeto do Firebase no Console do Google Cloud (em Faturamento > Orçamentos e alertas). Em seguida, clique 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ê pode ouvir mais tarde. Para ver as etapas detalhadas, consulte a documentação completa.

Após criar seu tópico de faturamento do Pub/Sub, é possível 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é o momento, o valor do orçamento e a data de início do ciclo de faturamento 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 funções, o processo geral será um pouco mais simples (consulte a documentação do Firebase). Você também pode consultar este vídeo para ver um tutorial de exemplo do processo.

Depois de receber esses dados, há várias maneiras diferentes de responder a eles. Veja algumas opções: