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, quanto espaço de armazenamento seu banco de dados usa) e como esse uso está afetando sua fatura.

Para analisar o uso faturado do Realtime Database, verifique o painel de uso e faturamento. Consulte Compreender o faturamento do Realtime Database para mais informações sobre o faturamento.

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

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%.

Painel de monitoramento das regras
do Realtime Database no Console do Firebase.

Além disso, o Console do Firebase fornece um painel de avaliação das Regras de segurança do Firebase, 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.

O painel de uso do Realtime Database no Console do Firebase.

Cloud Monitoring

Métricas de uso

Para usar o Cloud Monitoring para monitorar seu 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 no seu faturamento 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 que você armazena no Realtime Database contribuem para seus custos faturados.

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 do Realtime Database.

Veja a lista completa de métricas do Realtime Database disponíveis por meio do Cloud Monitoring.

Criar um espaço de trabalho do Cloud Monitoring

Para monitorar o Realtime Database com o Cloud Monitoring, é preciso configurar um espaço de trabalho para 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 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 alerta

Crie uma política de alertas com base nas métricas do Realtime Database. Basta seguir as etapas abaixo para fazer esse processo, 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 disponíveis 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