Pitch: Criei um "Sistema Nervoso Autônomo" para o Kernel Linux usando eBPF, Go e Distância de Mahalanobis
Fala, pessoal!
Trabalho como SWE e agora migrando para SRE e sempre me incomodou uma falha estrutural na forma como monitoramos sistemas: a observabilidade atual é estruturalmente lenta.
Entre o momento em que um nó começa a degradar (um vazamento de memória, um processo "runaway" ou um ataque de negação de serviço interno) e o momento em que o Prometheus percebe, o Alertmanager processa e um humano ou orquestrador toma uma ação, o nó já morreu. Chamo isso de "Intervalo Letal".
Para resolver isso, decidi aplicar o que estou estudando no meu mestrado em Matemática na Unicamp e desenvolvi o HOSA (Homeostasis Operating System Agent).
O Conceito: Resiliência Endógena
Em vez de esperar uma decisão externa, o nó precisa ter um "reflexo medular". O HOSA roda dentro do Kernel via eBPF (usando tracepoints e kprobes) e coleta métricas multivariáveis em tempo real.
A Matemática por trás
Não uso apenas limiares simples (ex: CPU > 80%). O HOSA utiliza a Distância de Mahalanobis para entender a correlação entre as métricas.
Se a CPU sobe, mas o Context Switch e o I/O Wait continuam normais, talvez seja apenas um processamento pesado esperado.
Se a CPU sobe junto com uma anomalia na matriz de covariância de rede e memória, o HOSA detecta a anomalia estatística em milissegundos.
Para manter a performance sem fritar o processador, implementei uma versão online do Algoritmo de Welford para atualização incremental da média e variância, rodando em Go no userspace, enquanto o C no Kernel garante a coleta de baixa latência.
O Desafio do Go + eBPF
Um dos maiores desafios foi lidar com a pressão do Garbage Collector (GC) do Go ao processar matrizes de covariância em submilissegundos. Estou explorando otimizações de alocação para garantir que o agente não se torne o próprio gargalo do sistema.
Open Source
O projeto está em fase alpha e o código é aberto. Queria o feedback de vocês sobre a viabilidade de agentes autônomos complementarem (ou substituírem) o modelo reativo de SRE que usamos hoje.
Repositório: https://github.com/bricio-sr/hosa
Projeto: https://hosaproject.org
O que vocês acham dessa abordagem de "imunidade computacional"? Alguém aqui já teve problemas onde o monitoramento tradicional foi lento demais para evitar um desastre?