需要考虑的问题
1.log要具备显示调用方文件名和行号的能力,要不然你连谁打的这个log都不知道
2.log要具有按请求聚合的能力,不然上下文全是乱的,没法看。光给你一行报错log你能分析为啥出错?必须是这个请求的完整log才有价值。
3.在2的基础上要有按用户聚合的能力,方便查流水
4.在3的基础上要有染色能力,指定用户能log全开,实时定位问题
5.log能还原成fiddler抓包,重现现场,对于概率性问题保留现场再重要不过了。
6.log要具备单机调试功能,可以不停机编写条件开启指定log,无视日志级别。
分布式跟踪系统-产品对比
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
- Midway npm源使用社区源
- midway启动自定义:https://midwayjs.org/midway/guide.html#%E6%A1%86%E6%9E%B6%E6%89%A9%E5%B1%95
- 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
- 启动参数配置:https://midwayjs.org/midway/guide.html#%E5%90%AF%E5%8A%A8%E5%8F%82%E6%95%B0%E4%BC%A0%E9%80%92
- npm run build ; pandora start
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。