【IstioCAT】监控平台对比

news/2024/7/7 13:21:42

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语句,响应时间、调用链路等);


http://www.niftyadmin.cn/n/1152337.html

相关文章

JPA 持久层框架的初学笔记

文章目录why?what?how?1. 基础部件介绍2. 数据库结构3. jpa的jar包依赖配置(Maven)4. JPA的配置5. 实体类6. DAO接口7. 测试代码完整项目why? JPA的作用类似于MyBatis,但更加的自动化,在对数据库性能要求…

jstat命令查看jvm的GC情况 (以Linux为例)

复制于 https://blog.csdn.net/lby0307/article/details/79276573 查看jvm的pid(下面的8499),执行:jps (虚拟机进程状况工具) [rootjava-ceshi ~]# jps 8499 Bootstrap 11284 Jps 语法 jsp [option] […

Android sqlite sql语句基础

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qingfeng812/article/details/50678143

Kubernetes分布式任务调度方案 - Elastic-job-lite

鉴于k8s平台支持自动伸缩(扩容、缩容),原项目进行扩容(多实例)后的定时任务调度会出现多实例重复执行任务的情况, 所以需要将定时任务调度切换到分布式方案(支持分片),建…

一些日常忽略的细节程序设置

2019独角兽企业重金招聘Python工程师标准>>> 一、前后台COOKIE设置 前台: $cookie_time SYS_TIME86400*30; if(!$r[lang]) $r[lang] zh-cn; if(!isset($cookietime)) {$get_cookietime param::get_cookie(cookietime); } $_cookietime $cookietime ?…

在使用JPA进行数据库操作时,插入中文报错

文章目录问题描述原因解决办法问题描述 在学习JPA的使用时,我使用 save() 方法去更新表和插入新的记录; 当我数据中含有中文时,会报错 当我数据中没有中文时,正常使用 原因 数据库的字符编码问题, 我使用的mysql数据…

Mybatis-Redis二级缓存分布式实现

Mybatis二级缓存默认采用的org.apache.ibatis.cache.impl.PerpetualCache实现的&#xff08;基于内存中Map<Object, Object> cache&#xff09;&#xff0c;在项目进行分布式部署时&#xff0c;无法保证多实例间的分布式缓存一致性&#xff0c;故需要对该Cache实现进行修…

.NET/Mysql-petatoco连接mysql数据库

安装mysql数据库 用nugget添加.net连接mysql数据库的组件