1、基于ebpf的可观测工具实践分享第三届 eBPF开发者大会w w w.e b p f t r a v e l.c o m中 国 西 安任金林,华为GTS&三丫坡服务战队 随着云服务的兴起,云原生软件系统发展迅速,规模呈现指数级增加,动辄上千个微服务,例如:Netflix 700+种微服务,amazon有3000+种微服务,华为GTS产品的微服务1000+种;微服务之间呈现复杂的调用关系,调用链跨越几十种微服务;云原生系统结构复杂,海量微服务,故障难以快速定界定位,MTTR挑战巨大硬件设备上万微服务成百上千,应用实例上百万eBPF-解题方法实践介绍网络加速服务安全eBPF技术成熟,具备从内核层到
2、用户层所有指标数据的全面可观测,可以实现无侵入式的网络加速、服务安全、全链路追踪、性能分析、函数级调用回溯等能力可观测+定位定界探针观测范围:300+Metrics(内核、容器、运行时、基础中间件、应用等)eBPF-探针实现架构感知定期通过探针采集的所有已安装探针主机的数据,计算它们之间的拓扑关系,提供 OS 级别的拓扑图构建功能。实时生成动态拓扑,支持自定义拓扑关系对象生成业务拓扑。进程级节点级服务级系统性能诊断通过eBPF 捕获系统内核数据,通过阈值(包括上下限)设置异常范围,探针会根据阈值判断某个指标是否异常,如果异常则上报异常事件。系统性能诊断主要用于提供系统维护日常巡检,提供包括如网
3、络、I/O性能波动、Socket队列溢出、系统调用失败、系统调用超时、进程调度超时等。基于架构感知的系统级故障诊断基于关联分析的业务拓扑和故障诊断信息,通过定义实体之间的因果关系规则和建立异常事件知识图谱,结合基础组件影响上层应用等运维知识进行因果推导得出根因,实现异常事件根因诊断过程可视化。01040203根因推导过程硬件:NIC/DISK/MEM等内核:NET/IO/SCHED/MEM容器/进程/线程/TCP等应用SLI:数据库QPS等系统硬件/资源故障故障扩散至内核子系统故障扩散至容器/进程故障导致应用性能劣化 异常检测 关联分析 根因推导提供应用粒度low-level的数据采集,包括网
4、络、磁盘I/O、调度、内存、安全等方面的系统指标采集,基于采集数据提供分钟级别的异常检测能力,检测发现潜在流量、时延、错误、利用率等业务异常。针对系统异常事件采集的系统全栈、全链路数据、业务特征数据,通过关联计算绘制业务拓扑图;结合历史数据模型、日志分析、告警信息、变更分析进行相关分析提取有效诊故障断信息用于最终根因推导。基础设施拓扑系统拓扑业务拓扑应用实践 三方OS兼容性评估工具通过eBPF动态跟踪系统内核syscall,procfs,sysfs,结合二进制反汇编静态清单,输出系统兼容性分析结果。低成本的验证业务镜像与目标服务商 OS 是否兼容:1.兼容性验证环节业务镜像与服务商 OS 解耦
5、,无需频繁在目标平台部署测试,做到一次探测,全业务受益,在家中环境即可对兼容性进行验证2.给出错配场景的可兼容依据,或不兼容的具体原因,避免盲目进行版本配套。支持静态或动态评估兼容性,业务无感知。GDE验证欧拉2.12配套统信、麒麟、bc的评估结果一致。业务价值关键技术实践效果(三方os数量)*(os版本数量)*(业务数量)*(容器版本数量)的验证工作量,直接评估GDE应用或者其他业务在任意三方os的兼容性,并提供兼容性报告。关键技术目标 帮助业务在任意os上的部署的兼容性分析,降低兼容性分析工作量。容灾业务客户网络FWEOR交换机server存储容灾业务server存储管理备份管理备份管理面
6、业务面扩容TOR交换机server堆叠M-LAGEOR交换机堆叠适用场景:服务器收发端丢包、延时异常快速定界定位,自证清白 中间网络设备、网线侧的问题仍需要通过传统抓包手段进一步定位根因实现机制:1、从物理层网卡到应用层所有内核调用函数级追踪,记录端到端延时2、丢包原因从参考6.10内核的kfree_skb的drop_reason特性,模改到5.10内核,实现相同效果应用实践-网络丢包&延时分析工具案例一:防火墙丢包,快速定位原因是被netfilter丢了。案例二:Traffic Control限流丢包,工具抓取信