- 快召唤伙伴们来围观吧
- 微博 QQ QQ空间 贴吧
- 文档嵌入链接
- 复制
- 微信扫一扫分享
- 已成功复制到剪贴板
陈晨-DeepFlow“云原生时代”下可观测性的全栈、自动化统一平台
展开查看详情
1 .DeepFlow:“云原生时代” 下可观测性的全栈、自 动化统一平台 陈晨@云杉网络 202303
2 .分享大纲
3 .可观测性是什么 Baron Schwartz Founder & CTO | VividCortex
4 .云原生可观测性的痛点 技术栈选择过多 垂直领域功能不一致 All Stack 业务代码 连 APP 业务代码 服务 路接 框架代码 框架代码 N 径微 越服 应用进程 应用进程 来务 SYS 越的 代理进程 代理进程 kafka 长基 、础 多设 施 Pod Node NET STOR DB MQ Pod Node 路径 N2 ? Host GW Host 该如何消除业务开发与基础设施之间的鸿沟?
5 .可观测性分类 • 信号分类: • Logging:审计、应用、中间件 • Tracing:应用、系统调用、网络 • Metrics:网络、容器、OS、应用、中间件 • Events:资源、容器、IO • Profile:OS、应用 • 层级分类: • 系统层:基础设施 • 网络层:L4/L7 • 应用层:业务应用
6 .分享大纲
7 .AutoMetrics Auto 业务代码 业务代码 从云基础设施到云原生应用的全栈性能指 全栈可观测性 标准采集 标: 框架代码 APP 框架代码 自动关联 应用性能:吞吐、时延、异常(RED) 应用进程 应用进程 应用协议:HTTP(S),RPC,SQL、MQ、 1 SYS 8 DNS、… 代理进程 代理进程 系统性能:新建连接、活跃连接、建连异 零插码 Pod NET Pod 7 零重启 常、… 2 STOR 零配置 网络时延:建连时延、系统时延、数据时 3 Node DB Node 6 延、… MQ 5 网络性能:吞吐、重传、零窗、传输层载 4 Host GW Host 荷、…
8 .ExternalMetrics Vendor DeepFlow Observability with Automation and Integrations Collaboration Agent Server
9 .AutoTracing • S:系统 Span • N:网络 Span 1. 零插码:且无需向 HTTP 头注入 TraceID 或 SpanID 2. 全链路:4 个调用、38 个 Span,分为 24 eBPF Span + 14 cBPF Span 3. 多语言:Java、Python、Ruby、Node.js 及 C/C++ (curl/envoy) 4. 全栈:追踪两个微服务之间的网络路径,从 Pod 到 Node 到 KVM,IPIP/VXLAN,并关联网络 Metrics 5. 全栈:追踪微服务内从 Envoy Ingress ➔ 服务 ➔ DNS ➔ Envoy Egress 全过程 案例:某互联网用户,使用 DeepFlow 5 分钟内定位客户端慢服务端不慢的经典扯皮问题。
10 .ExternalTracing Service Span DeepFlow Observability with Automation and Integrations Collaboration Agent Server
11 .AutoLogging 从应用到基础设施全栈 应用访问日志 网络流 文件IO 日志 日志 * TCP 包头时序图 PCAP 报文回溯
12 .ExternalProfiling Service Profile DeepFlow Observability with Automation and Integrations Collaboration Agent Server pprof Async-Profile
13 .Events All Events DeepFlow Observability with Automation and Integrations Collaboration Agent Server resouces k8s events
14 .分享大纲
15 .手工方式定位问题
16 .解剖到多信号层面
17 .关联到元数据层面
18 .多信号关联难点
19 .AutoTagging SELECT any_tag FROM any_table 标准 Tag:开销 10x 降低 自定义 Tag:零开销 WHERE any_tag GROUP BY any_tag 资源池 网络资源 容器服务 Application K8s labels Annotations * 关联自定义 Tag data tagstr 解码标准 Tag VPC ServiceName app biz/terminalType tagstr ...100+ FunctionName version cicd/deploymentId tagstr Serve CIDR Endpoint env ... Agent IP TraceId owner data data r ...20+ 云资源 NATGW Ingress SpanId stage OS ENV * MODULE_NAME data tagint ALB Workload RequestId commitId 编码标准 Tag ... ... POD ... ... AutoTagging & SmartEncoding 资源消耗对比(标准 Tag) 资源消耗 vs. #(标准 + 自定 Tag without Limit 20 10 7.5 义 Tag) 10 5 1 1 1 1.5 1 1.5 10x 0 降 100 低 50 607.5x 70 80 90 CPU MEM DISK 20 2 30 2 40 2 2 2降 2 2 2 2 DeepFlow+ClickHouse ClickHouse (LowCard) 20 30 40 50 60低 70 80 90 100 TAG 总数 ClickHouse (String) 量 DeepFlow 其他方案 随机生成一组长度为 16 字符串标签,Cardinality 为 5000,持续极限速率写入。 假设标准 TAG 固定 20 个,自定义 TAG 从 0 个增长到 80 个。
20 .高度自动化的可观测性能力 CNCF Landscape Project github.com/deepflowys/deepflow eBPF Landscape Project
21 .Thanks