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.
No console do Google Cloud, acesse a página do Explorador de registros.
- Na lista Recurso,
- Se você usar as APIs de roteamento de serviço, selecione
Gateway Scope
ouMesh
. - Se você usar APIs mais antigas, selecione
GCE Network
.
- Se você usar as APIs de roteamento de serviço, selecione
- Na lista Nome do registro, selecione
trafficdirector.googleapis.com/events
. - 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:
|
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:
No Console do Google Cloud, acesse a página do Metrics Explorer.
- Na lista Tipo de recurso, selecione um recurso.
- Se você usar as APIs de roteamento de serviço, selecione
Gateway Scope
ouMesh
. - Se você usar APIs mais antigas, selecione
Network
.
- Se você usar as APIs de roteamento de serviço, selecione
- Na lista Métrica, selecione
connected_clients
. - Volte para a lista Tipo de recurso e selecione
Compute Engine Backend Service
. - Na lista Métrica, selecione
Request count
ouRequest count by zone
.
Também é possível usar uma consulta para ver o número de solicitações entre regiões:
- Selecione MQL.
- 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)]
- 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.