字节跳动超大规模 Metrics 数据采集的实践和探索

如果无法正常显示,请先停止浏览器的去广告插件。
分享至:
1. 字节跳动超大规模 Metrics 数据采集的 实践和探索 字节跳动-基础架构-研发工程师 / 刘浩杨
2.
3. 关于我 • 就职于字节跳动 DevInfra 可观测性团队 • APM 接入侧方向负责人 • 有6年+的开源社区运营经验 • Apache SkyWalking PMC 成员
4. 目录  字节可观测性平台概览  海量 Metric 数据采集的挑战  海量 Metric 数据采集优化实践  未来展望
5. 字节可观测性平台构建思路 三位: • Metrics • Tracing • Logging 一体: • 一个平台 • 一套存储
6. 字节可观测性平台构建思路 • 上下文串联 • 过滤、聚合
7. 字节可观测性平台整体架构
8. 目录  字节可观测性平台概览  海量 Metric 数据采集的挑战  海量 Metric 数据采集优化实践  未来展望
9. 字节 Metrics 平台技术挑战 • Agent 部署实例百万级 • Agent 接收1000亿+ dp/s • Metric 写入50亿+ dp/s • 查询QPS 100K+
10. 字节 Metrics 平台业务挑战 • 服务集群数十万+ 微服务实例数千万级 • 后端主流研发语言4 RPC框架 10+ 服务发布日均数万次 • 核心业务QPS 千万级 P99延迟10ms 链路深度>50
11. 字节时序数据库ByteTSD
12. ByteTSD 使用方式 • 数据类型: Counter/Meter/Gauge/Histogram/Su mmary • 写入:SDK (Go/Java/C++/Python) • 查询:实现OpenTSDB查询语法,可通 过Grafana、Bosun、OpenAPI接入
13. ByteTSD 接入方式 • 轻SDK:OpenTSDB Protocol • 打点精度:Agent 30s 聚合 • 上报方式:Push
14. 引入问题:支持场景受限 • 自定义配置:如秒级打点 • 主动采集:业务需自研 Agent
15. 引入问题:SDK 序列化瓶颈 • 某吞吐量为200w/s Flink ETL 任务做埋点统计,Metric SDK 打点消耗 CPU 占比 36%
16. 引入问题:Agent 资源成本 • 装机量百万数量级 • 每台宿主机需要 2C4G 资源
17. 目录  字节可观测性平台概览  海量 Metric 数据采集的挑战  海量 Metric 数据采集优化实践  未来展望
18. 全局优化: Metric多值 • 存储成本(Tags复用) • 多Field查询加速 • 多Field复杂计算
19. 全局优化:私有Codec • 流式编码和读取 • 高压缩率
20. 全局优化:SDK聚合 • 减少序列化 • 自定义打点精度 • 降低 Agent 负载
21. Agent 聚合优化 • 租户数据隔离 • Pool-Alloc for string • SIMD 加速 • zlib vs zstd vs snappy • Offload to DPU
22. SDK优化:分层设计
23. SDK优化:无锁 KDTree • 并发读写 • 基于 string 内存对比 • Sharding Collector • 倾斜时退化为 HashMap
24. SDK优化:多段Metric索引 • 复用 Tags • 减少索引次数
25. SDK优化:Structured API • 增量 API • Type Safed • Tags 预处理 • 性能提升
26. SDK优化:series query debug
27. 优化收益:数据服务 • 某吞吐量为200w/s Flink ETL 任务做埋点统计,Metric SDK 打点消耗 CPU 占比从 36% 降 低到 7.14%
28. 优化收益:在线服务
29. 优化收益:整体评估 8000000 * 3% = 240000 Cores
30. 目录  字节可观测性平台概览  海量 Metric 数据采集的挑战  海量 Metric 数据采集优化实践  未来展望
31. OneAgent & DataPipeline • M.T.L 数据 • 数据上报 + 主动采集 • 插件化 Pipeline • 流式计算
32. 开源 Agent 对比
33. 开源共建 已提交 • Merge PR 30+ • Metric/Trace 原生数据模型 • Metric 写入到 influxdb 支持 • 插件可分离在独立代码仓库 计划中 • 运维控制面协议 • 自监控、租户数据隔离 • DAG based Pipeline • SQL 引擎 • …
34. 加入我们团队 联系我
35.

Accueil - Wiki
Copyright © 2011-2024 iteam. Current version is 2.137.1. UTC+08:00, 2024-11-14 11:43
浙ICP备14020137号-1 $Carte des visiteurs$