Registo e monitorização do plano de controlo

Este documento demonstra como usar o Cloud Logging e o Cloud Monitoring para ver registos e métricas do plano de controlo da Cloud Service Mesh.

A utilização de uma malha de serviços permite-lhe observar o tráfego de e para os serviços, o que permite uma monitorização e uma depuração mais detalhadas sem alterações ao código no próprio serviço. As entradas de registo podem fornecer informações importantes para a resolução de problemas da sua malha de serviços, incluindo registos de ligações bem-sucedidas e falhadas, relatórios de erros para clientes configurados incorretamente e alertas sobre conflitos de recursos da API.

Exemplos de utilização

Seguem-se três exemplos de utilização para o registo e a monitorização do plano de controlo:

  • Cloud Logging para o plano de controlo do Cloud Service Mesh: pode armazenar, pesquisar, analisar e definir alertas de forma segura em todos os seus dados de registo e eventos do Cloud Service Mesh através de todas as funcionalidades incorporadas do Cloud Logging. O Cloud Service Mesh exporta registos para o Logging quando um cliente Envoy ou gRPC se liga ou desliga, bem como quando deteta problemas de configuração.
  • Cloud Monitoring para o plano de controlo do Cloud Service Mesh: o Cloud Service Mesh exporta uma métrica chave que indica o número de clientes ligados ao plano de controlo do Cloud Service Mesh para o Monitoring. Pode configurar um painel de controlo em Monitorização e visualizar esta métrica em tempo real para monitorizar o estado da malha à medida que os clientes se ligam e desligam. Isto também lhe permite configurar um SLO para a sua malha.
  • Resolva problemas imediatamente: o Cloud Service Mesh exporta a telemetria para o Logging e a monitorização por predefinição. Não é necessária nenhuma configuração adicional para configurar o registo e a monitorização, o que lhe permite resolver problemas em qualquer altura, inclusive quando está a configurar a malha pela primeira vez.

Ver registos

Para ver os registos do Cloud Service Mesh, use o Explorador de registos. A secção seguinte apresenta uma consulta de exemplo para ver os registos do Cloud Service Mesh, mas pode usar o link anterior para criar a sua própria consulta.

  1. Na Google Cloud consola, aceda à página Explorador de registos.

    Aceda ao Explorador de registos

  2. Na lista Recurso,
    • Se usar as APIs de encaminhamento de serviços, selecione Gateway Scope ou Mesh.
    • Se usar as APIs mais antigas, selecione GCE Network.
  3. Na lista Nome do registo, selecione trafficdirector.googleapis.com/events.
  4. Clique em Executar consulta.

Campos de entrada do registo do Cloud Service Mesh

Campo Descrição
node_id ID do nó xDS-client, conforme fornecido pelo xDS-client.
client_type Tipo de cliente xDS ligado à Cloud Service Mesh. Valores possíveis:
  • ENVOY
  • GRPC-JAVA
  • GRPC-C++
  • GRPC-PYTHON
  • GRPC-GO
  • UNKNOWN
node_ip Endereço IP do nó, conforme fornecido pelo cliente.
api_version A versão da API xDS usada pelos clientes xDS para se ligarem à Cloud Service Mesh. Os valores possíveis são V2 e V3.
description Descrição de texto do evento com detalhes adicionais.

Exemplos de entradas do registo

