Observabilidade e depuração com o Diretório de serviços

A integração do Cloud Service Mesh com o Diretório de serviços apresenta novas complexidades na depuração. Na sua empresa, os consumidores e os produtores de serviços podem pertencer a equipes ou organizações diferentes. Para ajudar a depurar esses problemas, o Cloud Service Mesh se integra ao Cloud Logging e ao Cloud Monitoring.

Exemplo:

  • Você tem um serviço checkout que usa o Cloud Service Mesh para a rede de aplicativos.
  • Há um serviço payment no Diretório de serviços que pertence a outra equipe (o produtor) e mantém.
  • Você quer chamar o serviço payment do serviço checkout para criar um novo serviço de back-end no Cloud Service Mesh. Esse serviço de back-end é anexado ao serviço payment usando o Diretório de serviços para descoberta de serviços.

Nesse modelo, o fornecedor de serviços pode querer excluir ou modificar o serviço payment hospedado no Diretório de serviços. Como eles são proprietários do serviço payment, podem fazer essas mudanças. Mas se o serviço payment for excluído, a descoberta de serviço será interrompida.

Geração de registros

Quando o Cloud Service Mesh resolve um serviço de back-end anexado a uma serviço do Diretório de serviços, ele recebe uma lista de endpoints Diretório de serviços. Se o serviço tiver sido excluído do Diretório de serviços, o Cloud Service Mesh não receberá endpoints. Nesse caso, uma entrada de registro é adicionada ao Logging. A entrada de registro inclui as informações a seguir:

  • O nome do serviço de back-end
  • O nome do Diretório de serviços
  • Uma mensagem: Service Directory returned 0 endpoints for this service.

Essas informações ajudam a depurar problemas. Você também pode configurar alertas para receber notificações proativamente.

Monitoramento

Assim como no caso do Logging, o Cloud Service Mesh integra-se Monitoramento para gerar métricas. O Cloud Service Mesh adiciona métricas a seguir ao Monitoring para cada serviço de back-end:

  • O nome do serviço de back-end
  • O número de endpoints associados a este serviço de back-end que estão compartilhados com os clientes do Cloud Service Mesh

Os clientes do Cloud Service Mesh não podem enviar tráfego para serviços de back-end que não têm endpoints.

Console do Google Cloud

Se um serviço do Diretório de serviços for excluído e houver um anexo nesse serviço no serviço de back-end do Cloud Service Mesh, o Console do Google Cloud vai mostrar um aviso: The attached Service Directory service could not be found.

A seguir