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
妮妮云的来历妮妮云是 789 陈总 张总 三方共同投资建立的网站 本着“良心 便宜 稳定”的初衷 为小白用户避免被坑妮妮云的市场定位妮妮云主要代理市场稳定速度的云服务器产品,避免新手购买云服务器的时候众多商家不知道如何选择,妮妮云就帮你选择好了产品,无需承担购买风险,不用担心出现被跑路 被诈骗的情况。妮妮云的售后保证妮妮云退款 通过于合作商的友好协商,云服务器提供2天内全额退款,超过2天不退款 物...
搬瓦工最近上线了一个新的荷兰机房,荷兰 EUNL_9 机房,这个 9 的编号感觉也挺随性的,之前的荷兰机房编号是 EUNL_3。这次荷兰新机房 EUNL_9 采用联通 AS9929 高端路线,三网都接入了 AS9929,对于联通用户来说是个好消息,又多了一个选择。对于其他用户可能还是 CN2 GIA 机房更合适一些。其实对于联通用户,这个荷兰机房也是比较远的,相比之下日本软银 JPOS_1 机房可...
WebHorizon是一家去年成立的国外VPS主机商,印度注册,提供虚拟主机和VPS产品,其中VPS包括OpenVZ和KVM架构,有独立IP也有共享IP,数据中心包括美国、波兰、日本、新加坡等(共享IP主机可选机房更多)。目前商家对日本VPS提供一个8折优惠码,优惠后最低款OpenVZ套餐年付10.56美元起。OpenVZCPU:1core内存:256MB硬盘:5G NVMe流量:200GB/1G...
宕机为你推荐
找不到光驱找不到光驱怎么办啊yy频道中心YY频道管理中心怎么登录?邮箱打不开怎么办我的邮箱打不开怎么办flash导航条如何添加FLASH导航条1433端口如何打开1433端口奇虎论坛360有论坛中心?lockdowndios8.1能用gpp3to2吗?型号A1429iphone6上市时间苹果6什么时候出?多少钱blogcn南京明城墙(太平门一带某些地区)的城砖上为什么会有一些小洞(每块砖两个洞洞……)?王炳坤为什么幕思床垫那么贵啊???
台湾服务器租用 老域名全部失效请记好新域名 greengeeks linkcloud paypal认证 好看的留言 国内加速器 北京主机 日本bb瘦 最好的免费空间 广州服务器 厦门电信 海外空间 阿里云邮箱登陆 腾讯网盘 七牛云存储 zcloud sonya winserver2008r2 zencart安装 更多