CAT(CentralApplicationTracking)美团点评基础架构中心尤勇1自我介绍尤勇南京大学资深技术专家2010年加入美团点评基础架构组主要负责CAT统一监控监控移动长连接接入层shark全链路压测平台2大纲CAT介绍CAT设计最佳实践3CAT介绍CAT(CentralApplicationTracking)是基于Java开发的实时监控平台,主要包括移动端监控、应用侧监控等.
CAT是一个给提供实时监控告警,移动以及后端应用性能分析诊断的工具.
4CAT基础设施监控(网络,交换机)(网络流量,丢包,错包,连接数等)系统层监控(物理机,虚拟机)(cpumemorynetworkdisk等)应用层监控(url、service、sql、cache可用率、响应时间、qps等)业务监控(业务核心指标监控,支付、验券)移动端监控(返回码、城市、地区、运营商、版本、系统等多维度)前端监控监控分层zabbixfalcon等实时系统1、客户端日志不落地2、服务端实时处理3、客户端全量数据采集整个系统从客户端产生消息到服务端产生实时报表延迟在毫秒级别6CAT的Logview消息头版本号,消息ID,所属业务,IP,所在线程,根消息ID消息体7可视化Logview8分布式Logview9应用监控报表(APM)报表说明Transaction一段代码运行时间、次数Event一行代码的执行次数Problem系统可能出现的异常,包括访问较慢的程序等Business多维度业务指标报表HearbeatJVM内部一些状态信息,Memory,Thread等API一个请求调用链路统计RPCSOA系统用关于RPC调用的报表Dependency项目依赖关系视图……10Transaction报表支持项目、IP、TYPE、NAME四层统计框架层面统一接入了URL、RPC、SQL、Cache、Message等Problem报表exceptionlong-urllong-sqllong-servicelong-cachelong-callTransactionfailBusiness报表秒级监控告警,10SHeartbeat报表大纲CAT历程CAT设计最佳实践15CAT设计整体设计客户端设计服务端设计16监控系统指标对应用无影响(服务端上线、宕机等)实时性(消息尽快到达服务端)吞吐量(服务端高的吞吐量)开销低(客户端尽可能开销低)(开销2%以内)可靠性(消息100%到达服务端)服务端处理100%的到达消息17整体设计1.
0应用A应用B应用CTCP消费机消费机控制台控制台LogviewReport实时数据查询历史数据查询ConsumersConsoles18整体设计2.
019客户端设计开始HttpThread结束CallSQLCach.
.
.
.
.
.
创建消息树ThreadContext创建Call节点加入SQL节点加入Cache节点.
.
.
.
.
消息构建结束Senderthreads优先级队列SenderSenderServerServerServer20全链路压测隔离采样聚合自定义二进制协议异步线程聚合客户端重点内存开销由于埋点问题,消息足够大CPU开销构建消息足够轻量,开销减低在2%客户端没有做压缩自定义协议序列化基于netty实现消息传输21服务端重点监控建模报表建模CPU优化数据存储22建模监控领域数据模型数据报表模型23监控建模一段代码执行时间一段代码执行次数定期执行某些代码一个指标的变化值url/sql响应时间Exception出现次数分钟粒度Cpu,IO监控销售额TransactionEventHeartbeatMetric24KeyValue的方式后续扩展性较好后续配置成本很高后续计算成本很高25报表TransactionEventProblemHeartbeat……26报表建模目标模型定义访问、转换和合并模型持久化XML,JSON,Binary.
.
.
代码生成27模型遍历28模型合并29cpu优化30数据存储顺序写、随机读批量压缩提高压缩率31数据存储消息ID:ShopWeb-0a010680-375030-2消息可能的存储路径/2012/10/13/14/ShopSerivce-ShopWeb-10.
1.
6.
1/2012/10/13/14/ShopService-ShopWeb-10.
1.
6.
2375030=>2012-10-1314:00:00ShopService=>消息被记录的domain10.
1.
6.
1/2=>消息被处理的机器IP0a010680=>10.
1.
6.
128用于保证消息ID唯一性32大纲CAT介绍CAT设计最佳实践33MVP版本Demo1个月MVP3个月重点解决最急迫的一个问题34一些不和谐的声音客户端业务的挑战(可靠,性能)领导的挑战(当***时候,加一个动态开关)35数据质量数据质量sql框架、cache框架、rpc框架、web框架数据质量决定了监控质量36单机开发环境jettyserverhdfs依赖mysql依赖37最难的事情项目上线推动如何推动整个项目上线(2-3人)部门之间沟通问题后续的支持和培训38开放生态产品的scope各种需求系统开放生态39CAT历程2011-11月份启动2012-3月份MVP模型2012-6月份正式上线2012-12月份150+应用500+服务器2013-12月份400+应用1500+服务器2014-12月份800+应用3000+服务器2015-9月份1500+应用7000+服务器2016-6月份2600+应用12000+服务器2017-6月份6000+应用50000+服务器40CAT总结近5年时间,2-3个人先做小做精,再做大做全持续集成,持续发布,不断监控单机开发和调试EverythingFails关注客户,快速响应站在巨人的肩膀上41CAT总结.
2017年12月.
ApacheLicense,国内超过百家公司在使用和评估.
早期用户http://github.
com/dianping/cat.
每天200TB日志,5000应用,50000+机器.
每天60TB日志,3000应用,8000+机器QAthankyou43
易探云怎么样?易探云是国内一家云计算服务商家,致力香港服务器、国内外服务器租用及托管等互联网业务,目前主要地区为运作香港BGP、香港CN2、广东、北京、深圳等地区。目前,易探云推出深圳或北京地区的适合挂机和建站的云服务器,国内挂机宝云服务器(可选深圳或北京地区),独立ip;2核2G5M挂机云服务器仅330元/年起!点击进入:易探云官方网站地址易探云国内挂机宝云服务器推荐:1、国内入门型挂机云服务器...
近日CloudCone商家对旗下的大硬盘VPS云服务器进行了少量库存补货,也是悄悄推送了一批便宜VPS云服务器产品,此前较受欢迎的特价20美元/年、1核心1G内存1Gbps带宽的VPS云服务器也有少量库存,有需要美国便宜大硬盘VPS云服务器的朋友可以关注一下。CloudCone怎么样?CloudCone服务器好不好?CloudCone值不值得购买?CloudCone是一家成立于2017年的美国服务...
LOCVPS怎么样?LOCVPS是一家成立于2011年的稳定老牌国人商家,目前提供中国香港、韩国、美国、日本、新加坡、德国、荷兰等区域VPS服务器,所有机房Ping延迟低,国内速度优秀,非常适合建站和远程办公,所有机房Ping延迟低,国内速度优秀,非常适合做站。XEN架构产品的特点是小带宽无限流量、不超售!KVM架构是目前比较流行的虚拟化技术,大带宽,生态发展比较全面!所有大家可以根据自己业务需求...
宕机为你推荐
行业关键词机械行业最热门的关键词有哪些!!!湖南商标注册湖南长沙怎么注册商标http与https的区别https://和http://区别手机区号手机电话号码开头95共15位号码是什么手机号码?godaddyGO DADDY服务器空间域名怎么样怎么点亮qq空间图标怎么点亮QQ空间的图标系统分析员考系统分析员有什么好处?宽带接入服务器宽带接入服务器的五大功能是什么?cisco防火墙思科防火墙策略extended什么意思防钓鱼如何才能防钓鱼网站
新网域名管理 photonvps 新世界机房 inmotionhosting shopex空间 国外空间 qq数据库 个人空间申请 日本bb瘦 域名转接 可外链相册 vip购优惠 免费智能解析 hdd 购买国外空间 Updog 双线机房 免费邮件服务器 美国盐湖城 中国linux 更多