大众点评开源监控CAT概览
1. CAT介绍
CAT是一个实时和接近全量的监控系统,它侧重于对Java应用的监控,除了与点评RPC组件融合的很好之外,他将会能与Spring、MyBatis、Dubbo 等框架以及Log4j 等结合 , 它提供系统的性能指标、健康状况、监控告警等,在微服务监控领域也是非常有用的一套组件。
1.1 CAT特性
- 实时处理:信息的价值会随时间锐减,尤其是事故处理过程中。
- 全量数据:最开始的设计目标就是全量采集,全量的好处有很多。
- 故障容忍:CAT本身故障不应该影响业务正常运转,CAT挂了,应用不该受影响,只是监控能力暂时减弱。
- 高吞吐:要想还原真相,需要全方位地监控和度量,必须要有超强的处理吞吐能力。
可扩展:支持分布式、跨IDC部署,横向扩展的监控系统。
不保证可靠:允许消息丢失
2. CAT的设计
2.1 消息结构
2.1.1 CAT支持的监控消息类型包括:
Transaction 适合记录跨越系统边界的程序访问行为,比如远程调用,数据库调用,也适合执行时间较长的业务逻辑监控,Transaction用来记录一段代码的执行时间和次数。
Event 用来记录一件事发生的次数,比如记录系统异常,它和transaction相比缺少了时间的统计,开销比transaction要小。
Heartbeat 表示程序内定期产生的统计信息, 如CPU%, MEM%, 连接池状态, 系统负载等。
Metric 用于记录业务指标、指标可能包含对一个指标记录次数、记录平均值、记录总和,业务指标最低统计粒度为1分钟。Trace 用于记录基本的trace信息,类似于log4j的info信息,这些信息仅用于查看一些相关信息
2.1.2 消息树
2.2 客户端设计
2.2.1 消息发送流程
try {Cat.logEvent("Call", "FSP.CALL", Event.SUCCESS, "");yourBusinessOperation();Cat.logEvent("SQL", "template.query", Event.SUCCESS, "slect * from dual");Cat.logEvent("Cache", "redis.getKey", Event.SUCCESS, "{key:name}");
} catch (Exception e) {Cat.getProducer().logError(e);//用log4j记录系统异常,以便在Logview中看到此信息
}
2.2.2 消息栈结构
2.2.3 什么时候需要埋点
两个原则:
问题为中心
重要的业务指标
2.2.4 埋点的规范
问题类型 | Type Key | 举例 |
---|---|---|
系统类型 | System | |
定时任务 | Task | |
HTTP接口类 | URL | |
SQL类型 | SQL | |
配置类 | Config | |
连接类 | Connection | |
业务类 | BusinessService |
2.3 服务端设计
2.3.1 消息消费设计
消息分发:
2.3.2 原始消息存储设计
2.3.2.1 MessageId的格式
CAT消息的Message-ID格式btc_fos-0a010680-375030-2,CAT消息一共分为四段:
第一段是应用名btc_fos。
第二段是当前这台机器的IP的16进制格式,0a010680表示10.1.6.108。
第三段的375030,是系统当前时间除以小时得到的整点数。
第四段的2,是表示当前这个客户端在当前小时的顺序递增号。
2.3.2.2 什么时候触发持久化操作
- 正常情况下:一个周期的结束
- 异常情况:JVM停止
2.3.2.3 文件和索引
MessageTree 落入磁盘样例:
/opt/tiefan/catdata/appdatas/cat/bucket/dump/20180825/00/CTM-10.32.16.111-10.32.16.30
/opt/tiefan/catdata/appdatas/cat/bucket/dump/20180825/00/CTM-10.32.16.111-10.32.16.30.idx
2.4 部署设计
转载于:https://www.cnblogs.com/spen/p/10522532.html
大众点评开源监控CAT概览相关推荐
- 大众点评开源分布式监控平台 CAT 深度剖析
一.CAT介绍 CAT系统原型和理念来源于eBay的CAL的系统,CAT系统第一代设计者吴其敏在eBay工作长达十几年,对CAL系统有深刻的理解.CAT不仅增强了CAL系统核心模型,还添加了更丰富的报 ...
- 大众点评分布式系统监控开源框架cat源码阅读(个人笔记)
cat 数据接收 TcpSocketReceiver 该类中startServer(port)方法用于启动netty,设置消息解码器MessageDecoder和消息编码器ClientMessageE ...
- 美团监控系统mysql_美团开源监控Cat安装与使用
序--之前一直在美团内部使用cat,十分便捷,这次单位内部要使用,拿来研究一番.其实Cat在GitHub上的部署文档已经比较详细了 服务端篇 一.准备环境 tomcat mysql jdk8 美团ca ...
- Centos6.5部署大众点评CAT
CAT (Central Application Tracking) 简介: CAT 是大众点评开源的一套基于java的实时应用监控平台,主要应用于服务中间件框架(MVC 框架.RPC 框架.持久层框 ...
- 服务监控CAT的使用
文章目录 什么是CAT CAT报表介绍 下载和发布服务 代码模块介绍 Linux系统搭建CAT服务 前提 springboot集成CAT客户端 API介绍 Transaction Event Metr ...
- 大众点评网回应商家围攻:因诚信问题被暂停收录
9 月 29 日消息,今日有网友在微博爆料称大众点评网与商家签订不平等合约,并实施竞价排名,因此上海总部遭到 200 家商户的集体围攻.对此,大众点评网对 TechWeb 发来声明,称美容美发机构京世 ...
- 大众点评CAT开源监控系统剖析
参考文档: 大众点评的实时监控系统分析(一) CAT_source_analyze 透过CAT,来看分布式实时监控系统的设计与实现 深度剖析开源分布式监控CAT [分布式监控CAT] Client端源 ...
- 看大众点评如何通过实时监控系统CAT打造7*24服务
为什么80%的码农都做不了架构师?>>> 看大众点评如何通过实时监控系统CAT打造7*24服务 2015-06-08 尤勇 高可用架构 https://github.com ...
- 大众点评Java开发实时应用监控平台-CAT
转载自 [推荐]大众点评Java开发实时应用监控平台-CAT CAT介绍 CAT是基于Java开发的实时应用监控平台,包括实时应用监控,业务监控. CAT作为大众点评网基础监控组件,它已经在中间件框架 ...
最新文章
- 推荐系统resys小组线下活动见闻2009-08-22
- 开源微服务运行时 Dapr 发布 1.0 版本
- phpStudy中Xdebug设置 phpStorm设置
- Flow monitoring in Software-Defined Networks
- Spring Data JPA 从入门到精通~查询结果的处理
- WCF BasicHttpBinding 安全解析(1)BasicHttpBinding基本配置
- R语言的高质量图形渲染库Cairo
- 前端数据/文件提交的三种方式
- 短视频标题自动生成工具,助你打造爆款标题
- 使用Python Chord包画出好看的弦图
- 自定义wordpress登陆界面全屏渐变图片轮播
- 查看连打印机的计算机名,查看局域网打印机ip地址的方法步骤
- 美团构建实时数仓的痛点是什么?如何解决?
- 导出计算机配置信息吗,4种方式:查看电脑配置信息,没有必要用第三方软件。...
- 米家接入HomeKit系列二:通过群辉NAS的Docker搭建HomeAssistant
- 使用安卓手机控制树莓派
- 【python量化交易学习】pandas获取mysql数据,使用pyecharts画K线图,ma移动均线。
- QComboBox样式设置——Qt
- C语言编辑网络安全,C语言编的unix病毒
- Keil5可以打开Keil4