Monitorar bancos de dados com o Cloud Monitoring

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

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

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

Recursos monitorados

Um recurso monitorado no 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, exibidas 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 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 de project, location e database_id.

Métricas

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

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

As métricas serviceruntime apresentam 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 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 o 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 apresenta distribuições de latência em todas as solicitações concluídas.

O Firestore registra métricas do componente Serviço do Firestore. As métricas de latência incluem o tempo entre o momento em que o Firestore recebe a solicitação e o momento em que ele 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 do Firestore não está incluída nessas métricas.

Métricas de operação de documentos

O Firestore fornece contagens de leitura, gravação e exclusão. A métrica de gravação apresenta 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 saber se o banco de dados tem muitas leituras ou gravações e a taxa de documentos novos em relação aos 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 compreender 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 compreender a distribuição de dados do índice.

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

Métricas de TTL

As métricas de TTL do 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 pelas políticas 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 Firestore com compatibilidade com o MongoDB oferece suporte a painéis predefinidos que usam métricas do Cloud Monitoring. Também é possível criar painéis personalizados.

Ver 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 concedê-la por meio de um papel do Cloud Monitoring ou um papel personalizado.

Painel de uso de banco de dados

Para conferir as métricas de uso de um banco de dados do 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 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.

Ver métricas de desempenho do banco de dados

A página Monitoring na seção do Firestore do console doGoogle 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 Bancos de dados do Firestore.

    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 5 minutos. Se a latência p99 permanecer acima de 250 ms por 5 minutos, o alerta será acionado.

Console

  1. No console 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 nativos do 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 igual durante toda a 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. Analise as configurações do 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, na sigla em inglês). Para mais exemplos de uso da 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'