《企业级云原生白皮书项目实战》——第四章 云原生中间件——4.4 日志服务SLS——4.4.4 最佳实践(上) https://developer.aliyun.com/article/1228989?groupCode=supportservice
4.4.4.3 分析程序日志
程序日志内容全、存在一定共性,它是运维程序的重要信息,但程序日志具有如下不便于存储与分析的特性:格式随意,不同开发者的代码风格不同,对应的日志风格也不同,难以统一;数据量大,程序日志一般比访问日志大1个数量级;分布的服务器多,大部分应用为无状态模式,运行在不同框架中,例如云服务器、容器服务等,对应的实例数从几个到数千个,需要有一种跨服务器的日志采集方案;运行环境复杂,程序运行在不同的环境中,产生的日志也保存在不同的环境中,例如应用相关的日志在容器中、API相关日志在FunctionCompute中、旧系统日志在本地IDC中、移动端相关日志在用户处、网页端日志在浏览器中等。日志服务可以关联分析包括进程内关联与跨进程关联日志:
1.进程内关联:通过上下文查询查看关联日志。例如通过关键词查询定位到一个异常日志,然后单击上下文浏览,查看该日志前后N条日志
2.跨进程关联:用户可以在各模块日志中输出Request_id、OrderId等可以关联的标示字段,通过在不同的日志库中查找,获取所有相关日志。
图: 进程内关联与跨进程关联
图: 根据Request id过滤跨进程日志
4.4.4.4 搭建监控系统¥
对于监控系统的搭建用户可以使用日志服务自带的数据可视化功能来构建监控告警大屏幕。当日志服务自带的数据可视化功不能满足用户业务上特殊的需要的时候,可以使用Storm消费到日志服务中的数据,然后通过读取保存在OTS中的监控数据,最后根据业务实际需求在前端展示。同时日志服务也支持将数据投递到Grafana中,用户也可以基于Grafana来实现自己的业务监控告警体系。
图: 基于日志服务搭建监控系统