【转载】在分布式项目中,每个服务器的日志从产生,到集中到一个统一日志平台的流程是什么,中间都有那些过程?…

  • Post author:
  • Post category:其他


elk原理看一下,应该可以理解。

从框架整体性看,主要有三步:

1.日志收集

2.日志存储

3.日志查询展示

日志收集,在业务系统产生操作日志或者业务日志时,通过主动发送或者被动收集的方式获取分布式系统的日志,之后日志通过特定的过滤,转化,等等,发送到日志存储系统。这个环节涉及一些组件或者工具,比如elk中的 kafka.flume,或者更轻的工具。

日志存储,通过日志收集组件获取的数据进行物理存储,可以是最简单的关系型数据库,也可是es,或者大数据相关的hdfs等

日志查询显示,这个取决于你获取日志的目的,有的是统计用户行为,有的是技术人员排查问题,目的不同展示形式也不同。同时,底层存储形式不是,上层展示组件选择也不同。

大体上,就是这样的的,其实涉及很多细节问题,日志格式,过滤条件,转换形式等等。

搭建过一套日志采集系统。无非就是3点,日志采集,存储,展示。

当初用到的组件分别是

1. filebeat (主动采集日志的组件,使用时只需要在服务器上配置好日志路径即可主动采集。至于发送到哪里去,同样是配置文件中配置)

2. logstash (处理日志格式的组件,在配置文件中以正则的形式去匹配filebeat发送过来的日志信息,处理完成后继续向后面的组件发送)

3. elstaicsearch (存储logstash过来整理好的日志,配置文件中可以配置与可视化组件共联) 4. kibana (图形可视化组件,开启后,有个默认网页,操作网页可以读取es的数据,还可以把数据作图可视化)

以上就是现在常提到的 elk 三件套,这四个组件都是一个团队开源的,所以在互动性上非常友好,有的组件还可以安装不同的插件。比如安全性的x-pack等。

转载于:https://www.cnblogs.com/smallwangmusk/p/11479688.html