【Istio&CAT】监控平台对比

CAT(Central Application Tracking)简介:
(1)大众点评开源监控项目(支持多语言Java、C、C++、Python、Go、Node.js)
(2)实时全量监控数据采集(方法级别(参数、返回值、SQL、时间、次数)、异常监控报警、JVM指标、系统指标、日志收集、服务追踪)
(3)需单独搭建CAT服务端集群(可进行logView磁盘持久化、HDFS持久化)
(4)客户端集成侵入代码,改动较大(依赖Jar包,修改配置,可结合AOP、Filter、MybatisPlugin、Log4jCatAppender)

对比Istio:
(1)Istio监控可以做到基于HttpRequest层面的监控(时间、次数等,不侵入代码所以做不到方法级监控)、主机层面的监控(内存、CPU等)
(2)Isito支持接入Promethues+Grafana监控,支持报警配置机制(较复杂,需运维配合深入研究)
(4)日志接入可考虑集成ELK
(3)支持服务追踪Jaeger(需要改动代码,CAT也需要改动代码)

总结:
Istio可以支持CAT大部分监控功能(除方法级别监控)、服务追踪、报警提醒等,
同时对比CAT,Istio依赖于K8s平台、Sidecar模式,除了服务追踪功能,几乎不侵入代码,
而CAT服务端需要单独部署,且CAT客户端集成改动非常大,故建议采用Istio相关监控功能。

扩展:
若能接收CAT客户端集成改动量,CAT可以做到更细粒度的监控级别(结合AOP等拦截技术可尽量减少代码改动量),
可以对Controller、Service、Sql、RomoteService进行拦截,做到Controller->Servcie(RemoteService)->Sql的全量监控(类名、方法名、参数、返回值、Sql语句,响应时间、调用链路等);

你可能感兴趣的:(【Istio&CAT】监控平台对比)