• /
  • EnglishEspañolFrançais日本語한국어Português
  • EntrarComeçar agora

Esta tradução de máquina é fornecida para sua comodidade.

Caso haja alguma divergência entre a versão em inglês e a traduzida, a versão em inglês prevalece. Acesse esta página para mais informações.

Criar um problema

Distributed tracing do HAProxy com OpenTelemetry

|View as Markdown (English)

Veja o HAProxy como um salto conectado em seu distributed trace, não apenas como uma caixa preta entre serviços. O HAProxy 3.4 e posterior inclui um filtro do OpenTelemetry que permite que seu balanceador de carga participe diretamente do distributed trace, para que o New Relic possa mapear automaticamente as relações de serviço entre seus aplicativos e a entidade do HAProxy nos mapas de serviço — nenhuma configuração manual é necessária.

Esta página mostra como configurar o filtro OTel do HAProxy, seu exportador e o OTel Collector para que os dados de trace cheguem ao New Relic. Para ver como o tracing funciona nos bastidores — extraindo e propagando o W3C Trace Context por meio do HAProxy — consulte Como funciona abaixo.

Como funciona

Em uma configuração típica, o tráfego flui assim:

Instrumented app (frontend) → HAProxy (with OTel filter) → Instrumented app (backend)
  1. O aplicativo de frontend envia um request com um cabeçalho W3C traceparent.
  2. O filtro OTel do HAProxy extrai o contexto do trace, cria spans cobrindo o ciclo de vida do request e injeta o contexto do trace atualizado no request encaminhado para o backend.
  3. O aplicativo de backend recebe o request com o contexto do trace propagado e continua o trace.
  4. O frontend, o HAProxy e o backend exportam seus spans para um OpenTelemetry Collector, que os encaminha para o New Relic.

A New Relic usa esses spans conectados para criar relacionamentos CALLS:

  • Serviço de frontend CALLS entidade HAProxy
  • Entidade HAProxy CALLS serviço de backend

Esses relacionamentos são visíveis nos mapas de serviço e na experiência de mapas.

Antes de você começar

O filtro OTel do HAProxy funciona com qualquer aplicativo que suporte a propagação do W3C Trace Context, incluindo:

  • Aplicativos instrumentados com OpenTelemetry SDK (qualquer linguagem)
  • Autoinstrumentação do OpenTelemetry (Java, .NET, Python, Node.js)
  • Agentes APM do New Relic (Go, Java, .NET, Node.js, Python, Ruby, PHP) com o distributed tracing ativado

Você pode misturar abordagens de instrumentação. Por exemplo, um frontend do OTel SDK pode chamar por meio do HAProxy um backend de agente APM do New Relic, e a cadeia de relacionamento aparece corretamente no New Relic.

Certifique-se de ter também:

  • Chave de licençada New Relic válida
  • HAProxy 3.4 ou posterior com o filtro OTel ativado. Consulte o guia de instalação do HAProxy OTel para obter instruções sobre como obter uma distribuição com suporte ao filtro OTel.
  • OpenTelemetry Collector (OTel Collector Contrib ou NRDOT) em execução no mesmo host ou acessível a partir do host do HAProxy
  • Aplicativos instrumentados enviando requests por meio do HAProxy, usando qualquer uma das abordagens de instrumentação compatíveis listadas acima
  • Acesso de rede do coletor para o endpoint OTLPda New Relic

Dica

Este guia configura tanto a coleta de métricas quanto o distributed tracing em um único OTel Collector. Para configuração avançada de métricas ou implantação no Kubernetes, consulte Monitorar o HAProxy auto-hospedado e Monitorar o HAProxy no Kubernetes.

Configurar o distributed tracing

Dica

O pipeline de traces abaixo é a mesma configuração padrão que você usaria para qualquer serviço que participe do distributed tracing — não uma configuração manual de relacionamento. Quando o tracing estiver ativo, a New Relic detecta automaticamente os spans conectados e cria relacionamentos de serviço. Não há necessidade de configuração adicional para que os relacionamentos apareçam.

Visualize os relacionamentos dos seus serviços

Assim que o HAProxy e o coletor estiverem em execução, gere algum tráfego por meio de seus aplicativos instrumentados. Após alguns minutos, verifique se os dados estão chegando no New Relic:

-- Verify HAProxy trace spans
FROM Span SELECT count(*)
WHERE service.name = 'YOUR_HAPROXY_SERVICE_NAME'
SINCE 10 minutes ago
-- Verify HAProxy metrics
FROM Metric SELECT count(*)
WHERE metricName LIKE 'haproxy.%'
SINCE 10 minutes ago

Depois que os dados de trace estiverem fluindo, o New Relic cria automaticamente relacionamentos CALLS entre seus serviços e a entidade do HAProxy. Pode levar até 10 minutos para os relacionamentos aparecerem.

Siga estas etapas para visualizar os relacionamentos:

  1. Vá para one.newrelic.com > All capabilities > All entities.
  2. Pesquise sua entidade HAProxy ou um de seus serviços instrumentados.
  3. Selecione uma entidade para abrir sua página de resumo.
  4. Clique em Service map para ver o gráfico de relacionamento de entidades.

Você deve ver seus serviços de frontend conectados ao HAProxy, e o HAProxy conectado aos seus serviços de backend:

[Frontend app] → CALLS → [HAProxy] → CALLS → [Backend app]

Você também pode consultar relacionamentos com NRQL:

FROM Relationship SELECT *
WHERE source.entityName = 'YOUR_HAPROXY_SERVICE_NAME'
OR target.entityName = 'YOUR_HAPROXY_SERVICE_NAME'
SINCE 1 day ago

Resolução de problemas

Próximos passos

Copyright © 2026 New Relic Inc.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.