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 emplear APM con tecnología eBPF
- 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 | Agente eBPF (eAPM) | 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
Emplee el agente eBPF para complementar el agente de lenguaje APM para una cobertura integral. Esto le brinda cobertura APM completa con coexistencia entre eAPM y agente 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 se puede emplear con o sin eAPM. Para obtener más información, consulte network-métricas.
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 |
Agente eBPF (eAPM) | Agente eBPF (mismo agente) | Agente único |
3. Crear un enfoque de monitoreo unificado
Siguiendo las prácticas anteriores, puede emplear un único agente eBPF para gestionar las necesidades de infraestructura y monitoreo de aplicaciones. Esto unifica su observabilidad, lo que permite al agente recopilar automáticamente datos críticos de rendimiento de la aplicación (eAPM) y de red métrica (eBPF de red métrica) para completar el dashboard existente, proporcionando un contexto profundo sin cambios de 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 eAPM para escalar: si necesita implementar monitoreo a escala en muchas aplicaciones y desea una métrica "suficientemente buena" sin una coordinación compleja, comience con APM impulsado por eBPF.
Agregue una red métrica para una visibilidad completa: una vez que eAPM esté implementado, considere agregar una red métrica de eBPF para obtener visibilidad más allá de los límites de la aplicación para capacidades integrales de resolución de problemas.