美团点评 - pic.huodongjia.com分布式实时监控平台cat 美团点评基础架构 孙佳林...
TRANSCRIPT
![Page 1: 美团点评 - pic.huodongjia.com分布式实时监控平台CAT 美团点评基础架构 孙佳林 ... •存储大盘(数据库、缓存) ... • Long Http/SQL/Service/Call/KV](https://reader033.vdocuments.site/reader033/viewer/2022052314/6072233c58cd5d6972103114/html5/thumbnails/1.jpg)
![Page 2: 美团点评 - pic.huodongjia.com分布式实时监控平台CAT 美团点评基础架构 孙佳林 ... •存储大盘(数据库、缓存) ... • Long Http/SQL/Service/Call/KV](https://reader033.vdocuments.site/reader033/viewer/2022052314/6072233c58cd5d6972103114/html5/thumbnails/2.jpg)
美团点评分布式实时监控平台CAT
美团点评基础架构 孙佳林
![Page 3: 美团点评 - pic.huodongjia.com分布式实时监控平台CAT 美团点评基础架构 孙佳林 ... •存储大盘(数据库、缓存) ... • Long Http/SQL/Service/Call/KV](https://reader033.vdocuments.site/reader033/viewer/2022052314/6072233c58cd5d6972103114/html5/thumbnails/3.jpg)
目录
CAT介绍
架构与设计
实战经验
![Page 4: 美团点评 - pic.huodongjia.com分布式实时监控平台CAT 美团点评基础架构 孙佳林 ... •存储大盘(数据库、缓存) ... • Long Http/SQL/Service/Call/KV](https://reader033.vdocuments.site/reader033/viewer/2022052314/6072233c58cd5d6972103114/html5/thumbnails/4.jpg)
CAT介绍
• CAT(Central Application Tracking)
• 基于纯Java开发的分布式实时监控系统• 分布式• 实时 (毫秒)• 近全量• 监控(性能指标、健康状况、基础告警等)
![Page 5: 美团点评 - pic.huodongjia.com分布式实时监控平台CAT 美团点评基础架构 孙佳林 ... •存储大盘(数据库、缓存) ... • Long Http/SQL/Service/Call/KV](https://reader033.vdocuments.site/reader033/viewer/2022052314/6072233c58cd5d6972103114/html5/thumbnails/5.jpg)
Why?
• 系统指标正常 ≠ 应用健康
• 故障快速发现定位(时间 == 金钱 )
• 用户侧真实访问情况
• 掌握线上的应用健康,扩容、缩容、降级 …
![Page 6: 美团点评 - pic.huodongjia.com分布式实时监控平台CAT 美团点评基础架构 孙佳林 ... •存储大盘(数据库、缓存) ... • Long Http/SQL/Service/Call/KV](https://reader033.vdocuments.site/reader033/viewer/2022052314/6072233c58cd5d6972103114/html5/thumbnails/6.jpg)
Do what?
• 故障发现
• 性能分析
• 治理
![Page 7: 美团点评 - pic.huodongjia.com分布式实时监控平台CAT 美团点评基础架构 孙佳林 ... •存储大盘(数据库、缓存) ... • Long Http/SQL/Service/Call/KV](https://reader033.vdocuments.site/reader033/viewer/2022052314/6072233c58cd5d6972103114/html5/thumbnails/7.jpg)
How - 故障发现
• 业务大盘• 报错大盘• 服务大盘• 存储大盘(数据库、缓存)
• 实时告警服务
![Page 8: 美团点评 - pic.huodongjia.com分布式实时监控平台CAT 美团点评基础架构 孙佳林 ... •存储大盘(数据库、缓存) ... • Long Http/SQL/Service/Call/KV](https://reader033.vdocuments.site/reader033/viewer/2022052314/6072233c58cd5d6972103114/html5/thumbnails/8.jpg)
业务大盘
![Page 9: 美团点评 - pic.huodongjia.com分布式实时监控平台CAT 美团点评基础架构 孙佳林 ... •存储大盘(数据库、缓存) ... • Long Http/SQL/Service/Call/KV](https://reader033.vdocuments.site/reader033/viewer/2022052314/6072233c58cd5d6972103114/html5/thumbnails/9.jpg)
报错大盘
![Page 10: 美团点评 - pic.huodongjia.com分布式实时监控平台CAT 美团点评基础架构 孙佳林 ... •存储大盘(数据库、缓存) ... • Long Http/SQL/Service/Call/KV](https://reader033.vdocuments.site/reader033/viewer/2022052314/6072233c58cd5d6972103114/html5/thumbnails/10.jpg)
服务大盘
![Page 11: 美团点评 - pic.huodongjia.com分布式实时监控平台CAT 美团点评基础架构 孙佳林 ... •存储大盘(数据库、缓存) ... • Long Http/SQL/Service/Call/KV](https://reader033.vdocuments.site/reader033/viewer/2022052314/6072233c58cd5d6972103114/html5/thumbnails/11.jpg)
数据库大盘
![Page 12: 美团点评 - pic.huodongjia.com分布式实时监控平台CAT 美团点评基础架构 孙佳林 ... •存储大盘(数据库、缓存) ... • Long Http/SQL/Service/Call/KV](https://reader033.vdocuments.site/reader033/viewer/2022052314/6072233c58cd5d6972103114/html5/thumbnails/12.jpg)
How - 性能分析
• 指标• 访问量• 响应时间
• 对象• 应用本身(业务请求量、响应时间)• 客户端(RPC服务、数据库、缓存、消息 …)• 服务端(RPC服务、数据库、缓存、消息 …)
![Page 13: 美团点评 - pic.huodongjia.com分布式实时监控平台CAT 美团点评基础架构 孙佳林 ... •存储大盘(数据库、缓存) ... • Long Http/SQL/Service/Call/KV](https://reader033.vdocuments.site/reader033/viewer/2022052314/6072233c58cd5d6972103114/html5/thumbnails/13.jpg)
一个case
• 特定业务订单成交的分钟级统计• 成交额总量• 成交数总量
• 成交平均耗时、最大耗时、TP9X …• 执行出错量• 请求落到服务器的分布情况
![Page 14: 美团点评 - pic.huodongjia.com分布式实时监控平台CAT 美团点评基础架构 孙佳林 ... •存储大盘(数据库、缓存) ... • Long Http/SQL/Service/Call/KV](https://reader033.vdocuments.site/reader033/viewer/2022052314/6072233c58cd5d6972103114/html5/thumbnails/14.jpg)
简单做法
long start = System.currentTimeMillis();
try {int money = myBusinessPayOrder();
System.out.println("myBusinessPayOrder");} catch (Exception e) {
logger.error(e);}
long timeElasped = System.currentTimeMillis() - start;
System.out.println("myBusinessPayOrder_time:"+timeElasped);
![Page 15: 美团点评 - pic.huodongjia.com分布式实时监控平台CAT 美团点评基础架构 孙佳林 ... •存储大盘(数据库、缓存) ... • Long Http/SQL/Service/Call/KV](https://reader033.vdocuments.site/reader033/viewer/2022052314/6072233c58cd5d6972103114/html5/thumbnails/15.jpg)
CAT APITransaction t = Cat.newTransaction("URL", "PayOrder");
try {int money = myBusinessPayOrder();
Cat.logMetricForCount("myBusinessPayOrder");
Cat.logMetricForCount(“PayMoney", money);
Cat.logEvent("ServerIp", localIpAddress);
t.setStatus(Transaction.SUCCESS);} catch (Exception e) {
Cat.logError(e);t.setStatus(e);
} finally {t.complete();
}
![Page 16: 美团点评 - pic.huodongjia.com分布式实时监控平台CAT 美团点评基础架构 孙佳林 ... •存储大盘(数据库、缓存) ... • Long Http/SQL/Service/Call/KV](https://reader033.vdocuments.site/reader033/viewer/2022052314/6072233c58cd5d6972103114/html5/thumbnails/16.jpg)
业务监控Metric
![Page 17: 美团点评 - pic.huodongjia.com分布式实时监控平台CAT 美团点评基础架构 孙佳林 ... •存储大盘(数据库、缓存) ... • Long Http/SQL/Service/Call/KV](https://reader033.vdocuments.site/reader033/viewer/2022052314/6072233c58cd5d6972103114/html5/thumbnails/17.jpg)
Transaction 报表
![Page 18: 美团点评 - pic.huodongjia.com分布式实时监控平台CAT 美团点评基础架构 孙佳林 ... •存储大盘(数据库、缓存) ... • Long Http/SQL/Service/Call/KV](https://reader033.vdocuments.site/reader033/viewer/2022052314/6072233c58cd5d6972103114/html5/thumbnails/18.jpg)
Transaction报表
• 支持项目、IP、TYPE、NAME 四层统计
• 数据来源:
• API打点:Cat.newTransaction(type, name)
• 框架打点:框架层面 MVC、RPC、SQL、Cache、Message …
![Page 19: 美团点评 - pic.huodongjia.com分布式实时监控平台CAT 美团点评基础架构 孙佳林 ... •存储大盘(数据库、缓存) ... • Long Http/SQL/Service/Call/KV](https://reader033.vdocuments.site/reader033/viewer/2022052314/6072233c58cd5d6972103114/html5/thumbnails/19.jpg)
Transaction报表
![Page 20: 美团点评 - pic.huodongjia.com分布式实时监控平台CAT 美团点评基础架构 孙佳林 ... •存储大盘(数据库、缓存) ... • Long Http/SQL/Service/Call/KV](https://reader033.vdocuments.site/reader033/viewer/2022052314/6072233c58cd5d6972103114/html5/thumbnails/20.jpg)
分钟级统计
访问量趋势耗时分布
平均耗时趋势 成功率趋势
![Page 21: 美团点评 - pic.huodongjia.com分布式实时监控平台CAT 美团点评基础架构 孙佳林 ... •存储大盘(数据库、缓存) ... • Long Http/SQL/Service/Call/KV](https://reader033.vdocuments.site/reader033/viewer/2022052314/6072233c58cd5d6972103114/html5/thumbnails/21.jpg)
Event报表
• 用于一些事件的统计,比如程序异常路径访问、任务执行记录等
• 统计一些QPS分布、SQL长度分布等
• 数据来源:
• API打点:Cat.newEvent(type, name)
• 框架打点:框架层面 MVC、RPC、SQL、Cache、Message …
![Page 22: 美团点评 - pic.huodongjia.com分布式实时监控平台CAT 美团点评基础架构 孙佳林 ... •存储大盘(数据库、缓存) ... • Long Http/SQL/Service/Call/KV](https://reader033.vdocuments.site/reader033/viewer/2022052314/6072233c58cd5d6972103114/html5/thumbnails/22.jpg)
Event报表
![Page 23: 美团点评 - pic.huodongjia.com分布式实时监控平台CAT 美团点评基础架构 孙佳林 ... •存储大盘(数据库、缓存) ... • Long Http/SQL/Service/Call/KV](https://reader033.vdocuments.site/reader033/viewer/2022052314/6072233c58cd5d6972103114/html5/thumbnails/23.jpg)
Problem报表
• 实时分析所有transaction\event消息
• 找出存在异常的调用链路
• Exception
• Failed Transaction
• Long Http/SQL/Service/Call/KV
![Page 24: 美团点评 - pic.huodongjia.com分布式实时监控平台CAT 美团点评基础架构 孙佳林 ... •存储大盘(数据库、缓存) ... • Long Http/SQL/Service/Call/KV](https://reader033.vdocuments.site/reader033/viewer/2022052314/6072233c58cd5d6972103114/html5/thumbnails/24.jpg)
Problem报表
![Page 25: 美团点评 - pic.huodongjia.com分布式实时监控平台CAT 美团点评基础架构 孙佳林 ... •存储大盘(数据库、缓存) ... • Long Http/SQL/Service/Call/KV](https://reader033.vdocuments.site/reader033/viewer/2022052314/6072233c58cd5d6972103114/html5/thumbnails/25.jpg)
problem logview
![Page 26: 美团点评 - pic.huodongjia.com分布式实时监控平台CAT 美团点评基础架构 孙佳林 ... •存储大盘(数据库、缓存) ... • Long Http/SQL/Service/Call/KV](https://reader033.vdocuments.site/reader033/viewer/2022052314/6072233c58cd5d6972103114/html5/thumbnails/26.jpg)
Heartbeat报表
• 系统指标
• JVM指标
• 数据库连接池
• 业务实现SPI上报 …
![Page 27: 美团点评 - pic.huodongjia.com分布式实时监控平台CAT 美团点评基础架构 孙佳林 ... •存储大盘(数据库、缓存) ... • Long Http/SQL/Service/Call/KV](https://reader033.vdocuments.site/reader033/viewer/2022052314/6072233c58cd5d6972103114/html5/thumbnails/27.jpg)
Heartbeat报表
![Page 28: 美团点评 - pic.huodongjia.com分布式实时监控平台CAT 美团点评基础架构 孙佳林 ... •存储大盘(数据库、缓存) ... • Long Http/SQL/Service/Call/KV](https://reader033.vdocuments.site/reader033/viewer/2022052314/6072233c58cd5d6972103114/html5/thumbnails/28.jpg)
远端调用logview
![Page 29: 美团点评 - pic.huodongjia.com分布式实时监控平台CAT 美团点评基础架构 孙佳林 ... •存储大盘(数据库、缓存) ... • Long Http/SQL/Service/Call/KV](https://reader033.vdocuments.site/reader033/viewer/2022052314/6072233c58cd5d6972103114/html5/thumbnails/29.jpg)
设计目标
• 可扩展 √• 高可用 √ • 实时性 √ • 全量数据 √ • 高吞吐 √ • 故障容忍 √ • 可靠性 ✘
![Page 30: 美团点评 - pic.huodongjia.com分布式实时监控平台CAT 美团点评基础架构 孙佳林 ... •存储大盘(数据库、缓存) ... • Long Http/SQL/Service/Call/KV](https://reader033.vdocuments.site/reader033/viewer/2022052314/6072233c58cd5d6972103114/html5/thumbnails/30.jpg)
监控模型
![Page 31: 美团点评 - pic.huodongjia.com分布式实时监控平台CAT 美团点评基础架构 孙佳林 ... •存储大盘(数据库、缓存) ... • Long Http/SQL/Service/Call/KV](https://reader033.vdocuments.site/reader033/viewer/2022052314/6072233c58cd5d6972103114/html5/thumbnails/31.jpg)
消息组成
![Page 32: 美团点评 - pic.huodongjia.com分布式实时监控平台CAT 美团点评基础架构 孙佳林 ... •存储大盘(数据库、缓存) ... • Long Http/SQL/Service/Call/KV](https://reader033.vdocuments.site/reader033/viewer/2022052314/6072233c58cd5d6972103114/html5/thumbnails/32.jpg)
![Page 33: 美团点评 - pic.huodongjia.com分布式实时监控平台CAT 美团点评基础架构 孙佳林 ... •存储大盘(数据库、缓存) ... • Long Http/SQL/Service/Call/KV](https://reader033.vdocuments.site/reader033/viewer/2022052314/6072233c58cd5d6972103114/html5/thumbnails/33.jpg)
![Page 34: 美团点评 - pic.huodongjia.com分布式实时监控平台CAT 美团点评基础架构 孙佳林 ... •存储大盘(数据库、缓存) ... • Long Http/SQL/Service/Call/KV](https://reader033.vdocuments.site/reader033/viewer/2022052314/6072233c58cd5d6972103114/html5/thumbnails/34.jpg)
CAT整体架构
![Page 35: 美团点评 - pic.huodongjia.com分布式实时监控平台CAT 美团点评基础架构 孙佳林 ... •存储大盘(数据库、缓存) ... • Long Http/SQL/Service/Call/KV](https://reader033.vdocuments.site/reader033/viewer/2022052314/6072233c58cd5d6972103114/html5/thumbnails/35.jpg)
客户端设计
process in a thread
创建消息树
ThreadContext
Server
…
Server
Sender
…
Sender
长连接
![Page 36: 美团点评 - pic.huodongjia.com分布式实时监控平台CAT 美团点评基础架构 孙佳林 ... •存储大盘(数据库、缓存) ... • Long Http/SQL/Service/Call/KV](https://reader033.vdocuments.site/reader033/viewer/2022052314/6072233c58cd5d6972103114/html5/thumbnails/36.jpg)
CAT消费机制
应用A
应用B
应用C
Receiver
Receiver
Receiver
消费机
异步发送
Analyzer
Analyzer
Analyzer
异步转存
统计报表
Local
![Page 37: 美团点评 - pic.huodongjia.com分布式实时监控平台CAT 美团点评基础架构 孙佳林 ... •存储大盘(数据库、缓存) ... • Long Http/SQL/Service/Call/KV](https://reader033.vdocuments.site/reader033/viewer/2022052314/6072233c58cd5d6972103114/html5/thumbnails/37.jpg)
实战
• Mysql 服务端基本没有慢查询,CAT上却有很多long-sql
• CAT统计不对?OR …
![Page 38: 美团点评 - pic.huodongjia.com分布式实时监控平台CAT 美团点评基础架构 孙佳林 ... •存储大盘(数据库、缓存) ... • Long Http/SQL/Service/Call/KV](https://reader033.vdocuments.site/reader033/viewer/2022052314/6072233c58cd5d6972103114/html5/thumbnails/38.jpg)
CAT规模
• 接入应用数: 6K+
• 接入机器: 40K+
• 消息处理量(每天): 3000亿+
• 消息存储量(每天) : 230T+
• 高峰期QPS可达 : 550万
• 可用性 99.999+
![Page 39: 美团点评 - pic.huodongjia.com分布式实时监控平台CAT 美团点评基础架构 孙佳林 ... •存储大盘(数据库、缓存) ... • Long Http/SQL/Service/Call/KV](https://reader033.vdocuments.site/reader033/viewer/2022052314/6072233c58cd5d6972103114/html5/thumbnails/39.jpg)
CAT现状
![Page 40: 美团点评 - pic.huodongjia.com分布式实时监控平台CAT 美团点评基础架构 孙佳林 ... •存储大盘(数据库、缓存) ... • Long Http/SQL/Service/Call/KV](https://reader033.vdocuments.site/reader033/viewer/2022052314/6072233c58cd5d6972103114/html5/thumbnails/40.jpg)
Thanks
![Page 41: 美团点评 - pic.huodongjia.com分布式实时监控平台CAT 美团点评基础架构 孙佳林 ... •存储大盘(数据库、缓存) ... • Long Http/SQL/Service/Call/KV](https://reader033.vdocuments.site/reader033/viewer/2022052314/6072233c58cd5d6972103114/html5/thumbnails/41.jpg)
Q&A