Este artículo presenta un tutorial sobre el uso de eBPF con Go para lograr observabilidad a nivel del kernel, abordando la falta de visibilidad al depurar problemas de producción en servicios generados por IA.
- Las herramientas tradicionales de registro y perfilado no logran detectar problemas que ocurren a nivel del kernel, como llamadas excesivas de E/S de archivos.
- eBPF permite rastrear llamadas al sistema, E/S de archivos, eventos de red, uso de CPU/memoria y eventos personalizados de la aplicación sin modificar el kernel ni reiniciar los servicios.
- El autor demuestra el rastreo de syscalls usando Go y la biblioteca de Cilium, incluyendo la carga de programas eBPF y su conexión a kprobes.
- Los pasos clave implican instalar la herramienta de línea de comandos Cilium eBPF, escribir programas eBPF en C compilados con clang y cargarlos desde Go.
Este enfoque permite a los desarrolladores identificar comportamientos ocultos a nivel del kernel, como E/S excesiva, que no son visibles en los registros de la aplicación, lo que posibilita una optimización efectiva de los servicios generados por IA.