《8.观测云采集器.pptx》由会员分享,可在线阅读,更多相关《8.观测云采集器.pptx(17页珍藏版)》请在三个皮匠报告上搜索。
1、首届中国首届中国eBPFeBPF研讨会研讨会观测云采集器观测云采集器主讲人:张文杰(观测云)主讲人:张文杰(观测云)2022-11-122022-11-12首届中国首届中国eBPFeBPF研讨会研讨会自我介绍自我介绍 姓名:张文杰 工作职责:基础技术研发团队-系统开发工程师 发展方向:可观测性 eBPF 程序语言开发 NLP 姓名:谭彪 工作职责:基础技术研发团队-资深系统开发工程师 发展方向:可观测性 架构设计首届中国首届中国eBPFeBPF研讨会研讨会目录目录0101观测云采集器观测云采集器0202eBPF eBPF 实践实践-网络观测网络观测 0303功能功能演示演示首届中国首届中国eB
2、PFeBPF研讨会研讨会观测云采集器观测云采集器纸上得来终觉浅,绝知此事要躬行。纸上得来终觉浅,绝知此事要躬行。0101首届中国首届中国eBPFeBPF研讨会研讨会什么是观测云采集器什么是观测云采集器观测云采集器是一款开源、一体式的数据采集 Agent,它提供全平台操作系统支持,拥有全面数据采集能力,涵盖基础设施、指标、日志、应用性能、用户访问以及安全巡检等各种场景。通过 eBPF 技术的引入,观测云采集器实践了网络传输层和应用层的部分协议的可观测。首届中国首届中国eBPFeBPF研讨会研讨会采集器架构采集器架构首届中国首届中国eBPFeBPF研讨会研讨会eBPF eBPF 实践实践-网络观测
3、网络观测纸上得来终觉浅,绝知此事要躬行。纸上得来终觉浅,绝知此事要躬行。0202首届中国首届中国eBPFeBPF研讨会研讨会eBPF eBPF 技术应用技术应用 为了实现网络协议可观测,观测云采集器使用了三种类型的 eBPF 程序:socket filter、kprobe、uprobe,从而能够抓取以太网帧、跟踪与 socket 和 TCP/IP 协议栈相关的内核函数以及用户共享库函数。首届中国首届中国eBPFeBPF研讨会研讨会数据采集数据采集 观测云采集器的 eBPF 网络观测功能采集并生成了三个数据集,分别为 netflow,dnsflow 和 httpflow,其 tag 基本相同,以
4、下是其 tag 名与描述:Tag Tag 名名描述描述src_ip源 IPdst_ip目标 IPsrc_port源端口dst_port目标端口transporttcp 或 udpfamilyIPv4 或 IPv6direction传输方向(incoming/outgoing)src_ip_type源 IP 类型(other/private/multicast)dst_ip_type目标 IP 类型(other/private/multicast)host主机名source数据源(netflow,httpflow,dnsflow)Tag Tag 名名描述描述pid进程 id,仅 netflowd
5、st_domain仅 netflow,来自 dnsflow 抓包记录src_k8s_namespace源 service 归属的 namespacesrc_k8s_deployment_name源 serivce 归属的 deploymentsrc_k8s_service_name源 servicesrc_k8s_pod_name源 poddst_k8s_namespace目标 service 归属的 namespacedst_k8s_deployment_name目标 serivce 归属的 deploymentdst_k8s_service_name目标 servicedst_k8s_po
6、d_name目标 podsub_source子来源,默认 N/A,如若为 Kubernetes 流量则为 K8s。首届中国首届中国eBPFeBPF研讨会研讨会传输层网络观测传输层网络观测 采集器使用 kprobe 类型 eBPF 程序获取部分内核函数的输入与返回值 通过 inet_bind(6)函数判断 src_ip+src_port 是否为服务端 通过协议栈 tcpudp 以及 ip 相关的内核函数,获取服务与客户端之间的流量大小以及 TCP 协议的连接的建立与关闭次数、重传和 RTT 信息Field Field 名名描述描述bytes_read接收字节数bytes_written发送字节数
7、retransmits重传次数rttrttrtt_varrtt_vartcp_closedTCP 连接关闭次数tcp_establishedTCP 连接建立次数首届中国首届中国eBPFeBPF研讨会研讨会应用层网络观测应用层网络观测 采集器使用 AF_PACKET+BPF 在采集器上分析 DNS 请求,以支持 CentOS(RedHat)7.6(其不支持 socket filter 类型 eBPF 程序),记录请求信息支持 netflow 进行域名反向解析;对于 HTTP 请求使用 socket filter 和 uprobe 类型 eBPF 程序实现 HTTP(S)请求分析Field Fie
8、ld 名(名(dnsdns)描述描述count一个采集周期内的请求总数latencyDNS 平均请求响应时间间隔latency_maxDNS 最大请求的响应时间间隔rcodeDNS 响应码:0-NoError,1-FormErr,2-ServFail,3-NXDomain,4-NotImp,5-Refused,.Field Field 名(名(httphttp)描述描述count一个采集周期内的请求总数http_version1.1/1.0.latencyTTFBmethodGET/POST.path请求路径status_code状态码,如 200,301,404.truncated请求路径长
9、度达到采集的(约 150)字节上限,存在截断可能首届中国首届中国eBPFeBPF研讨会研讨会功能演示功能演示纸上得来终觉浅,绝知此事要躬行。纸上得来终觉浅,绝知此事要躬行。0303首届中国首届中国eBPFeBPF研讨会研讨会用户户地理分布及 TCP 时时延首届中国首届中国eBPFeBPF研讨会研讨会主机间四层网络拓扑主机间四层网络拓扑首届中国首届中国eBPFeBPF研讨会研讨会K8s K8s Pod Pod 间网络拓扑间网络拓扑首届中国首届中国eBPFeBPF研讨会研讨会K8s Deployment K8s Deployment 间网络拓扑间网络拓扑首届中国首届中国eBPFeBPF研讨会研讨会Thanks!2024-5-