Distributed tracing permite que você veja toda a jornada de suas solicitações em sistemas distribuídos. Para o agente Python, oferecemos dois tipos de distributed tracing. Para obter mais detalhes, consulte Como funciona a amostragem span:
- Padrão (Amostragem head-based): Antes de qualquer rastreamento chegar, determinamos uma porcentagem definida de rastreamento para aceitar e analisar. Isso fornece um ponto de partida sólido para ver como o rastreamento pode ajudá-lo. Está ativado por padrão no agente Python 7.0.0.166 e superior.
- Rastreamento Infinito (amostragem tail-based): Nosso serviço baseado em nuvem aceita todos os seus rastreamentos e depois os classifica para encontrar o mais importante. Depois de configurar o rastreamento padrão, recomendamos adicionar essa opção porque ela analisa todo o seu rastreamento e oferece opções de configuração para obter uma amostra do rastreamento mais importante para você.
Todas as etapas necessárias para começar a usar distributed tracing são estas:
- Novo agente Python: etapas para instalação de head- e amostragem tail-based para nova instalação de agente
- Agente Python mais antigo: opções de rastreamento se você tiver um agente Python mais antigo
- Instrumentação manual: Dicas caso a instrumentação automática não funcione
Novo agente Python
Se você deseja apenas experimentar distributed tracing padrão (Amostragem head-based) ou também configurar o Infinite Tracing (Amostragem tail-based), você precisa começar configurando o rastreamento padrão. Orientaremos você na instalação do agente APM para iniciar a Amostragem head-based. Depois disso, você pode configurar o Rastreamento Infinito, que é opcional, mas recomendado.
Instale um agente para obter distributed tracingpadrão
Esta é a melhor abordagem para configurar distributed tracingpadrão se você ainda não instalou nenhum agente APM para seus serviços ou se deseja instrumentar serviços adicionais.
Se você já possui alguns serviços instrumentados com este agente APM e deseja incluí-los no distributed tracing, será necessário habilitar manualmente distributed tracing para cada serviço. Consulte Opções para agentes Python mais antigos.
Dica
Você precisará de uma conta New Relic para configurar distributed tracing. Se ainda não tiver uma, você pode criar rapidamente uma conta gratuita.
Passo 1. Identificar serviços
Descubra quais serviços você deseja usar para que cada um envie dados trace para o New Relic.
Passo 2. Instrumentar cada serviço com um agente APM
Você repetirá a rotina de instalação do agente para cada serviço envolvido na sua transação. Se alguns dos seus serviços utilizarem outros idiomas, basta repetir as etapas de instalação para esses idiomas.
Para iniciar a rotina de instalação, clique no bloco abaixo. Quando terminar de instalar cada agente, volte aqui para ver dicas para visualizar seu rastreamento.
Etapa 3. Ver rastreamento
Depois de instrumentar cada um de seus serviços com o agente APM, gere algum tráfego em sua aplicação para que possamos capturar algum rastro. Aqui estão duas maneiras de visualizar seu rastreamento na interface:
Para obter mais ajuda para encontrar seu rastreamento na interface:
Configurar rastreamento infinito
distributed tracing padrão para o agente APM (acima) captura até 10% do seu rastreamento, mas se você quiser que analisemos todos os seus dados e encontremos o rastreamento mais relevante, você pode configurar o Rastreamento Infinito.
Dica
Para saber mais sobre esse recurso, consulte Rastreamento infinito.
Antes de começar, primeiro certifique-se de atender aos requisitos.
Etapa 1. Conclua a instalação do novo agente
A configuração do Rastreamento Infinito baseia-se na etapa de instrumentação da instalação do novo agente para distributed tracing padrão. Após concluir a instalação do agente, continue com a configuração do observador trace .
Etapa 2. Configurar o observador trace
O observador trace é um serviço New Relic baseado em AWS que coleta e analisa todos os seus rastreamentos. Siga as instruções em Configurar o observador de rastreamento. Quando terminar, retorne aqui com as informações do observador trace e continue com a próxima etapa para configurar o agente.
Etapa 3: configurar o agente para rastreamento infinito
As definições de configuração do Infinite Tracing incluem o distributed tracing padrão, além de informações sobre o observador trace . Observe que a configuração no lado do servidor não está disponível para Infinite Tracing.
Dica
Se precisar de ajuda com a configuração do proxy, consulte Suporte ao proxy.
Etapa 4. (Opcional) Personalizar rastreamento infinito
Depois de adicionar as definições de configuração do agente, você deverá começar a ver os dados na interface do New Relic. Depois de passar algum tempo analisando seus dados, você pode querer ajustar alguns recursos do Infinite Tracing:
- Configurar o monitoramento do observador trace
- Configurar filtro trace de atributo span
- Configurar filtro trace aleatório
Opções para agente Python mais antigo
Se você tiver um agente Python mais antigo, confirme se o recurso distributed tracing que você deseja tem suporte antes de habilitá-lo.
Guia de compatibilidade
Depois de revisar as informações de compatibilidade abaixo, consulte Configurar seu agente Python mais antigo.
Configure seu agente Python mais antigo
Veja as configurações abaixo para ativar distributed tracing.
Dica
Se você estiver usando um agente mais antigo sem distributed tracing, antes de ativar o distributed tracing, consulte Impactos no APM.
Instrumentação manual (se a instrumentação automática não funcionar)
Recommendation: Antes de executar qualquer instrumentação personalizada, leia:
Se um serviço não estiver passando o cabeçalho de trace para outros serviços, você poderá usar a de distributed tracing carga útil API para instrumentar o serviço de chamada e o serviço chamado. O serviço de chamada usa uma chamada de API para gerar uma carga útil, que é aceita pelo serviço chamado.