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 APM com tecnologia eBPF
- 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 | Agente eBPF (eAPM) | 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
Utilize o agente eBPF como complemento ao agente de linguagem APM para uma cobertura abrangente. Isso oferece cobertura completa APM com coexistência entre eAPM e APM de agente, 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 lhe dar visibilidade além dos limites do seu aplicativo. Essa funcionalidade é complementar e pode ser usada com ou sem o eAPM. Para obter mais informações, consulte network-métricas.
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 |
Agente eBPF (eAPM) | Agente eBPF (mesmo agente) | Agente único |
3. Criar uma abordagem de monitoramento unificada
Seguindo as práticas acima, você pode usar um único agente eBPF para lidar com as necessidades de monitoramento tanto da infraestrutura quanto do aplicativo. Isso unifica sua observabilidade, permitindo que o agente colete automaticamente dados críticos de desempenho do aplicativo (eAPM) e métricas de rede (eBPF network métrica) para preencher o dashboard existente, fornecendo um 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 eAPM para escalabilidade: Se você precisa implantar monitoramento em larga escala em vários aplicativos e deseja métricas "suficientemente boas" sem coordenação complexa, comece com APM baseado em eBPF.
Adicione métrica de rede para visibilidade completa: Depois que eAPM for implantado, considere adicionar métrica de rede eBPF para obter visibilidade além dos limites do aplicativo para recursos abrangentes de resolução de problemas.