问题发现定位平台功能点需要全面,实现大多基于日志(收集多KAFKA,分布式存储),日志检索(多采用ES,可以检索用ES,完整数据存分布式存储)。链路分析再次基础上做采样聚合,接口级别的非采样在监控中做(时间流存储,监控报警阈值模型智能预测等),日志针对性做些细粒度的链路分析。技术涉及不多,主要是日志压缩和索引的建设。功能点成体系就好。本文重点关注这个。更多工程内容见:https://segmentfault.com/a/11...

日志规范。定则规范

全链路传递

1.nginx
nginx扩展+http header传递
2.thrift
利用thrift 0号位空缺作为header使用
3.mq sdk定义格式传递消息

问题发现:

clipboard.png
1.odin实时监控,阈值报警。(接口维度,机器维度)
2.woater实时监控,智能报警
3.srm灭火图/上线事件监控
4.安全扫描

问题定位

clipboard.png
5.故障分析平台(全链路故障点)
6.问题分析平台(搜索:ES)
kafka+ES
详细日志查询:大量debug/trace等日志。取代机器+grep:ES获取机器索引时间+日志压缩/解压缩,时间定位查询
7.性能分析(抽样)

业务评估

clipboard.png

1.机器调用关系
2.服务依赖关系(静态),次数(统计)
链路分析,延时(采样平均),调用次数(静态,动态采样)
3.模块性能分析(采样统计)
4.专项(mysql,定位到代码和人)

成本管理

clipboard.png
1.资源成本统计
2.实时资源占用监控

整体解决思路

clipboard.png

clipboard.png


梦想家
107 声望76 粉丝