Monitorize bases de dados com o Cloud Monitoring
Esta página descreve como usar as métricas do Cloud Monitoring para o Firestore com compatibilidade com o MongoDB para monitorizar a sua base de dados.
Métricas do Cloud Monitoring para o Firestore com compatibilidade com o MongoDB
As secções seguintes oferecem uma vista geral das métricas disponíveis para o Firestore com compatibilidade com o MongoDB.
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.
Usando a API Cloud Monitoring, o desempenho do Firestore com compatibilidade com o MongoDB é monitorizado com o seguinte recurso:
Resources | Descrição |
firestore.googleapis.com/Database | Tipo de recurso monitorizado que fornece discriminações para project , location e database_id . |
Métrica
Para ver uma lista completa de métricas do Firestore, consulte o artigo Métricas do Firestore. A secção seguinte descreve algumas das métricas disponíveis.
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 Google Cloud APIs. 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 oferece 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_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.
Métricas de operações de documentos
O Firestore fornece contagens de leitura, escrita e eliminação. A métrica de gravação fornece uma discriminação entre a operação "CREATE" e "UPDATE". Estas métricas estão alinhadas com as operações CRUD.
As seguintes métricas podem ser usadas para compreender se a sua base de dados tem muitas leituras ou muitas escritas, e a taxa de novos documentos em comparação com documentos eliminados.
document/delete_ops_count
: o número de eliminações de documentos bem-sucedidas.document/read_ops_count
: o número de leituras de documentos bem-sucedidas a partir de consultas ou pesquisas.document/write_ops_count
: o número de gravações de documentos bem-sucedidas.
Métricas de faturação
Use estas métricas para compreender a utilização da faturação. Estas métricas não incluem a faturação das operações de administrador (indexação, importação, exportação e eliminação em massa).
api/billable_read_units
: o número de unidades de leitura faturáveis. A utilização pode ser discriminada por nome do serviço e método da API.api/billable_write_units
: o número de unidades de gravação faturáveis. A utilização pode ser discriminada 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 eliminação geridos, como o TTL.
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 ramificação do índice.
index/write_count
: número de gravações de índice.
Métricas de TTL
As métricas de TTL do Firestore com métricas de compatibilidade do MongoDB são usadas para monitorizar o efeito da política de TTL aplicada.
document/ttl_deletion_count
: Total de documentos eliminados pelos serviços TTL.document/ttl_expiration_to_deletion_delays
: tempo decorrido entre o momento em que um documento com um TTL expirou e o momento em que foi efetivamente eliminado.
Veja painéis de controlo predefinidos e crie painéis de controlo personalizados
O Firestore com compatibilidade com o MongoDB suporta painéis de controlo predefinidos que usam métricas do Cloud Monitoring. Também pode criar painéis personalizados.
Veja as métricas de utilização da base de dados
Abra os painéis de controlo de utilização na Google Cloud consola para ver leituras, gravações e eliminações de documentos ao longo do tempo.
Controlo de acesso
Os painéis de controlo de utilização requerem a autorização de monitoring.timeSeries.list
gestão de identidade e de acesso (IAM).
As funções de proprietário, editor e leitor do projeto concedem esta autorização. Também pode conceder esta autorização
através de uma função do Cloud Monitoring
ou de uma função personalizada.
Painel de controlo de utilização da base de dados
Para ver as métricas de utilização de uma base de dados do Firestore com compatibilidade com o MongoDB, faça o seguinte.
Na Google Cloud consola, aceda à página Bases de dados.
Selecione a base de dados necessária na lista de bases de dados.
No menu de navegação, clique em Utilização.
Painel de controlo de utilização e relatórios de faturação
Os painéis de controlo de utilização do Firestore na consola fornecem uma estimativa da utilização. Podem ajudar a identificar picos de utilização. No entanto, o painel de controlo não é uma vista exata das operações faturadas. A utilização faturada é provavelmente superior. Para monitorizar a faturação, consulte as métricas de faturação.
Em todos os casos de discrepância, o relatório de faturação tem precedência sobre o painel de controlo de utilização.
As operações de importação e exportação causam discrepâncias entre o painel de controlo de utilização e a utilização faturada. As leituras e as escritas realizadas por estas operações não são apresentadas no painel de controlo de utilização.
Veja as métricas de desempenho da base de dados
A página Monitorização na secção Firestore da consola inclui painéis de controlo de monitorização predefinidos, como Latências de pedidos (P50 e P99), Códigos de resposta e Estatísticas de consultas (P50).Google Cloud Também pode criar até um painel de controlo personalizado. Para aceder à página Monitorização de uma base de dados, siga estes passos:
Na Google Cloud consola, abra a página Bases de dados do Firestore.
Selecione uma base de dados na lista.
No menu de navegação, clique em Monitorização para abrir um painel de controlo.
Crie painéis de controlo personalizados do Cloud Monitoring
No Cloud Monitoring, os painéis de controlo personalizados permitem-lhe apresentar informações relevantes para si de forma organizada. Por exemplo, pode criar um painel de controlo para apresentar as métricas de desempenho e as políticas de alerta do seu projeto no ambiente de produção.
Para mais informações sobre como configurar um painel de controlo personalizado, consulte os artigos Faça a gestão do painel de controlo personalizado e Adicione widgets do painel de controlo.
Crie uma política de alerta
No Cloud Monitoring, pode criar alertas para receber uma notificação quando ocorre uma alteração numa condição de métrica. Pode usar estes alertas para receber notificações de potenciais problemas antes que afetem os seus utilizadores.
Para mais informações sobre a criação de alertas, consulte o artigo Crie políticas de alerta de limite de métricas.
Considere o seguinte exemplo em que criamos uma política de alerta de latência. A política de alerta verifica a latência do percentil 99 numa janela contínua de 5 minutos. Se a latência do percentil 99 permanecer superior a 250 ms durante 5 minutos, o alerta é acionado.
Consola
Na Google Cloud consola, aceda à página Monitorização e, de seguida, selecione notifications Alertas.
Selecione Criar política.
Selecione a métrica Latências de pedidos no recurso API consumida.
Adicione um filtro de serviço para
firestore.googleapis.com
para bases de dados nativas do Firestore.Clique em Seguinte para configurar o acionador.
Selecione os Tipos de condições como Limite.
Uma condição de limite é definida para um valor limite 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 limite como 250.
Clique em Seguinte para configurar as notificações.
Defina o nome da política de alerta e clique em Seguinte.
Reveja as configurações de alertas e clique em Criar política.
MQL
Pode implementar a mesma política de alerta de latência através de uma consulta da linguagem de consulta do Monitoring (MQL). Para ver mais exemplos de utilização da MQL, consulte o artigo 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'