【日志】日志/链路追踪系统调研

需要考虑的问题

1.log要具备显示调用方文件名和行号的能力,要不然你连谁打的这个log都不知道
2.log要具有按请求聚合的能力,不然上下文全是乱的,没法看。光给你一行报错log你能分析为啥出错?必须是这个请求的完整log才有价值。
3.在2的基础上要有按用户聚合的能力,方便查流水
4.在3的基础上要有染色能力,指定用户能log全开,实时定位问题
5.log能还原成fiddler抓包,重现现场,对于概率性问题保留现场再重要不过了。
6.log要具备单机调试功能,可以不停机编写条件开启指定log,无视日志级别。

分布式跟踪系统-产品对比

https://github.com/1046102779/opentracing/blob/master/%E5%88%86%E5%B8%83%E5%BC%8F%E8%B7%9F%E8%B8%AA%E7%B3%BB%E7%BB%9F%E2%80%94%E2%80%94%E4%BA%A7%E5%93%81%E5%AF%B9%E6%AF%94.md

Jaeger

https://pjw.io/articles/2018/...
https://www.alibabacloud.com/...

How to use

https://github.com/jaegertrac...

Document

https://www.jaegertracing.io/...
阿里云jaeger:基于 Jeager 开发的分布式追踪系统,支持将采集到的追踪数据持久化到日志服务中,并通过 Jaeger 的原生接口进行查询和展示

https://github.com/aliyun/ali...
基于opentracing + jaeger 实现全链路追踪

https://www.jianshu.com/p/fbe...
opentracing + jaeger node实践: [https://www.bookstack.cn/read...]

Pandora

Why 1.x.x

https://github.com/midwayjs/p...
由于原定的配套sandbox在社区部署非常困难,导致pandora这个东西无法快速部署,展现报表等,后续应该也很难在社区使用,建议使用其他同类产品替代(pm2 等),我们也会在其他地方标注。
如上所说,现在 2.0 版本主要在集团内使用。现在文档是针对 Pandora.js 1.0 的,可以尝试安装 pandora@1.x.x

How to use

npm install pandora@1.x.x -g

Documents

https://midwayjs.org/pandora/zh-cn/guide/introduce.html#%E8%AE%BE%E8%AE%A1%E5%8E%9F%E5%88%99

Tips

  1. Midway npm源使用社区源
  2. midway启动自定义:https://midwayjs.org/midway/guide.html#%E6%A1%86%E6%9E%B6%E6%89%A9%E5%B1%95
  3. pandora启动配置:https://midwayjs.org/midway/guide.html#%E9%80%9A%E8%BF%87%E5%86%85%E7%BD%AE%E7%9A%84%E5%90%AF%E5%8A%A8%E6%96%87%E4%BB%B6
  4. 启动参数配置:https://midwayjs.org/midway/guide.html#%E5%90%AF%E5%8A%A8%E5%8F%82%E6%95%B0%E4%BC%A0%E9%80%92
  5. npm run build ; pandora start

TSW

https://github.com/Tencent/TSW

你可能感兴趣的