2.2.1通过Golang+eBPF实现无侵入应用可观测作,CGroup… 内核异常:进程调度, 内存管理,文件管理, 夯机宕机,资源异 常… 应用组件异常:线程池满,数据库连接无法获取, OOM,文件读取错误… 无法自顶向下端到端 串联导致棘手问题频 发。 Kubernetes下的可观测 Golang + eBPF实现数据采 集 第四部分 eBPF在可观测领域的优势 无侵入 多语言/多协议/多框架 全栈覆盖 无侵入性 • 无需修改代码 无需修改代码 • 无需重启应用 • Verifier保证运行安全 多协议、多框架、多语言 • 捕获网络字节流 • 无需适配编程语言 • 无需适配协议框架 • 同时支持用户态插桩 全栈覆盖 ✅ uprobe ✅ kprobe ✅ tracepoint ✅ USDT ✅ perf ✅ … eBPF的编程实践 bcc libbpf + bpf + core 编程 bcc 依靠运 下游3 实例 实例 实例 … 关联分析,通过关联关系的切换,可以快速查看上游请求和下游依赖,以及自身服务实例的 运行情况,进一步提升问题定位能力,通常在已经定位到某个异常节点后使用。 实例 全栈数据源,70+个告警模板开箱即用: 应用级别:Pod/Service/Deployment K8S控制面:apiserver/ETCD/Scheduler 基础设施:节点、网络、存储 云服务界别:Kafka/MySQL/Redis/0 码力 | 29 页 | 3.83 MB | 1 年前3
Cilium的网络加速秘诀加速同节点pod间通信 cilium 使用 eBPF 程序,借助 bpf_redirect() 或 bpf_redirect_peer() 等 helper 函数,快速帮助同宿主机间 的流量转发,节省了大量的内核协议栈 处理流程 pod 1 process kernel network stack raw PREROUTING mangle PREROUTING nat PREROUTING record the nodeIP and nodePort extracted from the IP header eBPF 加速本地通信 本地应用间的通信,需要经历冗长的内 核协议栈处理。尤其在 serviceMesh 流行趋 势下,sideCar 的重定向加速,成为重要话题。 cilium 利用 socket eBPF 程序,实现了对本 地应用通信间的加速转发。 相关测试表明:0 码力 | 14 页 | 11.97 MB | 1 年前3
共 2 条
- 1













