Geração de registros e monitoramento do plano de controle

Neste documento, você vai aprender a usar o Cloud Logging e o Cloud Monitoring para ver registros e métricas do plano de controle do Cloud Service Mesh.

Usar uma malha de serviço permite observar o tráfego de e para serviços, o que permite monitoramento e depuração mais avançados sem alterações de código no próprio serviço. As entradas de registro podem fornecer informações importantes para solucionar problemas da malha de serviço, incluindo registros de conexões e desconexões bem-sucedidas, relatórios de erros para clientes configurados incorretamente e alertas sobre conflitos de recursos da API.

Casos de uso

Veja a seguir três casos de uso para geração de registros e monitoramento do plano de controle:

  • Plano de controle do Cloud Logging para Cloud Service Mesh: é possível armazenar, pesquisar, analisar e definir alertas com segurança em todos os dados e eventos de registro do Cloud Service Mesh usando todos os recursos integrados do Logging. O Cloud Service Mesh exporta registros para o Logging quando um cliente Envoy ou gRPC se conecta ou desconecta, bem como quando detecta problemas de configuração.
  • Plano de controle do Cloud Monitoring para Cloud Service Mesh: o Cloud Service Mesh exporta uma métrica principal que indica o número de clientes conectados ao plano de controle do Cloud Service Mesh para o Monitoring. É possível configurar um painel no Monitoring e visualizar essa métrica em tempo real para monitorar a integridade da malha conforme os clientes se conectam e desconectam. Isso também permite que você configure um SLO para sua malha.
  • Resolva problemas imediatamente: o Cloud Service Mesh exporta telemetria para o Logging e para o Monitoring por padrão. Nenhuma outra configuração é necessária para configurar a geração e o monitoramento de registros, o que permite resolver problemas a qualquer momento, incluindo quando você configura a malha pela primeira vez.

Visualizar registros

Para conferir os registros do Cloud Service Mesh, use a Análise de registros. A seção a seguir apresenta um exemplo de consulta para visualizar os registros do Cloud Service Mesh, mas é possível usar o link anterior para criar sua própria consulta.

  1. No console do Google Cloud , acesse a página Análise de registros.

    Acessar a Análise de registros.

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

Campos de entrada de registro 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 conectado ao Cloud Service Mesh. Valores possíveis:
  • ENVOY
  • GRPC-JAVA
  • GRPC-C++
  • GRPC-PYTHON
  • GRPC-GO
  • UNKNOWN
node_ip O endereço IP do nó conforme fornecido pelo cliente.
api_version A versão da API xDS usada pelos clientes xDS para se conectar ao Cloud Service Mesh. Os valores possíveis são V2 e V3.
description Descrição do texto do evento com mais detalhes.

Entradas de registro de exemplo

Exemplo da entrada de registro Descrição
"O Cloud Service Mesh não conseguiu encontrar nenhuma configuração para o cliente xDS." Esse registro é gerado quando o cliente xDS é rejeitado pela Cloud Service Mesh porque não existe configuração. Isso pode ser devido à configuração incompleta dos recursos da API relevantes para o Cloud Service Mesh.
"O cliente foi conectado." Esse tipo de mensagem de registro é gerado sempre que um cliente se conecta com sucesso ao Cloud Service Mesh.
"O cliente foi desconectado." Esse tipo de mensagem de registro é gerado sempre que um cliente estabelecido é desconectado do Cloud Service Mesh.
A variável de metadados "TRAFFICDIRECTOR_INTERCEPTION_PORT não foi definida. A configuração de roteamento do listener de interceptação existe, mas será ignorada." Esse tipo de mensagem de registro é gerado quando os recursos do Cloud Service Mesh estão configurados corretamente, mas a variável TRAFFICDIRECTOR_INTERCEPTION_PORT não está definida nos metadados do nó xDS-client. Portanto, essa configuração não pode ser adicionada ao cliente.
"O listener de interceptação é construído na porta 15001 determinada, mas a configuração de roteamento não existe para ela." Esse tipo de mensagem de registro é gerado quando a variável TRAFFICDIRECTOR_INTERCEPTION_PORT é definida nos metadados do nó xDS-client, mas nenhum recurso foi configurado para que o Cloud Service Mesh gere uma resposta xDS completa.
Falha ao enviar a resposta ADS do Cloud Service Mesh. A última solicitação de descoberta do nó tinha uma versão e/ou valor de uso único incorretos." Esse tipo de mensagem de registro é gerado quando o Cloud Service Mesh não processou a resposta xDS corretamente devido a uma comunicação corrompida do cliente xDS. Essa mensagem indica um erro de implementação no cliente. Recomendamos verificar os registros do cliente.
"Cliente que envia 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" Esse tipo de mensagem de registro é gerada quando um cliente informa ao Cloud Service Mesh que ele enviou o tráfego entre regiões de uma região de origem para uma ou mais regiões de destino.

Visualizar métricas

O Cloud Service Mesh exporta três métricas para o Cloud Monitoring: Streams conectados da API xDS, Contagem de solicitações e Contagem de solicitações por zona. Streams conectados da API xDS indica o seguinte: número de clientes conectados ao seu plano de controle. Contagem de solicitações indica o número de solicitações enviadas para um serviço de back-end, agrupadas por região de origem, região de destino e status da solicitação. Contagem de solicitações por zona indica o número de solicitações enviadas a um serviço de back-end, agrupadas por zona de origem, zona de destino e status da solicitação. Para visualizar essas métricas, use o Metrics Explorer.

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

  1. No console do Google Cloud , acesse a página do Metrics Explorer.

    Acessar o Metrics Explorer

  2. Na lista Tipo de recurso, selecione um recurso.
    • Se você usar as APIs de roteamento de serviço, selecione Gateway Scope ou Mesh.
    • Se você usar APIs mais antigas, selecione Network.
  3. Na lista Métrica, selecione connected_clients.
  4. Volte para a lista Tipo de recurso e selecione Compute Engine Backend Service.
  5. Na lista Métrica, selecione Request count ou Request count by zone.

Também é possível usar uma consulta para ver o número de solicitações entre regiões:

  1. Selecione MQL.
  2. No campo, insira 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.

Configurar métricas e alertas com base em registros

Para as etapas a seguir, você precisa configurar métricas com base em registros. Para mais informações sobre como configurar métricas com base em registros, consulte a visão geral.

É possível configurar alertas para receber notificações quando aparecer mensagens especificadas pelo usuário nos registros incluídos. Esses alertas podem notificar o operador quando algo inesperado ocorrer. Por exemplo, se uma alteração na configuração do Cloud Service Mesh resultar em conflitos de recursos da API, você poderá receber um alerta sobre a mensagem de erro. Para configurar alertas conforme suas métricas com base em registros, consulte Configurar gráficos e alertas.