Monitorar o uso do Database

Como parte do gerenciamento dos projetos do Firebase, revise o uso de recursos do Realtime Database (por exemplo, quantos usuários estão conectados e quanto espaço de armazenamento o banco de dados usa) e como esse uso afeta a fatura.

Para analisar o uso faturado do Realtime Database, acesse o painel Uso e faturamento. Para mais informações sobre o faturamento, consulte Noções básicas sobre o faturamento do Realtime Database.

Para o uso de recursos, a guia Uso no console dol Firebase e as métricas disponíveis pelo Cloud Monitoring podem ajudar você a monitorar o uso do Realtime Database.

Receber alertas do Firebase

Você pode receber alertas por e-mail quando o uso de Realtime Database estiver se aproximando de um dos limites do seu plano de preços. Por padrão, o Firebase envia alertas por e-mail quando você atinge ou excede um limite de plano, mas é possível ativar essas notificações com antecedência para ajustar seu plano ou uso e evitar interrupções no serviço.

Esses alertas do Firebase e as configurações deles abrangem todo o projeto. Isso significa que, por padrão, todos os membros do projeto com as permissões necessárias para receber alertas vão receber um e-mail quando um alerta Realtime Database for acionado. Os e-mails são enviados para endereços de e-mail individuais, e não para grupos de contas, como Grupos do Google ou contas do Google Workspace.

Ativar/desativar alertas para sua conta

Para sua própria conta, é possível ativar/desativar os alertas do Realtime Database sem afetar outros membros do projeto. Você ainda precisa das permissões necessárias para receber alertas.

Para ativar ou desativar os alertas do Realtime Database, siga estas etapas:

  1. No canto superior direito do console do Firebase, acesse alertas do Firebase.
  2. Em seguida, acesse Configurações e defina a preferência da conta para alertas do Realtime Database.

Monitorar o uso no console do Firebase

Para conferir suas conexões atuais do Realtime Database e o uso de dados, verifique a guia Uso no console do Firebase. É possível verificar o uso relativo ao período de faturamento atual, aos últimos 30 dias ou às últimas 24 horas.

O Firebase mostra estatísticas de uso para as seguintes métricas:

  • Conexões: o número de conexões abertas, simultâneas e em tempo real com seu banco de dados. Isso inclui as seguintes conexões em tempo real: WebSocket, long polling e eventos enviados pelo servidor HTML. Não inclui solicitações RESTful.
  • Armazenamento: a quantidade de dados armazenada no seu banco de dados. Isso não inclui Firebase Hosting ou dados armazenados usando outros produtos do Firebase.
  • Downloads: todos os bytes transferidos a partir do seu banco de dados, incluindo a sobrecarga do protocolo e da criptografia.
  • Carga: neste gráfico, é possível ver quanto do banco de dados está sendo usado no processamento de solicitações durante um intervalo de 1 minuto. Você pode ter problemas de desempenho à medida que seu banco de dados se aproxima de 100%.

Guia "Regras" do Realtime Database no Console do Firebase.

Além disso, o console Firebase fornece um painel de avaliação Firebase Security Rules, uma visualização rápida e útil das invocações de regras. É possível complementar esse painel com análises detalhadas no Cloud Monitoring.

Para mais informações, consulte Monitorar regras de segurança no Cloud Monitoring.

Guia "Uso" do Realtime Database no Console do Firebase.

Monitorar o uso com Cloud Monitoring

Métricas de uso

Para usar o Cloud Monitoring e monitorar o uso faturado, acompanhe as métricas a seguir. Os nomes dos tipos de métricas são prefixados com firebasedatabase.googleapis.com/.

Nome da métrica Descrição
Contagem de bytes de payload enviados

network/sent_payload_bytes_count: essa métrica reflete o tamanho dos dados solicitados por meio de operações de banco de dados, incluindo buscas, consultas, gravações, atualizações do listener em tempo real e transmissões. Não inclui nenhuma sobrecarga de conexão (protocolo ou criptografia). O sent_payload_bytes_count contribui para os custos de largura de banda de saída, mas não contabiliza os custos faturados totais. É uma estimativa dos dados enviados do seu banco de dados em resposta a solicitações, mas, como mede o tamanho do payload dos dados solicitados, não os dados realmente enviados, nem sempre é preciso.

Contagem de bytes enviados de protocolo e payload

network/sent_payload_and_protocol_bytes_count: essa métrica reflete o tamanho dos dados de payload descritos acima e a sobrecarga de protocolo exigida pela conexão. Por exemplo, cabeçalhos HTTP, quadros do WebSocket e quadros de protocolo em tempo real do Firebase. Ela não conta os custos de criptografia em conexões seguras.

Contagem de bytes enviados network/sent_bytes_count: essa métrica reflete uma estimativa do tamanho total dos dados enviados do seu banco de dados por meio de leituras. Inclui os dados de payload que são de fato enviados aos clientes, além da sobrecarga de protocolo e criptografia que resulta em custos de conexão. Isso reflete com mais precisão a largura de banda total de saída na fatura do Realtime Database.
Total de bytes

