数据监控方案
2024-05-08 11:19:43 0 举报
数据监控方案
作者其他创作
大纲/内容
客户端收集数据使用 ThreadLocal因为在业务处理时,都是在一个线程中调用后端服务、数据库、缓存等,在操作处理完毕之后,再回来进行业务逻辑封装,存在 ThreadLocal 中很合适
业务可视化
3.数据落库
CAT强大之处
1.自研二进制序列化协议2.全新文件存储引擎
2.拉取数据消费
前端展示
数据分析
时序数据库
Netty
CAT新特性
透明化
GitHub文档说明:https://github.com/dianping/cat/wiki/transaction
数据监控-Client
CAT 中实现是将数据通过 Netty 传输在服务端 Netty 接收到数据之后,放入内存队列中之后通过一个线程来取队列中的数据,并且分发给多个线程进行数据分析
传递监控 id 给应用 B
数据监控-Server(数据分析)
磁盘
CAT数据存储
替代
应用 A
MySQL
流程5
流程3
通过开发数据监控 Client,采集监控数据,将监控数据异步发送 MQ,数据监控 Server 通过去 MQ 拉取,进行处理、落库、前端返回一些操作下边监控流程图主要参考美团 CAT 分布式监控系统:https://tech.meituan.com/2018/11/01/cat-in-depth-java-application-monitoring.htmlCAT 监控系统更多细节:https://www.cnblogs.com/zgq123456/articles/17276038.html
1.推送监控数据
GZIP压缩
MQ
监控 API 如何进行设计呢?我们并不是每次监控数据都需要将提交业务一些业务指标,监控所针对的场景有以下几种:1.一段代码执行耗时2.一段代码执行次数3.定期执行某段代码(定期上报CPU、内存资源占用情况)4.关键业务监控指标(交易额)
流程4
流程1
应用 B
数据收集
public void shopService() { service1(); service2(); Transaction transaction = Cat.newTransaction(\"ShopService\
4.生成报表对前端进行展示
在应用 A 调用时,生成监控 id(唯一,落库幂等)
流程2
0 条评论
下一页