TechBits 博客

用 eBPF 重塑云原生可观测性

发布时间: 2026-06-10 09:30 · 作者: TechBits

过去一年,我们把整套监控体系从"sidecar + 周期轮询"迁到了基于 eBPF 的方案,盲区消失、开销骤降。本文记录我们的踩坑与收益。

eBPF 架构示意

一、为什么传统方案不够用

传统 APM 要么往每个 Pod 注入 sidecar,要么靠应用埋点。前者带来可观的内存与调度开销,后者依赖业务团队配合,且对第三方组件无能为力。更糟的是,网络层的丢包、重传、连接建立耗时这些"暗物质",应用层根本看不到。

二、eBPF 的核心优势

eBPF 允许我们把经过验证器(verifier)校验的小程序挂到内核 hook 点上,安全地观测系统调用、网络包和调度事件,而无需改内核、无需重启。数据通过 eBPF Map 高效传回用户空间。

# 查看 Cilium 数据面状态
kubectl -n kube-system exec ds/cilium -- cilium status --verbose
# 实时观察服务间流量
hubble observe --namespace prod --follow

三、落地建议

先在非核心命名空间灰度,关注内核版本(建议 5.10+)与 verifier 兼容性;把 Hubble 的指标接入既有 Prometheus/Grafana,逐步替换旧 sidecar。我们最终 sidecar 数量下降 70%,节点内存回收明显。

下一篇聊聊如何用 eBPF 做无侵入的 SLO 监控。