Monitorar bancos de dados com o Cloud Monitoring
Nesta página, descrevemos como usar um painel do Cloud Monitoring para visualizar métricas disponíveis, criar um painel personalizado e definir alertas.Conferir métricas de compatibilidade entre o Firestore e o MongoDB
Para conferir as diferentes métricas de compatibilidade do Firestore com o MongoDB e criar gráficos, use uma das seguintes opções:
A página Monitoring na seção do Firestore do console Google Cloud . Esta página inclui um painel de monitoramento predefinido. Também é possível criar até um painel personalizado. Para acessar a página Monitoring de um banco de dados, siga estas etapas:
No console do Google Cloud , abra a página Bancos de dados do Firestore.
Selecione um banco de dados na lista.
No menu de navegação, clique em Monitoring para abrir um painel.
O Metrics Explorer no Cloud Monitoring no console Google Cloud . Para mais informações sobre como criar gráficos, consulte Criar gráficos com o Metrics Explorer.
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, 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 recurso estão disponíveis para todas as métricas associadas ao recurso.
Usando a API Cloud Monitoring, a performance do Firestore com compatibilidade com o MongoDB é monitorada com o seguinte recurso:
Recursos | Descrição |
firestore.googleapis.com/Database | Tipo de recurso monitorado que fornece detalhamentos para project , location e database_id . O marcador database_id será (default) para bancos de dados criados sem um nome específico. |
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 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 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.
Use as seguintes métricas de tempo de execução do serviço para monitorar seu banco de dados.
api/request_latencies
A métrica api/request_latencies
fornece 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 fornece um detalhamento 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 í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 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.
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.
Crie uma política de alertas
Com o Cloud Monitoring, é possível criar alertas para receber notificações quando ocorrer 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
No console Google Cloud , acesse a página Monitoring e selecione notifications Alertas.
Selecione Criar política.
Selecione a métrica Latências de solicitação no recurso API utilizada.
Adicione um filtro de serviço para
firestore.googleapis.com
em bancos de dados nativos do Firestore.Clique em Próxima para configurar o gatilho.
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).
Defina o Valor do limite como 250.
Clique em Próxima para configurar as notificações.
Defina o nome da política de alertas e clique em Próxima.
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'