背景
发现线上BUG,解决步骤:
登陆线上服务器,查看线上服务器日志(服务器是集群,可能要一台一台登陆)
数以万计的日志中慢慢查找错误信息
错误现场无法恢复,如多线程、网络问题无法调试
上面解决线上BUG的步骤,是现在大多数公司的现状,一天要是出现几个BUG,我们开发人员基本就不用干别的什么事了,针对上面每个步骤是不是有更好的办法呢?
答案是有,下面让我们探究一下一个好的日志收集系统应该是什么样子
1.日志收集系统
1.1日志系统目的:
- 调试,记录业务信息
- 快速定位问题
- 高效率运维
1.2日志分类:
- 系统日志
- 程序日志
- 业务日志
- 打点日志
- 安全日志
1.3日志系统的几个方面:
- 收集
- 存储
- 计算
- 可视化
- 监控
2.好的日志收集系统
解决问题:
组成:
2.1记录日志原则:
- 少,少而精,记录需要的信息
- 准,记录的信息要准确无误
- 狠,根据记录的信息能够快速准确无误定位问题
2.2日志收集原则:
- 可灵活配置日志来源,输出目的地
- 可过滤日志
- 收集日志可靠、性能高(有时需要两者之间取舍)
2.3日志存储原则:
- 存储可靠(保证不丢失日志)
- 压缩存储
- 存储方便上次使用
2.4可视化原则:
- 多维度展示
- 方便用户使用
2.5监控原则:
- 及时发现问题
- 及时通知到问题负责人