日志归档
应用场景
- 便于查阅
当日志的量比较大,而且长时间累计下来,全部放在一起就不利于查阅,就需要分类保存。
比如按照时间。
按照不同的包信息。
- 减小量
为了保证历史的日志信息,就要全部保存,量特别大,就需要压缩。
- 分布式中
分布式系统中,一个服务有多个负载均衡的服务。
如果日志不做总的汇总,一个个服务器查,太过于麻烦,效率极低。
现在主流是 kibana。
日志框架本身
很多日志本身就是自带归档的。
日志查询的框架
日志归档的几个问题
日志归档谁来做?
机器自动去做,人负责抽样检查。
怎么做呢?
日志归档常用方法:
-
ftp 定是下载, 这种做法适合小文件且日志量不大,定是下载到指定服务器,缺点是重复传输,实时性差。
-
rsyslog 一类的程序,比较通用,但扩展不便。
-
rsync 定是同步,适合打文件同步,好于FTP,实时性差。
为了便于查询,可以将日志结合 kafka 或者日志本身,结合日志收集器 logstash、 filebeta,
利用 elasticsearch 为日志信息建立索引,
利用 kibana 对日志信息进行展现。
ps: 看起来最后日志使用起来很方便,但是引入了太多的中间件,加大了系统的复杂度。
直接存储到数据库
对于核心的信息,我们可以直接将日志存入 mongo 数据库。
格式
规定好日志的规范。
这一层一定要封装在日志框架层,开发是不需要关心的。