大家好, 今天一起来学习一下在软件性能测试过程中如何使用CAT工具进行实时应用监控,对实时监控测试过程中的各个应用的性能指标。
一、CAT 简介
CAT 是基于 Java 开发的实时应用监控平台,为美团点评提供了全面的实时监控告警服务。
CAT 作为服务端项目基础组件,提供了 Java, C/C++, Node.js, Python, Go 等多语言客户端,已经在美团点评的基础架构中间件框架(MVC框架,RPC框架,数据库框架,缓存框架等,消息队列,配置系统等)深度集成,为美团点评各业务线提供系统丰富的性能指标、健康状况、实时告警等。
二、模块简介(功能模块)
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 数据库脚本
三、监控模型:
支持 Transaction、Event、Heartbeat、Metric 四种消息模型
Transaction 适合记录跨越系统边界的程序访问行为,比如远程调用,数据库调用,也适合执行时间较长的业务逻辑监控,Transaction用来记录一段代码的执行时间和次数。
Event 用来记录一件事发生的次数,比如记录系统异常,它和transaction相比缺少了时间的统计,开销比transaction要小。
Heartbeat 表示程序内定期产生的统计信息, 如CPU%, MEM%, 连接池状态, 系统负载等。
Metric 用于记录业务指标、指标可能包含对一个指标记录次数、记录平均值、记录总和,业务指标最低统计粒度为1分钟。
Trace 用于记录基本的trace信息,类似于log4j的info信息,这些信息仅用于查看一些相关信息消息树
CAT监控系统将每次URL、Service的请求内部执行情况都封装为一个完整的消息树、消息树可能包括Transaction、Event、Heartbeat、Metric和Trace信息。
1、完整的消息树
2、可视化消息树
四、系统/应用监控状态
1、接入CAT客户端后,CAT客户端每分钟发送一次自身的状态信息。
状态信息包括:服务器系统信息、JVM 内存/GC信息、线程信息、CAT监控使用信息等。详情如下图:
2、状态信息的原始数据可以查看“Transaction“中的System类型信息,如下图:
3、“Heartbeat”实时 表用来展示状态信息,可以看到当前项目下所有的部署机器(支付中心只有一台服务器),如下图:
4、监控一段代码运行情况:运行时间统计、次数、错误次数等等。如下图:
5、一次请求过程原始监控数据如下:
6、一次请求过程的原始监控信息,包括URL、METHOD的耗时、参数、返回值等,如下图:
7、Problem记录整个项目在运行过程中出现的问题,包括一些错误、访问较长的行为。Problem的类型如下:
8、Problem”实时 表介绍
9、SQL监控执行整体情况如下:
10、可以在“Problem”标签页面过滤出慢SQL,如下图:
11、测试一个方法里执行CURD的“Log View”信息如下
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!