Usar o painel do Cloud Monitoring

Esta página descreve como usar o painel do Cloud Monitoring para conferir as métricas disponíveis, criar um painel personalizado e definir alertas.

Conferir métricas do Firestore no modo Datastore

Para visualizar as diferentes métricas do Firestore no modo Datastore e criar gráficos, use o Metrics Explorer no Cloud Monitoring no console do Google Cloud. Para mais informações sobre como criar gráficos, consulte Criar gráficos com o Metrics Explorer.

Configurar um painel do Cloud Monitoring

No Cloud Monitoring, os painéis personalizados exibem informações relevantes de forma organizada. Por exemplo, é possível criar um painel para exibir 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 de painel.

Monitorar taxas de erro

É possível criar um painel de monitoramento para monitorar as taxas de erro e garantir a disponibilidade do banco de dados. A disponibilidade se refere à taxa em que o banco de dados responde dentro de um período esperado com um código de status. O SLA do Cloud Firestore no modo Datastore define os detalhes específicos do que é classificado como uma solicitação válida.

A taxa de erros é determinada dividindo o número de solicitações que resultaram em uma resposta de erro pelo número total de solicitações enviadas.

É possível criar um painel de exemplo para calcular taxas de erro calculando a proporção A/B para api/request_count das solicitações válidas com os códigos de erro 4xx ou 5xx em contraste com o api/request_count de todas as solicitações válidas.

 Entender a disponibilidade com a taxa de erros
Figura 1. Entenda a disponibilidade com a taxa de erros.

Na Figura 1, é possível ver como visualizar a proporção da taxa de erro usando as métricas api/request_count no Metrics Explorer.

Criar uma política de alertas

Com o Cloud Monitoring, é possível criar alertas para receber notificações quando ocorre uma alteração na condição de uma métrica. Você pode usar 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étricas.

Considere o exemplo a seguir, em que criamos uma política de alerta de latência. A política de alertas verifica a latência do P99 em uma janela contínua de cinco minutos. Se a latência p99 permanecer acima de 250 ms por cinco minutos, o alerta será acionado.

Console

  1. No console do Google Cloud, acesse a página Monitoramento e selecione  Alertas.

    Acessar Monitoring

  2. Selecione Criar política.

  3. Selecione a métrica Latências da solicitação no recurso API utilizada.

  4. Adicione um filtro de serviço para datastore.googleapis.com. A métrica api/request_latencies é monitorada durante a janela de 5 minutos.

    Selecione a métrica api/request_latencies para criar o gatilho.
    Figura 2. Selecione a métrica api/request_latencies para criar o acionador.
  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 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).

    Adicione o limite da métrica.
    Figura 3. Adicione o limite da métrica.
  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. 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 de monitoramento (MQL). Para mais exemplos de como usar o 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'