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

Neste documento, mostramos como usar o Cloud Logging e o Cloud Monitoring para conferir registros e métricas do plano de controle da 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, assim 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.

Ver registros

Para conferir os registros do Cloud Service Mesh, use o Explorador 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 do Explorador de registros.

    Acesse o Explorador 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 xDS-client 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 à Cloud Service Mesh. Os valores possíveis são V2 e V3.
description Descrição do texto do evento com detalhes adicionais.

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 pelo 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 a 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 processa 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ão de destino: destination_region1, destination_region2" Esse tipo de mensagem de registro é gerada quando um cliente informa à Cloud Service Mesh que enviou o 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: Streams conectados da API xDS, Contagem de solicitações e Contagem de solicitações por zona. Streams conectados da API xDS indica o número de clientes que estão conectados ao seu plano de controle. Contagem de solicitações indica o número de solicitações enviadas a 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 Run query.

Configurar métricas e alertas com base em registros

As etapas a seguir exigem que você configure 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 mensagens especificadas pelo usuário aparecerem nos registros incluídos. Esses alertas podem notificar o operador quando algo ocorrer de maneira inesperada. 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 na mensagem de erro. Para configurar alertas nas suas métricas com base em registros, consulte Configurar gráficos e alertas.