美团都在用的实时应用监控平台,到底有多好用?

转载自:GitHub今日热榜

今天要推荐一款已经在美团的基础架构中间件框架中深度集成的实时应用监控平台CAT。

1

CAT简介

CAT 作为服务端项目基础组件,提供了 Java, C/C++, Node.js, Python, Go 等多语言客户端,已经在美团点评的基础架构中间件框架(MVC框架,RPC框架,数据库框架,缓存框架等,消息队列,配置系统等)深度集成,为美团点评各业务线提供系统丰富的性能指标、健康状况、实时告警等。

CAT 很大的优势是它是一个实时系统,大部分系统是分钟级统计,但是从数据生成到服务端处理结束是秒级别,秒级定义是说,比如48分钟40秒,基本上看到48分钟38秒数据,整体报表的统计粒度是分钟级;第二个优势就是监控数据是全量统计,客户端预计算,链路数据是采样计算。

2

CAT优势

CAT 不仅能减少故障的发现时间、降低故障的定位成本,而且能辅助应用程序优化。它具有以下的优势特点:

  • 实时处理:信息的价值会随时间锐减,尤其是事故处理过程中

  • 全量数据:全量采集指标数据,便于深度分析故障案例

  • 高可用:故障的还原与问题定位,需要高可用监控来支撑

  • 故障容忍:故障不影响业务正常运转、对业务透明

  • 高吞吐:海量监控数据的收集,需要高吞吐能力做保证

  • 可扩展:支持分布式、跨 IDC 部署,横向扩展的监控系统

3

CAT监控模型设计

CAT 支持 Transaction、Event、Heartbeat、Metric 四种消息模型。

  • Transaction  适合记录跨越系统边界的程序访问行为,比如远程调用,数据库调用,也适合执行时间较长的业务逻辑监控,Transaction用来记录一段代码的执行时间和次数;

  • Event   用来记录一件事发生的次数,比如记录系统异常,它和transaction相比缺少了时间的统计,开销比transaction要小;

  • Heartbeat 表示程序内定期产生的统计信息, 如CPU利用率, 内存利用率, 连接池状态, 系统负载等;

  • Metric  用于记录业务指标、指标可能包含对一个指标记录次数、记录平均值、记录总和,业务指标最低统计粒度为1分钟。

消息树

CAT监控系统将每次URL、Service的请求内部执行情况都封装为一个完整的消息树、消息树可能包括Transaction、Event、Heartbeat、Metric等信息。

完整的消息树

可视化消息树

分布式消息树【一台机器调用另外一台机器】

4

CAT模块简介

功能模块:

  • cat-client: 客户端,上报监控数据

  • cat-consumer: 服务端,收集监控数据进行统计分析,构建丰富的统计报表

  • cat-alarm: 实时告警,提供报表指标的监控告警

  • cat-hadoop: 数据存储,logview 存储至 Hdfs

  • cat-home: 管理端,报表展示、配置管理等

其它模块:

  • integration:cat和一些第三方工具集成的内容(此部分一部分是由社区贡献,一部分官方贡献)

  • lib:CAT 的客户端,包括 Java、C/C++、Python、Node.js、Go

  • script:CAT 数据库脚本

5

CAT架构设计

在整个CAT从开发至今,一直秉承着简单的架构就是最好的架构原则,整个CAT主要分为三个模块,cat-client,cat-consumer,cat-home。

  • cat-client 提供给业务以及中间层埋点的底层sdk。

  • cat-consumer 用于实时分析从客户端的提供的数据。

  • cat-home 作为用户提供给用户的展示的控制端。

在实际开发和部署中,cat-consumer和cat-home是部署在一个jvm内部,每个CAT服务端都可以作为consumer也可以作为home,这样既能减少整个CAT层级结构,也可以增加整个系统稳定性。 

GitHub项目地址:

https://github.com/dianping/cat

END

推荐好文

强大,10k+点赞的 SpringBoot 后台管理系统竟然出了详细教程!

为什么MySQL不推荐使用uuid或者雪花id作为主键?

为什么建议大家使用 Linux 开发?爽(外加七个感叹号)

IntelliJ IDEA 15款 神级超级牛逼插件推荐(自用,真的超级牛逼)

炫酷,SpringBoot+Echarts实现用户访问地图可视化(附源码)

记一次由Redis分布式锁造成的重大事故,避免以后踩坑!

十分钟学会使用 Elasticsearch 优雅搭建自己的搜索系统(附源码)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值