Monitorar métricas de banco de dados

Relevante apenas para a edição Enterprise do Cloud Firestore.

Nesta página, descrevemos como usar as métricas Cloud Monitoring para o Cloud Firestore com compatibilidade com o MongoDB e monitorar seu banco de dados.

Métricas do Cloud Monitoring para o Cloud Firestore com compatibilidade com o MongoDB

As seções a seguir oferecem uma visão geral das métricas disponíveis para o Cloud Firestore com compatibilidade com o MongoDB.

Recursos monitorados

Um recurso monitorado em Cloud Monitoring representa uma entidade lógica ou física, como uma máquina virtual, um banco de dados ou um aplicativo. Os recursos monitorados contêm um conjunto exclusivo de métricas que podem ser analisadas, informadas em um painel ou usadas para criar alertas. Cada recurso também tem um conjunto de rótulos de recurso, que são pares de chave-valor com informações adicionais sobre o recurso. Os rótulos de recursos estão disponíveis para todas as métricas associadas ao recurso.

Usando a API Cloud Monitoring, o desempenho do Cloud Firestore com compatibilidade com o MongoDB é monitorado com o seguinte recurso:

Recursos Descrição
firestore.googleapis.com/Database Tipo de recurso monitorado que fornece detalhamentos para project, location e database_id.

Métricas

Para uma lista completa de métricas do Cloud Firestore, consulte Métricas do Cloud Firestore. A seção a seguir descreve algumas das métricas disponíveis.

Métricas de tempo de execução do serviço

As métricas de serviceruntime fornecem uma visão geral de alto nível do tráfego de um projeto. Essas métricas estão disponíveis para a maioria das APIs Google Cloud. O tipo de recurso monitorado consumed_api contém essas métricas comuns. Essas métricas são coletadas a cada 30 minutos, o que resulta em dados suavizados.

Um rótulo de recurso importante para as métricas de serviceruntime é method. Esse rótulo representa o método RPC subjacente chamado. O método do SDK que você chama não precisa ter o mesmo nome do método RPC subjacente. O motivo é que o SDK oferece abstração de API de alto nível. No entanto, ao tentar entender como seu aplicativo interage com Cloud Firestore, é importante entender as métricas com base no nome do método RPC.

Se você precisar saber qual é o método RPC subjacente para um determinado método do SDK, consulte a documentação da API.

api/request_latencies

A métrica api/request_latencies fornece distribuições de latência em todas as solicitações concluídas.

O Cloud Firestore registra métricas do componente Cloud Firestore Service. As métricas de latência incluem o tempo entre o momento em que Cloud Firestore recebe a solicitação e o momento em que Cloud Firestore termina de enviar a resposta, incluindo interações com a camada de armazenamento. Por isso, a latência de ida e volta (RTT) entre o cliente e o serviço Cloud Firestore não está incluída nessas métricas.

Métricas de operação de documentos

O Cloud Firestore fornece contagens de leitura, gravação e exclusão. A métrica de gravação fornece uma análise detalhada entre as operações "CREATE" e "UPDATE". Essas métricas estão alinhadas com as operações CRUD.

As métricas a seguir podem ser usadas para entender se o banco de dados tem muitas leituras ou gravações e a taxa de documentos novos em comparação com os excluídos.

  • document/delete_ops_count: o número de exclusões de documentos bem-sucedidas.
  • document/read_ops_count: o número de leituras de documentos bem-sucedidas de consultas ou pesquisas.
  • document/write_ops_count: o número de gravações de documentos bem-sucedidas.

Métricas de faturamento

Use essas métricas para entender o uso do faturamento. Essas métricas não incluem o faturamento de operações de administrador (indexação, importação, exportação e exclusão em massa).

  • api/billable_read_units: o número de unidades de leitura faturáveis. O uso pode ser dividido por nome do serviço e método da API.

  • api/billable_write_units: o número de unidades de gravação faturáveis. O uso pode ser dividido por nome do serviço e método da API.

  • document/billable_managed_delete_write_units: o número de unidades de gravação faturáveis de serviços de exclusão gerenciada, como TTL.

Métricas de índice

As taxas de gravação de índice podem ser comparadas com a métrica document/write_ops_count para entender o fanout do índice.

  • index/write_count: contagem de gravações de índice.

Métricas de TTL

As métricas de TTL do Cloud Firestore com compatibilidade com o MongoDB são usadas para monitorar o efeito da política de TTL aplicada.

  • document/ttl_deletion_count: contagem total de documentos excluídos pelos serviços de TTL.
  • document/ttl_expiration_to_deletion_delays: tempo decorrido entre a expiração de um documento com um TTL e o momento em que ele foi excluído.

