Relevante apenas para a edição Enterprise do Cloud Firestore. |
Nesta página, descrevemos como usar as métricas do Cloud Monitoring para o Cloud Firestore com compatibilidade com o MongoDB para monitorar seu banco de dados.
Métricas do Cloud Monitoring para o Cloud Firestore com compatibilidade com o MongoDB
As seções a seguir apresentam uma visão geral das métricas disponíveis para o Cloud 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 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 de project , location e database_id . |
Métricas
Para ver 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 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 do 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 compreender como o aplicativo interage com o 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
apresenta 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 o Cloud Firestore recebe a solicitação e o momento em que o 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 do Cloud Firestore não está incluída nessas métricas.
Métricas de operação de documentos
O Cloud Firestore mostra 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 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 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 Cloud Firestore com compatibilidade com o MongoDB aceita painéis predefinidos que usam métricas 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 ver 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 ver as métricas de uso de um banco de dados do Cloud Firestore com compatibilidade com o MongoDB, faça isto:
No Console do Google Cloud, acesse a página Bancos de Dados.
Selecione o banco de dados necessário na lista de bancos de dados.
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 apresenta 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 Cloud Firestore do console do Google Cloud contém 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:
No console do Google Cloud, abra a página Bancos de dados do Cloud Firestore.
Selecione um banco de dados na lista.
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 alteração 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
No console do 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 padrão do Cloud 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 igual durante toda a 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.
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'