应⽤可观测性技术建设

如果无法正常显示,请先停止浏览器的去广告插件。
分享至:
1. 应用可观测性技术建设 美团 基础软件研发中心/监控系统组 颜成吉 1
2. 1. 可观测性体系介绍 2. 可观测性体系建设 目录 3. 可观测性方向探索 4. 总结与展望 2
3. 可观测性与监控的关系? • Baron SchSchwarz 大咖的一个定义: 监控告诉我们系统的哪些部分是工作的,可观测性告诉我们那里为什么不工作了。 • 可观测性是监控的超集 • 监控侧重宏观,可观测包括微观能力 • 可观测性三大支柱: • Metrics、Logging、Tracing 3
4. 可观测体系—三大支柱 4
5. 可观测体系—领域分层 可观测体系分层 系统层监控 大前端监控 应用层监控 业务集群 应用层 业务集群 用户端 IDC 接又请求量 页面加载耗时 前端异常 接口层 MGW Nginx 静态资源 业务监控 订单量、成交额、大盘 应用监控 服务性能、异常分析 链路监控 拓扑依赖、分布式链路 PaaS监控 端到端分析 CDN APP 浏览器 小程序 域名解析 动态容器 DNS 公 网 出 口 四 层 负 载 七 层 负 载 系统层 网络 端到端网络质量 CDN可用性、DNS劫持 服务器层 网络设备监控 Nginx监控 网络层 资源利用率 机器宕机 硬件故障 网络设备宕机 资源使用量 5
6. 1. 可观测性体系介绍 2. 可观测性体系建设 目录 3. 可观测性方向探索 4. 总结与展望 6
7. 可观测性体系建设—Raptor监控平台 用户:全栈(SRE、RD、PM、QA等) 大前端监控 应用层监控 系统层监控 移动端 业务监控 浏览器 应用监控 容器/物理机/虚拟机 领域:大前端、应用层、系统层 小程序 链路监控 动态化容器 PaaS监控 大 盘 告 警 基础设施(网络设备…) 7
8. 可观测性体系建设—Raptor顶层设计 设计原则: ✓ 一体化解决方案,领域建模 ✓ 分层设计 • 低耦合,引擎可替换 • 采集、接入、处理,严格分层 ✓ 高并发 • 横向:可扩展、去热点、分布式 • 纵向:异步化、无锁化 ✓ 高可用 • 服务无状态化 • 服务保护、故障演练 ✓ 高性能 • 批量、压缩、编码、预加载 8
9. 可观测性体系建设—Raptor产品介绍 1. 系统监控 2. 链路监控 Raptor 3. 应用监控 4. 大盘和告警 9
10. 系统监控 10
11. 系统监控—架构设计 • 采集层 • 接入层 • 分析层 • 存储层 • 应用层 …. 11
12. 系统监控—存储设计 • 倒排索引 一致性哈希,内存多副本,KV持久化 • 近实时缓存 编码,多副本,1.5H窗又 • 持久化存储 编码,Rowkey打散,降采样 …. 12
13. 链路监控 • 请求链路 • 链路拓扑 • 远程调试 …. 13
14. 链路监控—架构设计 • 显式埋点 • 动态配置 • 链路处理 • 拓扑处理 …. 14
15. 链路监控—链路存储 • HBase存储原始数据 • ES存储索引数据 …. 15
16. 链路监控—拓扑计算 • 应用拓扑 • 方法拓扑 …. 16
17. 应用监控—指标部分 • 服务指标 • 异常分析 • 堆栈分析 • 业务指标 17
18. 应用监控—链路部分 • 事务链路 • 集群链路 18
19. 应用监控—架构设计 • 采集层:采样聚合 • 接入层:多集群,路由一致性Has • 分析层:清洗,规整,预聚合 • 存储层:缓存,降采样,编码压缩 19
20. 应用监控—客户端设计 20
21. 应用监控—路由设计 21
22. 监控大盘 • 运营入又 • 多领域聚合 • 图表丰富 • 关联告警 22
23. 统一告警 阈值告警 智能告警 23
24. 统一告警—架构设计 • 统一模型 • 推拉结合 ✓ 普通告警 ✓ 基线告警 ✓ 聚合告警 ✓ 智能告警 • 告警订阅 24
25. 1. 可观测性体系介绍 2. 可观测性体系建设 目录 3. 可观测性方向探索 4. 总结与展望 25
26. 可观测性方向探索 拥抱云原生 打破信息孤岛 挖掘信息价值
27. 拥抱云原生—PrometheusService 架构升级 27
28. 拥抱云原生—PrometheusService 28
29. 拥抱云原生—Tracing多语言SDK 方案适配 29
30. 打破信息孤岛—后端Metrics和Tracing打通 30
31. 打破信息孤岛—前后端链路打通 31
32. 打破信息孤岛—前后端链路打通 32
33. 挖掘数据价值—异常根因分析 • 指标关联 • 根因分析 33
34. 挖掘数据价值—异常根因分析 34
35. 1. 可观测性体系介绍 2. 可观测性体系建设 目录 3. 可观测性方向探索 4. 总结与展望 35
36. 总结—可观测案例分析 1. 收到告警,看到服务有报错 2. 打开链接,看到机器分布的指标数据,进行初步定位 4. 同时使用关联到的Trace作为补充,定位源头服务 3. 通过Examplar关联到内部链路,看到报错的源头是RPC调用 5. 通过Trace关联的日志,找到报错的根本原因 36
37. 展望—未来规划与挑战 • Metrics、Tracing、Logging持续打通 • 兼容更多主流协议,例如:PromQ • Paas、Iaas平台可观测性产品建设 • 可观测体系的云原生架构改造 • 开源建设,任重道远 • https://github.com/dianping/cat 37
38. 谢谢 38

Home - Wiki
Copyright © 2011-2024 iteam. Current version is 2.137.1. UTC+08:00, 2024-11-17 20:31
浙ICP备14020137号-1 $Map of visitor$