Ver painéis predefinidos e criar painéis personalizados

O Cloud Firestore com compatibilidade com o MongoDB oferece suporte a painéis predefinidos que usam métricas Cloud Monitoring. Também é possível criar painéis personalizados.

Conferir métricas de uso do banco de dados

Abra os painéis de uso no console do Google Cloud para conferir leituras, gravações e exclusões de documentos ao longo do tempo.

Controle de acesso

Os painéis de uso exigem a permissão monitoring.timeSeries.list do Identity and Access Management (IAM). Os papéis de proprietário, editor e visualizador do projeto concedem essa permissão. Você também pode conceder essa permissão por meio de um papel do Cloud Monitoring ou de um papel personalizado.

Painel de uso de banco de dados

Para conferir as métricas de uso de um banco de dados do Cloud Firestore com compatibilidade com o MongoDB, faça o seguinte:

  1. No Console do Google Cloud, acesse a página Bancos de Dados.

    Acessar "Bancos de dados"

  2. Selecione o banco de dados necessário na lista de bancos de dados.

  3. No menu de navegação, clique em Uso.

Painel de uso e relatórios de faturamento

Os painéis de uso do Cloud Firestore no console fornecem uma estimativa de uso. Eles podem ajudar você a identificar picos de uso. No entanto, o painel não oferece uma visualização exata das operações faturadas. Geralmente, o uso faturado é maior que o valor exibido no painel. Para monitorar o faturamento, consulte métricas de faturamento.

Em todos os casos de discrepância, o relatório de faturamento tem prioridade sobre o painel de uso.

As operações de importação e exportação causam discrepâncias entre o painel de uso e o uso faturado. As leituras e gravações realizadas por essas operações não aparecem no painel de uso.

Conferir métricas de performance do banco de dados

A página Monitoring na seção Cloud Firestore do console do Google Cloud inclui painéis de monitoramento predefinidos, como Latências de solicitação (P50 e P99), Códigos de resposta e Estatísticas de consulta (P50). Também é possível criar um painel personalizado. Para acessar a página Monitoring de um banco de dados, siga estas etapas:

  1. No console do Google Cloud, abra a página Cloud Firestore Bancos de dados.

    Acessar "Bancos de dados"

  2. Selecione um banco de dados na lista.

  3. No menu de navegação, clique em Monitoring para abrir um painel.

Criar painéis personalizados do Cloud Monitoring

No Cloud Monitoring, os painéis personalizados permitem mostrar informações relevantes para você de maneira organizada. Por exemplo, é possível criar um painel para mostrar as métricas de desempenho e as políticas de alertas do projeto no ambiente de produção.

Para mais informações sobre como configurar um painel personalizado, consulte Gerenciar painel personalizado e Adicionar widgets do painel.

Criar uma política de alerta

No Cloud Monitoring, é possível criar alertas para notificar você quando houver uma mudança em uma condição de métrica. Use esses alertas para receber notificações sobre possíveis problemas antes que eles afetem os usuários.

Para mais informações sobre como criar alertas, consulte Criar políticas de alertas de limite de métrica.

Considere o exemplo a seguir, em que criamos uma política de alertas de latência. A política de alertas verifica a latência p99 em uma janela contínua de cinco minutos. Se a latência p99 permanecer acima de 250 ms por 5 minutos, o alerta será acionado.

Console

  1. No console do Google Cloud, acesse a página Monitoring e selecione   Alertas.

    Acessar Monitoring

  2. Selecione Criar política.

  3. Selecione a métrica Latências de solicitação no recurso API utilizada.

  4. Adicione um filtro de serviço para firestore.googleapis.com em bancos de dados padrão do Cloud Firestore.

  5. Clique em Próxima para configurar o gatilho.

  6. Selecione Tipos de condição como Limite.

    Uma condição de limite é definida como um valor de 250 ms. Um alerta é acionado quando o valor de latência p99 permanece o mesmo durante todo o período da janela contínua (5 minutos).

  7. Defina o Valor do limite como 250.

  8. Clique em Próxima para configurar as notificações.

  9. Defina o nome da política de alertas e clique em Próxima.

  10. Revise as configurações de alerta e clique em Criar política.

MQL

É possível implementar a mesma política de alerta de latência usando uma consulta da linguagem de consulta do Monitoring (MQL). Para mais exemplos de uso do MQL, consulte Exemplos de consultas MQL.

fetch consumed_api
| metric 'serviceruntime.googleapis.com/api/request_latencies'
| filter (resource.service == 'firestore.googleapis.com')
| group_by 5m,
    [value_request_latencies_percentile:
      percentile(value.request_latencies, 99)]
| every 5m
| condition val() > 0.25 's'