背景
目前项目查看日志的方式较为朴素,人工线上查看 log 的方式也较为麻烦。一套能查看全链路日志的系统,对每位开发来说无疑是雪中送炭的。
其次,目前的业务日志中的数据是可供二次利用和开发的,而非目前仅是排查问题使用。
目标
- 打造全员可实时查看生产日志,并能提取调用链日志
- 应用到后续的业务发展中(BI)
- APM
价值
为 BI 业务(other/计算)做准备
夯实服务架构
便利开发查看日志,不仅是业务日志,Filebeat 提供了各种 module 以支持监控各种中间件的日志
初步设想架构图

改动点
- 服务
- 保持原有日志格式
- 各日志加字段
['traceId', 'localIp', 'module']- 以便有问题可以确定到某台机器上的某个服务 - 各模块
traceId通过 REST 接口传递 header(Rest 插件改造) - 由(网关生成
traceid)orange 向下传递traceId(uuid/snowflake)
- ELK(单点)
- Filebeat 和服务部署在同台机器上
- ES index 格式暂定:
${环境/(dev/prod/release)}-${区分开各业务字段(比如bi/gateway/biz)}-${日期(YYYYMM)} - Logstash 分割 message,
add-field['traceId'] - ELK 部署在另外一台机器
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 小五的个人杂货铺!