Visão geral da observabilidade de microsserviços

As ferramentas de observabilidade de microsserviços oferecem a capacidade de instrumentar seus aplicativos para coletar e apresentar dados de telemetria no Cloud Monitoring, Cloud Logging e Cloud Trace de cargas de trabalho gRPC implantadas no Google Cloud e em outros lugares.

Esta documentação é destinada a proprietários de serviços do gRPC, engenheiros de confiabilidade do site e qualquer pessoa que use dados de telemetria para solucionar problemas e otimizar cargas de trabalho do gRPC.

A observabilidade encapsula os plug-ins do OpenCensus para métricas, traces e geração de registros do gRPC em um único plug-in unificado, sem expor as dependências. A observabilidade de microsserviços usa dados de observabilidade integrados ao Cloud Monitoring, Cloud Logging e Cloud Trace. A documentação fornece instruções para incorporar plug-ins de observabilidade nos aplicativos gRPC.

Para ajudar você a coletar informações e depurar seus aplicativos, a observabilidade de microsserviços inclui os seguintes recursos:

  • Geração de registros de eventos de RPC no nível de transporte.
  • Suporte a rastreamento distribuído.
  • Suporte do Cloud Monitoring, incluindo painéis predefinidos.
  • Consultas sugeridas do Cloud Logging.
  • Rótulos de recursos e rótulos personalizados.

Recursos

Nesta seção, descrevemos os recursos de observabilidade de microsserviços.

Integração de telemetria

Os pacotes de plug-in de observabilidade de cada linguagem gRPC (C++, Go e Java) são integrados ao Google Cloud Observability por padrão. Sem qualquer configuração, o plug-in recupera metadados sobre seu projeto e implantação e configura as quantidades padrão de rastreamento, métricas e geração de registro de dados.

Inspecionar eventos de nível de transporte da RPC

O ciclo de vida de uma chamada de procedimento remoto (RPC) pode conter eventos de metadados, incluindo cabeçalhos e trailers. eventos de mensagem; e eventos de status, incluindo status OK, erro e finais. Ao usar a observabilidade de microsserviços, é possível inspecionar os detalhes de cada tipo de evento. É possível inspecionar o comprimento da mensagem serializada, a autoridade, os endereços do cliente/servidor e se o cliente ou o servidor cancelou a RPC.

Com configurações explícitas, a observabilidade de microsserviços pode ativar a geração de registros de payload para mensagens ou cabeçalhos. É possível definir limites de tamanho para os registros de payload, mensagem de controle ou registros de payload do cabeçalho separadamente. Também é possível especificar o grupo de destino de métodos com ou sem caracteres curinga.

Suporte de rastreamento distribuído para RPCs

A arquitetura do servidor pode permitir que uma RPC se distribua em várias chamadas ou solicitações separadas que fluam pelos componentes. A observabilidade de microsserviços usa o rastreamento distribuído para facilitar a análise e a solução de problemas em sistemas complexos. O produto de observabilidade de microsserviços oferece compatibilidade integrada com aplicativos gRPC para iniciar traces, gerar períodos e propagar o contexto de tracing.

Capturar medições para monitoramento de métricas

O plug-in oferece suporte próprio para uma grande variedade de medidas no nível da mensagem, da RPC ou do método, desde contagens de mensagens e tamanhos de mensagens até latências. As medições são enviadas para o Cloud Monitoring. É possível explorar as métricas coletadas usando o Metrics Explorer do Cloud Monitoring, que tem um painel com um conjunto de gráficos preexistentes. Você também pode apresentar as métricas nos seus próprios painéis personalizados.

Corrida e correlação de registros

Os traces ajudam a identificar erros e problemas nos sistemas, enquanto as entradas de registro ajudam a identificar os detalhes de erros e problemas. Em conjunto, os traces e registros fornecem uma visão detalhada dos erros ou problemas, oferecendo uma compreensão mais completa das RPCs que abrangem sistemas diferentes. A observabilidade dos microsserviços correlaciona automaticamente os registros com traces, que são amostrados com base em decisões de amostragem upstream ou taxas de amostragem definidas pelo usuário.

Rótulos de recursos e rótulos personalizados

Para que seja mais eficaz explorar os dados de observabilidade, a observabilidade dos microsserviços fornece rótulos de recursos por padrão e permite que o aplicativo defina rótulos personalizados. Os rótulos de recurso são pares de chave-valor específicos da implantação que informam o local da carga de trabalho, por exemplo, o nome do nó do Compute Engine ou o namespace do Google Kubernetes Engine.

Os rótulos personalizados fornecem um mecanismo para anexar informações personalizadas da seguinte maneira:

  • Como rótulos de período para rastrear dados.
  • Como rótulos de métrica para dados de métricas.
  • Como rótulos de entrada de registro em dados de registro.

Os rótulos personalizados são úteis quando você quer incluir versões de origem ou nomes de serviço canônicos. Você pode usá-los para adicionar informações específicas do usuário, o que ajuda a identificar dados específicos de observabilidade nos registros, métricas e traces.

Consultas sugeridas

A observabilidade dos microsserviços fornece automaticamente várias consultas sugeridas no Cloud Logging. Para informações completas, consulte Consultas sugeridas.

Arquitetura

O diagrama a seguir ilustra como a observabilidade de microsserviços coleta e disponibiliza dados de observabilidade:

Coleta e exibição de dados de observabilidade de microsserviços.
Coleta e exibição de dados de observabilidade de microsserviços (clique para ampliar)

Primeiro, implante a configuração de observabilidade na carga de trabalho do gRPC. A configuração de observabilidade consiste em campos definidos em uma variável de ambiente. A configuração define o seguinte:

  • Períodos de traces exportados para o Cloud Trace.
  • Dados de métricas exportados para o Cloud Monitoring.
  • Eventos de RPC que são exportados para o Cloud Logging.

Veja essas informações em painéis personalizados no Cloud Monitoring e receba consultas sugeridas no Cloud Logging. Também é possível exportar informações do Cloud Trace, do Cloud Monitoring e do Cloud Logging para plataformas de terceiros de sua escolha.

Preços

Os preços da observabilidade de microsserviços são iguais aos preços do Google Cloud Observability. Não há cobranças separadas pelo uso do Cloud Trace, do Cloud Logging e do Cloud Monitoring com os plug-ins de observabilidade de microsserviços. Para mais informações, consulte preços do Google Cloud Observability.

A seguir