README.md 5.2 KB
Newer Older
1 2 3 4
**CAT**
 [![Build Status](https://travis-ci.org/dianping/cat.png?branch=master)](https://travis-ci.org/dianping/cat)
 [![GitHub stars](https://img.shields.io/github/stars/dianping/cat.svg?style=social&label=Star&)](https://github.com/dianping/cat/stargazers)
 [![GitHub forks](https://img.shields.io/github/forks/dianping/cat.svg?style=social&label=Fork&)](https://github.com/dianping/cat/fork)
L
leon.li 已提交
5

W
wangyapu 已提交
6
### CAT 简介 
Y
yong.you 已提交
7

W
wangyapu 已提交
8 9 10
- CAT 是基于 Java 开发的实时应用监控平台,为美团点评提供了全面的实时监控告警服务。
- CAT 作为服务端项目基础组件,提供了Java, C/C++, Node.js, Python, Go等多语言客户端,已经在美团点评的基础架构中间件框架(MVC框架,RPC框架,数据库框架,缓存框架等,消息队列,配置系统等)深度集成,为美团点评各业务线提供系统丰富的性能指标、健康状况、实时告警等。
- CAT 很大的优势是它是一个实时系统,CAT大部分系统是分钟级统计,但是从数据生成到服务端处理结束是秒级别,秒级定义是48分钟40秒,基本上看到48分钟38秒数据,整体报表的统计粒度是分钟级;第二个优势,监控数据是全量统计,客户端预计算;链路数据是采样计算。
L
leon.li 已提交
11

W
wangyapu 已提交
12
### Cat 产品价值
L
leon.li 已提交
13

W
wangyapu 已提交
14 15 16
- 减少故障发现时间
- 降低故障定位成本
- 辅助应用程序优化
L
leon.li 已提交
17

W
wangyapu 已提交
18
### Cat 优势
L
leon.li 已提交
19

W
wangyapu 已提交
20 21 22 23 24 25
- 实时处理:信息的价值会随时间锐减,尤其是事故处理过程中
- 全量数据:全量采集指标数据,便于深度分析故障案例
- 高可用:故障的还原与问题定位,需要高可用监控来支撑
- 故障容忍:故障不影响业务正常运转、对业务透明
- 高吞吐:海量监控数据的收集,需要高吞吐能力做保证
- 可扩展:支持分布式、跨 IDC 部署,横向扩展的监控系统
L
leon.li 已提交
26

W
wangyapu 已提交
27 28 29 30 31 32 33 34
### 更新日志

- [**最新版本特性一览**](https://github.com/dianping/cat/blob/master/cat-doc/posts/new.md)
    - 多语言客户端:Java、C/C++、Node.js、Python、Go
    - 消息采样聚合
    - 序列化协议升级
    - 全新文件存储引擎

W
wangyapu 已提交
35
### CAT 支持的监控消息类型:
L
leon.li 已提交
36

W
wangyapu 已提交
37
+  **Transaction**	  用来记录一段代码的执行时间和次数,也适合记录跨越系统边界的程序访问行为,比如远程调用,数据库调用。
Y
yong.you 已提交
38
+  **Event**	   用来记录一件事发生的次数,比如记录系统异常,它和transaction相比缺少了时间的统计,开销比transaction要小。
L
Li Donghua 已提交
39
+  **Heartbeat**	表示程序内定期产生的统计信息, 如CPU%, MEM%, 连接池状态, 系统负载等。
Y
yong.you 已提交
40 41
+  **Metric**	  用于记录业务指标、指标可能包含对一个指标记录次数、记录平均值、记录总和,业务指标最低统计粒度为1分钟。

W
wangyapu 已提交
42 43 44 45 46 47 48 49
### 模块简介

#### 功能模块

- cat-client: 客户端,上报监控数据
    >  根目录下 cat-client 模块以后不再维护,目前仅做服务端的依赖模块。下个大版本更新计划移除。新版Java客户端参考:lib/java    
- cat-consumer: 服务端,收集监控数据进行统计分析,构建丰富的统计报表
- cat-alarm: 实时告警,提供报表指标的监控告警
W
wangyapu 已提交
50
- cat-hadoop: 数据存储,logview 存储至 Hdfs
W
wangyapu 已提交
51
- cat-home: 管理端,报表展示、配置管理等
A
ainilife 已提交
52

W
wangyapu 已提交
53
`说明:管理端、服务端、告警服务均使用 cat-home 模块部署即可`
L
leon.li 已提交
54

W
wangyapu 已提交
55
#### 其他模块
L
leon.li 已提交
56

W
wangyapu 已提交
57 58 59 60
- cat-doc:服务端报表使用文档
- integration:cat和一些第三方工具集成的内容(此部分一部分是由社区贡献,一部分官方贡献)
- lib:CAT 的客户端,包括Java、C/C++、Python、Node.js、Go
- script:CAT 数据库脚本
L
leon.li 已提交
61

W
wangyapu 已提交
62 63
### Quick Start

W
wangyapu 已提交
64 65 66 67 68 69
#### CAT 服务端

- [服务端集群部署](https://github.com/dianping/cat/blob/master/cat-doc/posts/ch4-server/README.md)
- [服务端报表介绍](https://github.com/dianping/cat/blob/master/cat-doc/posts/ch1-report/README.md)
- [服务端配置手册](https://github.com/dianping/cat/blob/master/cat-doc/posts/ch2-config/README.md)

W
wangyapu 已提交
70
#### Cat客户端集成
L
leon.li 已提交
71

W
wangyapu 已提交
72 73 74 75 76 77 78 79
Cat目前支持::Java、C、Python、node、Go等语言的接入。详情请参考:[传送门](https://github.com/dianping/cat/tree/master/lib)

* [**Java**](https://github.com/dianping/cat/blob/master/lib/java)
* [**C**](https://github.com/dianping/cat/blob/master/lib/c)
* [**C++**](https://github.com/dianping/cat/blob/master/lib/cpp)
* [**Python**](https://github.com/dianping/cat/blob/master/lib/python)
* [**Go**](https://github.com/dianping/cat/blob/master/lib/go)
* [**Node.js**](https://github.com/dianping/cat/blob/master/lib/node.js)
L
leon.li 已提交
80

W
wangyapu 已提交
81
### 项目设计
L
leon.li 已提交
82

W
wangyapu 已提交
83 84 85
- [项目架构](https://github.com/dianping/cat/blob/master/cat-doc/posts/ch5-design/overall.md)
- [客户端设计](https://github.com/dianping/cat/blob/master/cat-doc/posts/ch5-design/client.md)
- [服务端设计](https://github.com/dianping/cat/blob/master/cat-doc/posts/ch5-design/server.md)
L
leon.li 已提交
86

W
wangyapu 已提交
87 88 89
### Copyright and License

[Apache 2.0 License.](/LICENSE)
W
wangyapu 已提交
90 91

### CAT 接入公司
L
leon.li 已提交
92

W
wangyapu 已提交
93
![Alt text](cat-home/src/main/webapp/images/logo/companys.png)
L
leon.li 已提交
94

Y
youyong205 已提交
95
更多接入公司,欢迎在<https://github.com/dianping/cat/issues/753>登记
W
wangyapu 已提交
96

W
wangyapu 已提交
97 98
### 联系我们

W
wangyapu 已提交
99 100 101
我们需要知道你对Cat的一些看法以及建议:

- Mail: cat@dianping.com,
W
wangyapu 已提交
102
- [**Issues**](https://github.com/dianping/cat/issues)