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 Service Mesh do Cloud.

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 registrar quando um cliente Envoy ou gRPC se conecta ou desconecta; e quando ele 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. O seguinte apresenta um exemplo de consulta para visualizar os registros do Cloud Service Mesh, mas é use 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 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 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 porque não há configuração disponível. Isso pode ser devido a configuração incompleta dos recursos de 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" Este tipo de mensagem de registro é gerado quando um cliente relata O Cloud Service Mesh 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: 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 visualizar 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 gerar conflitos de recursos de API, poderá receber um alerta sobre o erro mensagem. Para configurar alertas nas suas métricas com base em registros, consulte Configurar gráficos e alertas.