Exemplo da entrada de registo Descrição
"O Cloud Service Mesh não conseguiu encontrar nenhuma configuração para o cliente xDS." Este registo é gerado quando o cliente xDS é rejeitado pela Cloud Service Mesh porque não existe nenhuma configuração. Isto pode dever-se à configuração incompleta de recursos da API relevantes para a Cloud Service Mesh.
"O cliente estabeleceu ligação com êxito." Este tipo de mensagem de registo é gerado sempre que um cliente se liga com êxito ao Cloud Service Mesh.
"O cliente foi desligado com êxito." Este tipo de mensagem de registo é gerado sempre que um cliente estabelecido é desligado da malha de serviços na nuvem.
A variável de metadados TRAFFICDIRECTOR_INTERCEPTION_PORT não está definida. Existe uma configuração de encaminhamento para o ouvinte de interceção, mas vai ser ignorada." Este tipo de mensagem de registo é gerado quando os recursos da Cloud Service Mesh estão configurados corretamente, mas a variável TRAFFICDIRECTOR_INTERCEPTION_PORT não está definida nos metadados do nó do cliente xDS, pelo que esta configuração não pode ser adicionada ao cliente.
"O ouvinte de interceção é criado na porta 15001 especificada, mas não existe uma configuração de encaminhamento para o mesmo." Este tipo de mensagem de registo é gerado quando a variável TRAFFICDIRECTOR_INTERCEPTION_PORT é definida nos metadados do nó xDS-client, mas não foram configurados recursos para que o Cloud Service Mesh gere uma resposta xDS completa.
"Falha ao enviar a resposta ADS do Cloud Service Mesh. O último pedido de deteção do nó tinha uma versão e/ou um nonce incorretos." Este tipo de mensagem de registo é gerado quando o Cloud Service Mesh não consegue processar corretamente a resposta xDS devido a uma comunicação danificada do cliente xDS. Esta mensagem indica um erro de implementação no cliente. Recomendamos que verifique os registos do cliente.
"Cliente a enviar tráfego entre regiões para o serviço de back-end backend_service_id. Região de origem: source_region Regiões de destino: destination_region1, destination_region2" Este tipo de mensagem de registo é gerado quando um cliente comunica ao Cloud Service Mesh que enviou tráfego entre regiões de uma região de origem para uma ou mais regiões de destino.

Ver métricas

O Cloud Service Mesh exporta três métricas para o Cloud Monitoring: xDS API Connected Streams, Request count e Request count by zone. xDS API Connected Streams indica o número de clientes que estão ligados ao seu plano de controlo; Request count indica o número de pedidos enviados para um serviço de back-end, agrupados por região de origem, região de destino e estado do pedido. A contagem de pedidos por zona indica o número de pedidos enviados para um serviço de back-end, agrupados por zona de origem, zona de destino e estado do pedido. Para ver estas métricas, use o Explorador de métricas.

Para ver as métricas do Cloud Service Mesh, faça o seguinte:

  1. Na Google Cloud consola, aceda à página Explorador de métricas.

    Aceda ao Explorador de métricas

  2. Na lista Tipo de recurso, selecione um recurso.
    • Se usar as APIs de encaminhamento de serviços, selecione Gateway Scope ou Mesh.
    • Se usar as APIs mais antigas, selecione Network.
  3. Na lista Métrica, selecione connected_clients.
  4. Regresse à lista Tipo de recurso e, de seguida, selecione Compute Engine Backend Service.
  5. Na lista Métrica, selecione Request count ou Request count by zone.

Em alternativa, pode usar uma consulta para ver a quantidade de pedidos entre regiões:

  1. Selecione MQL.
  2. No campo, introduza a seguinte consulta de exemplo:
    fetch gce_backend_service
    | metric 'trafficdirector.googleapis.com/xds/server/request_count'
    | filter ( ne(metric.source_region, metric.destination_region))
    | align rate(1m)
    | every 1m
    | group_by [metric.source_region, metric.destination_region, resource.backend_service_id],
    [value_request_count_aggregate: aggregate(value.request_count)]
    
  3. Clique em Executar consulta.

Configure métricas e alertas baseados em registos

Os passos seguintes requerem que configure métricas baseadas em registos. Para mais informações sobre como configurar métricas baseadas em registos, consulte a vista geral.

Pode configurar alertas para receber uma notificação quando as mensagens especificadas pelo utilizador aparecem nos registos incluídos. Estes alertas podem notificar o operador quando ocorre algo inesperado. Por exemplo, se uma alteração na configuração da malha de serviços na nuvem resultar em conflitos de recursos da API, pode receber um alerta na mensagem de erro. Para configurar alertas nas suas métricas baseadas em registos, consulte o artigo Configurar gráficos e alertas.