O agente eBPF New Relic utiliza a tecnologia eBPF para fornecer funcionalidade APM em um único agente com instrumentação de código zero. Essa abordagem capacita equipes de engenharia de plataforma, eliminando a necessidade de coordenação com equipes de aplicativos para implantação de monitoramento.
Quando usar o eBPF APM
- Implantação em larga escala: Quando você tem muitos aplicativos que precisam de monitoramento implantado em escala e exigem métrica "boa o suficiente" sem a sobrecarga de agente de linguagem individual.
- Carga de trabalho desconhecida ou imutável: Quando a workload que você deseja monitorar está escrita em uma linguagem de programação desconhecida e/ou não pode ser modificada.
- Eficiência da engenharia de plataforma: Quando você deseja implantar monitoramento em escala sem coordenar com equipes de aplicativos individuais.
- Ambientes focados em Linux: Quando você não precisa monitorar a plataforma Windows, pois o eBPF funciona de forma excelente no Linux, tanto em ambientes Kubernetes quanto em ambientes host.
- Sem necessidade distributed tracing : Quando suas necessidades de monitoramento não exigem recursos distributed tracing.
Comparação entre eBPF e APM tradicional
Compreender as diferenças entre APM baseado em eBPF e APM tradicional baseado em agentes ajuda você a escolher a abordagem correta:
Funcionalidade | APM eBPF | Agente APM |
|---|---|---|
Resumo | ✅ | ✅ |
Transação | ✅ (vinculação de segmentos para Java, Go, Node.js) | ✅ |
Operações de banco de dados | ✅ | ✅ |
Mapa de serviço | ✅ | ✅ |
Distributed tracing | ❌ | ✅ |
Agnóstico de linguagem de programação | ✅ | ❌ |
Instrumentação personalizada | ❌ | ✅ |
Descoberta automática de aplicativos e serviços continuamente | ✅ | ❌ |
Suporte Linux | ✅ | ✅ |
Suporte para Windows | ❌ | ✅ |
Telemetria TCP e DNS | ✅ | ❌ |
Perspectiva da fonte de dados
APM com tecnologia eBPF muda a perspectiva de monitoramento da camada de aplicação para a camada do kernel:
Recurso | Agente de idiomas APM | APM com tecnologia eBPF |
|---|---|---|
Fonte de dados | Ganchos de memória/tempo de execução do aplicativo | Kernel Linux (via eBPF) |
Idioma | Alto (requer um agente específico para cada idioma) | Nenhuma (opera na visão do kernel sobre o processo) |
Modificação de código | Obrigatório | Não é necessário (observa o processo de fora). |
Resultado | Análises aprofundadas para línguas conhecidas | Excelentes dicas para qualquer workload no Linux (C++, Rust, etc.) |
práticas recomendadas para implantação
1. Complementar o APM tradicional
Use o agente eBPF para complementar os agentes de linguagem de APM para uma cobertura abrangente. Isso oferece cobertura completa de APM com coexistência entre o APM eBPF e os agentes de APM, sem ingestão dupla de dados.
Abordagem recomendada:
- Agente de linguagemAPM : Use para seus aplicativos mais críticos que exigem insights de nível profundo, distributed tracing ou instrumentação personalizada.
- APM com tecnologia eBPF: Use para abranger tudo o mais, incluindo serviços não instrumentados, aplicativos de terceiros e para descobrir/relatar continuamente novos serviços.
2. Adicione métricas de rede para um contexto mais aprofundado.
Visualização
Ainda estamos trabalhando na funcionalidade Métrica da rede eBPF, mas adoraríamos que você a experimentasse!
Atualmente, esse recurso é fornecido como parte de uma prévia, de acordo com nossas políticas de pré-lançamento. Não está disponível para clientes sujeitos às regulamentações HIPAA ou FedRAMP.
O agente eBPF também pode fornecer métricas de rede granulares (TCP, DNS, etc.) para dar visibilidade fora dos limites da sua aplicação. Este recurso é complementar e pode ser usado com ou sem o eBPF APM. Para mais informações, consulte network-metrics.
As seguintes opções de implantação estão disponíveis:
aplicativo métrica fonte | Fonte de rede Métrica | Configuração |
|---|---|---|
Agente de idiomas APM | agente eBPF (modo somente métrica de rede) | Dois agentes |
APM eBPF | Agente eBPF (mesmo agente) | Agente único |
3. Criar uma abordagem de monitoramento unificada
Ao seguir as práticas acima, você pode usar o agente eBPF único para atender às necessidades de monitoramento de infraestrutura e aplicações. Isso unifica sua observabilidade, permitindo que o agente colete automaticamente dados críticos de desempenho de aplicativos (eBPF APM) e métricas de rede (métricas de rede eBPF) para preencher dashboards existentes, fornecendo contexto profundo sem alterações de código ou reinicializações.
Benefícios:
- insights APM que preenchem automaticamente a interface New Relic APM.
- insights de rede do mesmo agente.
Recomendações de implementação
Comece com APM eBPF para escala: Se você precisa implantar monitoramento em escala em várias aplicações e deseja métricas "boas o suficiente" sem coordenação complexa, comece com APM baseado em eBPF.
Adicione métricas de rede para visibilidade completa: Assim que o APM eBPF for implantado, considere adicionar métricas de rede eBPF para obter visibilidade além dos limites da aplicação para capacidades abrangentes de solução de problemas.