storage/total_bytes: use essa métrica para monitorar a quantidade de dados que você armazena no seu banco de dados. Os dados armazenados no Realtime Database contribuem para os custos de faturamento.

Combine métricas em gráficos no seu painel para receber insights úteis e visões gerais. Por exemplo, teste as seguintes combinações:

  • Dados de saída: use as métricas network/sent_bytes_count, network/sent_payload_and_protocol_bytes_count e network/sent_payload_bytes_count para identificar possíveis problemas com sobrecarga do protocolo ou criptografia que contribuem para custos inesperados na sua fatura. Se você perceber uma grande discrepância entre o tamanho do payload de dados solicitados e as outras métricas que refletem a sobrecarga de conexão, resolva os problemas que possam estar gerando erros de tempo limite ou conexões frequentes. Se você não estiver usando tíquetes de sessão TLS, tente implementá-los para reduzir a sobrecarga de conexão SSL para as conexões retomadas.
  • Operações: use a métrica io/database_load para ver a quantidade da carga total do banco de dados usada para cada tipo de operação. Agrupe io/database_load por tipo para resolver problemas de diferentes tipos de operação.
  • Armazenamento: use storage/limit e storage/total_bytes para monitorar sua utilização de armazenamento em relação aos limites de armazenamento do Realtime Database.

Consulte a lista completa de métricas do Realtime Database disponíveis com o Cloud Monitoring.

Criar um espaço de trabalho do Cloud Monitoring

Para monitorar o Realtime Database com o Cloud Monitoring, é necessário configurar um espaço de trabalho no seu projeto. Um espaço de trabalho organiza informações de monitoramento de um ou mais projetos. Após a configuração, é possível criar painéis personalizados e políticas de alertas.

  1. Abrir a página do Cloud Monitoring

    Se o projeto já faz parte de um espaço de trabalho, a página do Cloud Monitoring é aberta. Caso contrário, selecione um espaço de trabalho para seu projeto.

  2. Selecione a opção Novo espaço de trabalho ou então um espaço de trabalho existente.

  3. Clique em Adicionar. Após a criação do espaço de trabalho, a página do Cloud Monitoring é aberta.

Criar um painel e adicionar um gráfico

Exiba as métricas do Realtime Database coletadas pelo Cloud Monitoring nos seus próprios gráficos e painéis.

Antes de continuar, verifique se o projeto faz parte de um espaço de trabalho do Cloud Monitoring.

  1. Na página do Cloud Monitoring, abra o espaço de trabalho e acesse a página Painéis.

    Acessar a página Painéis

  2. Clique em Criar painel e insira um nome para o painel.

  3. No canto superior à direita, clique em Adicionar gráfico.

  4. Na janela Adicionar gráfico, insira um título para o gráfico. Clique na guia Métrica.

  5. No campo Encontrar tipo de recurso e métrica, insira Firebase Realtime Database. No menu suspenso preenchido automaticamente, selecione uma das métricas do Realtime Database.

  6. Para adicionar mais métricas ao mesmo gráfico, clique em Adicionar métrica e repita a etapa anterior.

  7. Se preferir, personalize seu gráfico conforme necessário. Por exemplo, no campo Filtro, clique em + Adicionar um filtro. Role para baixo e selecione um valor ou intervalo para a métrica na qual você quer filtrar o gráfico.

  8. Clique em Salvar.

Saiba mais sobre os gráficos do Cloud Monitoring em Como trabalhar com gráficos.

Crie uma política de alertas

Crie uma política de alertas com base nas métricas do Realtime Database. Siga as etapas abaixo para criar uma política de alertas, que enviará e-mails para você sempre que uma métrica específica do Realtime Database atingir um determinado limite.

Antes de continuar, verifique se o projeto faz parte de um espaço de trabalho do Cloud Monitoring.

  1. Na página do Cloud Monitoring, abra o espaço de trabalho e acesse a página Alertas.

    Acessar a página "Criar nova política de alertas"

  2. Clique em Criar política.

  3. Insira um nome para sua política de alertas.

  4. Adicione uma condição de alerta com base em uma das métricas do Realtime Database. Clique em Adicionar condição.

  5. Selecione um Objetivo. No campo Encontrar tipo de recurso e métrica, insira Realtime Database. No menu suspenso preenchido automaticamente, selecione uma das métricas do Realtime Database.

  6. Em Acionadores de política, use os campos suspensos para definir sua condição de alerta.

  7. Adicione um canal de notificação à sua política de alertas. Em Notificações, clique em Adicionar canal de notificação. Selecione E-mail no menu suspenso.

  8. Digite seu e-mail no campo Endereço de e-mail. Clique em Adicionar.

  9. Como opção, preencha o campo de documentação para incluir outras informações na sua notificação por email.

  10. Clique em Salvar.

Se o uso do Realtime Database exceder o limite configurado, você receberá um alerta por e-mail.

Para saber mais sobre políticas de alerta, consulte Introdução a alertas.

A seguir