監控次元可以分為節點資源監控(CPU、記憶體、帶寬、磁盤)、應用探活監控(探活心跳)、應用服務能力監控(自動化回歸測試)、應用服務性能監控等(全鍊路追蹤),本文主要對比全鍊路追蹤中常使用的Zipkin、Pinpoint、SkyWalking和CAT。
一、全鍊路追蹤工具
1、Zipkin
Twitter開源的調用鍊分析工具,目前基于springcloud sleuth得到了廣泛的使用,特點是輕量,使用部署簡單。
2、Pinpoint
南韓人開源的基于位元組碼注入的調用鍊分析,以及應用監控分析工具。特點是支援多種插件,UI功能強大,接入端無代碼侵入。
3、SkyWalking
本土開源的基于位元組碼注入的調用鍊分析,以及應用監控分析工具。特點是支援多種插件,UI功能較強,接入端無代碼侵入。目前已加入Apache孵化器。
4、CAT
大衆點評開源的基于編碼和配置的調用鍊分析,應用監控分析,日志采集,監控報警等一系列的監控平台工具。
二、工具對比
對比項 | Zipkin | Pinpoint | SkyWalking | CAT |
---|---|---|---|---|
實作方式 | 攔截請求,發送(HTTP,mq)資料至zipkin服務 | java探針,位元組碼增強 | java探針,位元組碼增強 | 代碼埋點(攔截器,注解,過濾器等) |
接入方式 | 基于linkerd或者sleuth方式,引入配置即可 | javaagent位元組碼 | javaagent位元組碼 | 代碼侵入 |
agent到collector的協定 | http,MQ | thrift | gRPC | http/tcp |
OpenTracing | 支援 | 不支援 | 支援 | 不支援 |
顆粒度 | 接口級 | 方法級 | 方法級 | 代碼級 |
全局調用統計 | 不支援 | 支援 | 支援 | 支援 |
traceid查詢 | 支援 | 不支援 | 支援 | 不支援 |
報警 | 不支援 | 支援 | 支援 | 支援 |
JVM監控 | 不支援 | 不支援 | 支援 | 支援 |
UI功能 | ** | ***** | **** | ***** |
資料存儲 | ES/mysql/Cassandra/記憶體 | Hbase | ES/H2 | mysql/hdfs |
三、性能對比
相關推薦:
1、注冊中心選型對比
2、配置中心選型對比
3、網關選型對比
4、遠端調用選型對比
5、分布式資料一緻性
6、消息隊列選型對比
7、監控工具選型對比
8、全鍊路追蹤選型對比