MyBlog


链路追踪-CAT简介

<p>[TOC]</p> <h1>链路追踪的原理和实现</h1> <p>原理:可以参考:Dapper:谷歌的大规模分布式跟踪系统 实现: 未开源:淘宝EagleEye、微博Watchman、京东CallGraph、美团MTrace等等 开源:zipkin、cat、pinpoint 开源产品的对比: <img src="https://www.showdoc.cc/server/api/common/visitfile/sign/a9d838066e31af724de707e755fabdcc?showdoc=.jpg" alt="" /></p> <h1>产品介绍和搭建过程</h1> <p>具体参照官方文档:<a href="https://github.com/dianping/cat">https://github.com/dianping/cat</a></p> <h1>监控类型</h1> <ul> <li> <p>Transaction 适合记录跨越系统边界的程序访问行为,比如远程调用,数据库调用,也适合执行时间较长的业务逻辑监控,Transaction用来记录一段代码的执行时间和次数。 a).某些运行期单元要花费一定时间完成工作, 内部需要其他处理逻辑协助, 我们定义为 Transaction. b).Transaction可以嵌套(如http请求过程中嵌套了sql处理). c).大部分的Transaction可能会失败, 因此需要一个结果状态码. d).如果Transaction开始和结束之间没有其他消息产生, 那它就是Atomic Transaction(合并了起始标记). e)Transaction的一定要complete</p> </li> <li> <p>Event 用来记录一件事发生的次数,比如记录系统异常,它和transaction相比缺少了时间的统计,开销比transaction要小。 Heartbeat 表示程序内定期产生的统计信息, 如CPU%, MEM%, 连接池状态, 系统负载等。 Heartbeta表示程序内定期产生的统计信息, 如CPU%, MEM%, 连接池状态, 系统负载等。</p> </li> <li>Metric 用于记录业务指标、指标可能包含对一个指标记录次数、记录平均值、记录总和,业务指标最低统计粒度为1分钟。 Metric一共有三个API,分别用来记录次数、平均、总和,统一粒度为一分钟 1).logMetricForCount用于记录一个指标值出现的次数 2).logMetricForDuration用于记录一个指标出现的平均值 3).logMetricForSum用于记录一个指标出现的总和</li> </ul> <h1>使用教程</h1> <p>参照官方用户文档:<a href="http://10.81.233.141:8080/cat/r/home?domain=cat&ip=All&date=2018070411&reportType=day&op=view">http://10.81.233.141:8080/cat/r/home?domain=cat&ip=All&date=2018070411&reportType=day&op=view</a></p>

页面列表

ITEM_HTML