El agente eBPF de New Relic emplea tecnología eBPF para proporcionar funcionalidad APM en un solo agente con instrumentación de código cero. Este enfoque empodera a los equipos de ingeniería de plataformas al eliminar la necesidad de coordinación con los equipos de aplicaciones para la implementación del monitoreo.
Cuándo usar eBPF APM
- Implementación a gran escala: cuando tienes muchas aplicaciones que necesitan monitoreo y despliegue a escala y requieren una métrica "suficientemente buena" sin la sobrecarga de un agente de lenguaje individual.
- Carga de trabajo desconocida o no modificable: Cuando la carga de trabajo que se desea monitorear está escrita en un lenguaje de programación desconocido y/o no se puede modificar.
- Plataforma de ingeniería de eficiencia: cuando desea implementar monitoreo a escala sin coordinar con equipos de aplicación individuales.
- Entornos centrados en Linux: cuando no es necesario monitorear la plataforma Windows, ya que eBPF funciona de manera excelente en Linux tanto en entornos Kubernetes como de host.
- No requisito de rastreo distribuido: Cuando sus necesidades de monitoreo no requieren capacidades de rastreo distribuido.
Comparación entre eBPF y APM tradicional
Comprender las diferencias entre APM impulsado por eBPF y APM de agente tradicional lo ayudará a elegir el enfoque correcto:
Funcionalidad | APM eBPF | Agente APM |
|---|---|---|
Resumen | ✅ | ✅ |
Transacción | ✅ (vinculación de segmentos para Java, Go, Node.js) | ✅ |
Operaciones de base de datos | ✅ | ✅ |
Mapa de servicios | ✅ | ✅ |
rastreo distribuido | ❌ | ✅ |
lenguaje de programación agnóstico | ✅ | ❌ |
Instrumentación personalizada | ❌ | ✅ |
Descubrir automáticamente aplicaciones y servicios de forma continua | ✅ | ❌ |
Soporte para Linux | ✅ | ✅ |
Compatibilidad con Windows | ❌ | ✅ |
Telemetría TCP y DNS | ✅ | ❌ |
Perspectiva de la fuente de datos
APM impulsado por eBPF cambia la perspectiva de monitoreo de la capa de aplicación a la capa de kernel:
Característica | Agente de lenguaje APM | APM con tecnología eBPF |
|---|---|---|
Fuente de datos | Ganchos de memoria/tiempo de ejecución de la aplicación | Núcleo de Linux (a través de eBPF) |
Dependencia del lenguaje | Alto (requiere agente específico para cada idioma) | Ninguno (opera en la vista del proceso del kernel) |
Modificación del código | Requerido | No requerido (observa el proceso desde afuera) |
Resultado | Información profunda y valiosa para idiomas conocidos. | Gran información valiosa para cualquier carga de trabajo en Linux (C++, Rust, etc.) |
mejores prácticas para implementar
1. Complementar el APM tradicional
Utilice el agente eBPF para complementar los agentes de lenguaje APM para una cobertura integral. Esto le proporciona una cobertura completa de APM con coexistencia entre eBPF APM y los agentes de APM, sin doble ingesta de datos.
Enfoque recomendado:
- APM language agente: Úselo para sus aplicaciones más críticas que requieren información valiosa, rastreo distribuido o instrumentación personalizada de nivel profundo.
- APM con tecnología eBPF: se emplea para cubrir todo lo demás, incluidos servicios no instrumentados, aplicaciones de terceros y para descubrir e informar continuamente nuevos servicios.
2. Agregue métricas de red para un contexto más profundo
Avance
Todavía estamos trabajando en la capacidad métrica de la red eBPF, ¡pero nos encantaría que la probaras!
Esta función se proporciona actualmente como parte de una vista previa de conformidad con nuestras políticas de prelanzamiento. No está disponible para clientes sujetos a las regulaciones HIPAA o FedRAMP.
El agente eBPF también puede proporcionar métricas de red granulares (TCP, DNS, etc.) para brindarle visibilidad fuera de los límites de su aplicación. Esta capacidad es complementaria y puede utilizarse con o sin eBPF APM. Para obtener más información, consulte network-metrics.
Las siguientes opciones de implementación están disponibles:
Fuente de aplicación métrica | Fuente métrica de red | Configuración |
|---|---|---|
Agente de lenguaje APM | eBPF agente (modo solo red métrica) | Dos agentes |
APM eBPF | Agente eBPF (mismo agente) | Agente único |
3. Crear un enfoque de monitoreo unificado
Al seguir las prácticas anteriores, puede utilizar el agente eBPF único para gestionar las necesidades de monitoreo tanto de infraestructura como de aplicaciones. Esto unifica su observabilidad, permitiendo que el agente recopile automáticamente datos críticos de rendimiento de la aplicación (APM eBPF) y métricas de red (métricas de red eBPF) para alimentar los dashboards existentes, proporcionando un contexto profundo sin cambios en el código ni reinicios.
Beneficios:
- Información valiosa APM que completa automáticamente UI New Relic APM.
- Red de información valiosa del mismo agente.
Recomendaciones de implementación
Comience con APM de eBPF para escalar: Si necesita implementar monitoreo a escala en muchas aplicaciones y desea métricas "lo suficientemente buenas" sin una coordinación compleja, comience con APM basado en eBPF.
Agregue métricas de red para una visibilidad completa: Una vez implementado eBPF APM, considere agregar métricas de red eBPF para obtener visibilidad más allá de los límites de la aplicación para capacidades integrales de resolución de problemas.