O Cloud Monitoring recolhe métricas, eventos e metadados de Google Cloud produtos. Com o Cloud Monitoring, também pode configurar painéis de controlo personalizados e alertas de utilização.
Este documento explica como usar métricas, saber mais sobre o painel de controlo de métricas personalizadas e definir alertas.
Recursos monitorizados
Um recurso monitorizado no Cloud Monitoring representa uma entidade lógica ou física, como uma máquina virtual, uma base de dados ou uma aplicação. Os recursos monitorizados contêm um conjunto único de métricas que podem ser exploradas, comunicadas através de um painel de controlo ou usadas para criar alertas. Cada recurso também tem um conjunto de etiquetas de recursos, que são pares de chave-valor que contêm informações adicionais sobre o recurso. As etiquetas de recursos estão disponíveis para todas as métricas associadas ao recurso.
Através da API Cloud Monitoring, o desempenho do Firestore no modo Datastore é monitorizado com os seguintes recursos:
Resources | Descrição | Modo de base de dados suportado |
firestore.googleapis.com/Database (recomendado) | Tipo de recurso monitorizado que fornece discriminações para project ,
location * e database_id . A etiqueta
database_id vai ser (default) para bases de dados criadas
sem um nome específico. |
Aplica-se a ambos os modos. |
datastore_request | Tipo de recurso monitorizado para projetos do Datastore e não fornece discriminação para bases de dados. |
Métrica
O Firestore está disponível em dois modos diferentes: Firestore Native e Firestore no modo Datastore. Para uma comparação de funcionalidades entre estes dois modos, consulte o artigo Escolha entre os modos de base de dados.
Para ver uma lista completa de métricas para o Firestore no modo Datastore, consulte Métricas do Firestore no modo Datastore.
Métricas de tempo de execução do serviço
As métricas serviceruntime
oferecem uma vista geral do tráfego de um projeto. Estas métricas estão disponíveis para a maioria das APIs Google Cloud . O tipo de recurso monitorizado
consumed_api
contém estas métricas comuns. Estas métricas são amostradas a cada 30 minutos, o que resulta numa suavização dos dados.
Uma etiqueta de recurso importante para as métricas serviceruntime
é method
. Esta etiqueta representa o método RPC subjacente chamado. O método do SDK que chama pode não ter necessariamente o mesmo nome que o método RPC subjacente. O motivo é que o SDK fornece uma abstração da API de nível superior. No entanto, quando tenta compreender como a sua aplicação interage com o Firestore, é importante compreender as métricas com base no nome do método RPC.
Se precisar de saber qual é o método RPC subjacente para um determinado método do SDK, consulte a documentação da API.
api/request_count
Esta métrica fornece a contagem de pedidos concluídos, no protocolo(protocolo de pedido, como http, gRPC, etc.),
código de resposta (código de resposta HTTP), response_code_class
(classe de código de resposta, como 2xx, 4xx, etc.) e grpc_status_code
(código de resposta gRPC numérico). Use esta métrica para
observar o pedido de API geral e calcular a taxa de erro.

Na figura 1, podem ver-se os pedidos que devolvem um código 2xx agrupados por serviço e método. Os códigos 2xx são códigos de estado HTTP que indicam que o pedido foi bem-sucedido.

Na figura 2, podem ver-se as confirmações agrupadas por response_code
. Neste exemplo, vemos apenas respostas HTTP 200, o que implica que a base de dados está em bom estado.
Use as seguintes métricas de tempo de execução do serviço para monitorizar a sua base de dados.
api/request_count no tipo de recurso datastore_request
A métrica api/request_count
também está disponível no tipo de recurso datastore_request
com discriminações de api_method
e response_code
. Use esta métrica
em alternativa para tirar partido do período de amostragem mais preciso, que ajuda a detetar
picos.

api/request_latencies
A métrica api/request_latencies
fornece distribuições de latência em todos os pedidos concluídos.
O Firestore regista métricas do componente Serviço do Firestore. As métricas de latência incluem o tempo que o Firestore demora a receber o pedido até terminar o envio da resposta, incluindo as interações com a camada de armazenamento. Devido a isto, a latência de ida e volta (rtt) entre o cliente e o serviço Firestore não está incluída nestas métricas.

api/request_sizes e api/response_sizes
As métricas api/request_sizes
e api/response_sizes
fornecem, respetivamente, estatísticas sobre os tamanhos das cargas úteis (em bytes). Estas podem ser úteis para compreender as cargas de trabalho de escrita que enviam grandes quantidades de dados ou consultas demasiado amplas e devolvem grandes payloads.

Na figura 5, pode ver um mapa térmico dos tamanhos das respostas para o método RunQuery
.
Podemos ver que os tamanhos são estáveis, com uma mediana de 50 bytes e, no geral, entre 10 bytes e 100 bytes. Tenha em atenção que os tamanhos das cargas úteis são sempre medidos em bytes não comprimidos, excluindo as sobrecargas de controlo de transmissão.
Métricas de operação de entidades
Estas métricas fornecem distribuições em bytes de tamanhos de carga útil para leituras (consultas e pesquisas) e escritas numa base de dados do Firestore. Os valores representam o tamanho total da carga útil. Por exemplo, quaisquer resultados devolvidos por uma consulta.
Estas métricas são semelhantes às métricas api/request_sizes
e api/response_sizes
, sendo que a principal diferença é que as métricas de operação de entidades fornecem uma amostragem mais detalhada, mas discriminações menos detalhadas.
Por exemplo, as métricas de operação de entidades usam o recurso monitorizado, pelo que não existe uma discriminação de serviços ou métodos.datastore_request
entity/read_sizes
: distribuição dos tamanhos das entidades lidas, agrupadas por tipo.entity/write_sizes
: distribuição dos tamanhos das entidades escritas, agrupadas por operações.
Métricas de índice
As taxas de gravação de índice podem ser contrastadas com a métrica document/write_ops_count
para compreender a proporção de expansão do índice.
index/write_count
: número de gravações de índice.

Na figura 7, pode ver como a taxa de gravação de índice pode ser contrastada com a taxa de gravação de documentos. Neste exemplo, para cada gravação de documento, existem aproximadamente 6 gravações de índice, o que representa uma taxa de fanout de índice relativamente pequena.
Métricas de TTL
As métricas de TTL estão disponíveis para bases de dados do Firestore Native e do Firestore no modo Datastore. Use estas métricas para monitorizar o efeito da política de TTL aplicada.
entity/ttl_deletion_count
: número total de entidades eliminadas pelos serviços TTL.entity/ttl_expiration_to_deletion_delays
: tempo decorrido entre o momento em que uma entidade com um TTL expirou e o momento em que foi efetivamente eliminada.Se verificar que os atrasos na eliminação do TTL estão a demorar mais de 24 horas, contacte o apoio técnico.
O que se segue
- Saiba como usar o painel de controlo do Cloud Monitoring para ver métricas.