cro metrics监控系的点评。首先要强调的是这里我们只能拿到 GitHub 上开源版 CAT 的最新版 3.0.0 ,所以是基于此进行对比。接下来说说 CAT 做了哪些事情?
抽象出 Transaction、Event、Heartbeat、Metric 4 种监控模型。
Transaction:用来记录一段代码的执行时间和次数。
Event:用来记录一件事发生的次数。
Heartbeat:表示程序内定期产生的统计信息, 如CPU利用率。
Metric:用于记录业务指标,可以记录次数和总和。
针对 Transaction 和 Event 都固定了两个维度, type 和 name ,并且针对 type 和 name 进行分钟级聚合成报表并展示曲线。
针对上述 Transaction、Event 的 type 和 name 分别有对应的分钟级的采样链路。
目前支持 Counter 和 Timer 类型的打点,支持 tag ,单机内单个 Metric 的 tag 组合数限制 1000 。并且有简单的监控看板,如下图所示:
比如和 Mybatis 集成,在客户端开启相关的 sql 执行统计,并将该统计划分到 Transaction 统计看板中的 type=SQL 的一栏下。
可以针对上述的 Transaction、Event 等做一些简单的阈值告警。
饿了么 EMonitor 借鉴了 CAT 的相关思想,同时又进行了改进。
针对 Transaction 和 Event 都固定了两个维度, type 和 name ,不同地方在于聚合用户发过来的数据。
对 Transaction、Event 等消息模型按照 type 和 name 进行当前小时的聚合,历史小时的聚合数据写入到 mysql 中;
将链路数据写入到本地文件或者远程 HDFS 上。
Real-Time Streaming Compute:对用户发过来的链路中的 Transaction 、Event 等监控模型转变成指标数据并进行 10s 的预聚合,同时也对用户发过来的 Metric 数据进行 10s 预聚合。最后将 10s 预聚合的数据写入到 LinDB 时序数据库(已开源,有兴趣的可以关注 star 下)中,以及 kafka 中,让告警模块 watchdog 去消费 kafka 做实时告警;
Real-Time Data Writer:对用户发过来的链路数据构建链路索引、向 HDFS 和 HBase 写入索引和链路数据,同时会构建应用之间的依赖关系,将依赖关系写入到 Neo4j 中。
所以 EMonitor 和 CAT 的一个很大不同点就在于对指标的处理上, EMonitor 交给专业的时序数据库来做,而 CAT 自己做聚合就显得功能非常受限,如下所示:
CAT 只能整小时的查看 type 和 name 数据,不能跨小时,即不能查看任意两个时间之间的报表数据, EMonitor 没有此限制;
CAT 没法查看所有 type 汇总后的响应时间和 QPS , EMonitor 可以灵活的自由组合 type 和 name 进行聚合;
CAT 的 type 和 name 报表是分钟级的, EMonitor 是 10s 级别的;
CAT 的 type 和 name 没能和历史报表曲线直接对比, EMonitor 可以对比历史报表曲线,更容易发现问题;
CAT 的 type 和 name 列表首页展示了一堆数字,无法立即获取一些直观信息,比如给出了响应时间 TP99 100ms 这个到底是好还是坏, EMonitor 有当前曲线和历史曲线,相对来说可以直接判断到底 ok 不 ok ;
CAT的TP99、TP999基于单机内某个小时内的报表是准确的,除此之外多机或者多个小时的聚合TP99、TP999是用加权平均来计算的,准确性有待提高。
但是CAT也有自己的优势:
CAT 含有 TP999、TP9999 线(但是准确性还有些问题), EMonitor 只能细到 TP99 ;
CAT 的 type 和 name 可以按照机器维度进行过滤, EMonitor 没有做到这么细粒度。
目前 CAT 和 EMonitor 都可以通过 type 和 name 来过滤采样链路,不同点在于:
CAT 的采样链路是分钟级别的, EMonitor 是 10s 级别的;
针对某一个 type 和 name ,CAT 目前无法轻松找想要的链路, EMonitor 可以轻松的找到某个时刻或者说某段时间内响应时间想要的链路(目前已经申请专利)。
各种渠道不断涌现,互联网营销变得越来越重要,下面梅景松老师给大家详细的说说。
没有互联网营销经验,没有建站经验,没有互联网团队,这都不是问题!只要你想让自己的线上 订单暴涨,以上就是cro metrics监控系的点评。你想要的都有,网站建设、SEO、 SEM、页面设计服务我们都是专业的,或者你想从事互联网营销行业、学习互联网营销知识,请拨 打电话:416-878-0880;邮箱:hello@true-e.ca。