1、首届中国eBPF研讨会首届中国eBPF研讨会可观测性:解决复杂系统的可控性问题复杂系统可观测性外部输出=零侵扰内部状态=多维度有限时间=实时性控制理论中的可观测性是指:系统可以由其外部输出推断其内部状态的程度。NASA sent Apollo 11July 20,19691969年阿波罗11号完成登月壮举可观测性实现飞船控制I believe we should go to the moon.一系统具有可观测性当且仅当:针对所有的状态向量及控制向量,都可以在有限时间内,只根据输出信号来识别目前的状态。John F Kennedy May 25,19611961年肯尼迪提出十年内实现登月此时尚未
2、有可观测性理论首届中国eBPF研讨会kafka单个服务越来越简单,服务发布越来越快速通用逻辑逐渐卸载至基础设施,开发语言和框架越来越自由连接微服务的基础设施路径越来越长、多代理进程PodNodeHost代理进程PodNodeHost应用进程应用进程框架代码框架代码业务代码业务代码APPSYSNETSTORGWMQDB复杂系统可观测性外部输出=零侵扰内部状态=多维度有限时间=实时性#服务=N#路径=N2?路径N2服务N全栈可观测性越来越重要,如何消除业务开发与基础设施之间的鸿沟?首届中国eBPF研讨会代理进程PodNodeHost代理进程PodNodeHost应用进程应用进程框架代码框架代码业务
3、代码业务代码APPSYSNETSTOR零插码零重启零配置标准采集自动关联GWMQDB复杂系统:由数十种语言实现的高速迭代的云原生应用AutoMetrics从 cBPF 到 eBPF微服务的动态应用拓扑AutoTracing从 InProc 到 Distributed用户请求的零侵扰分布式追踪AutoLogging从 Kprobe 到 Uprobe应用事件的细粒度回溯日志promtail全栈可观测性首届中国eBPF研讨会AutoMetrics从 cBPF 到 eBPF微服务的动态应用拓扑AutoTracing从 InProcess 到 Distributed用户请求的零侵扰分布式追踪AutoLo
4、gging从 Kprobe 到 Uprobe应用事件的细粒度回溯日志123首届中国eBPF研讨会Kernel 3.10+Kernel 4.14+采集:Packet、Syscall Data、Func Data 聚合:L4 Flow、L7 Session 聚合:生成全栈性能 Metrics 提取:结构化 FlowLog/RequestLog(Span)关联:基于 Span 生成 Distributed Trace业务代码框架/库代码服务网格 sidecar容器网络 iptables/ipvs云网络 ovs/linuxbr网关、数据库首届中国eBPF研讨会我的服务HostK8sNodePIDPID
5、PIDPIDPIDPIDPodPodPodPodPodPodSingle IPSNAT下游服务GW不插码,你真的知道谁在访问你吗?某互联网用户,使用 DeepFlow 5 分钟内从数万个 Pod 中定位 RDS 访问量最大的Pod、服务、团队。即便插码,你真的知道你在访问谁吗?某金融用户,信用卡核心业务上线受阻,使用 DeepFlow 5 分钟内发现两个服务之间 API 网关是性能瓶颈。代理进程PodNodeHost代理进程PodNodeHost应用进程应用进程框架代码框架代码业务代码业务代码APPSYSNETSTOR零插码零重启零配置标准采集自动关联GWMQDB12453全栈可观测性首届中国
6、eBPF研讨会代理进程PodNodeHost代理进程PodNodeHost应用进程应用进程框架代码框架代码业务代码业务代码APPSYSNETSTOR零插码零重启零配置标准采集自动关联GWMQDB全栈混合云:KVM 宿主机+容器K8S 虚拟机NodevSwitchDeepFlow采集器进程业务POD业务POD采集PODbr业务POD全栈混合云:KVM 宿主机+容器K8S 虚拟机NodevSwitchDeepFlow采集器进程业务POD业务POD采集PODbr业务POD2456713123458678从云基础设施到云原生应用的全栈性能指标:应用性能:吞吐、时延、异常(RED)应用协议:HTTP(S