分布式ELK日志采集系统


1.传统日志采集存在哪些问题
2.分布式日志采集有哪些方案
3.ElasticSeach+Logstash+Kibana作用
4.ELK为何需要结合kafka
5.基于docker构建ELK
6.springboot项目整合elk实现异步日志采集

1. 传统日志采集存在哪些优缺点

在传统项目中,如果在生产环境中,有多台不同的服务器集群,如果生产环境需要通过日志定位项目的Bug的话,需要在每台节点上使用传统的命令方式查询,这样效率非常低下。因此我们需要集中化的管理日志,ELK则应运而生。
在这里插入图片描述

2. Elk采集日志的原理

Elk
E=ElasticSeach(存储日志信息)
l Logstash(搬运工)
K Kibana连接到我们ElasticSeach图形化界面查询日志

    Elk采集日志的原理:
1.	需要在每个服务器上安装Logstash(搬运工)
2.	Logstash需要配置固定读取某个日志文件
3.	Logstash将我们的日志文件格式化为json的格式输出到es中
4.	开发者使用Kibana连接到ElasticSeach 查询存储日志内容。

ELK日志收集原理
ELK=ElasticSeach+Logstash+Kibana,日志收集原理如下所示。
1、每台服务器集群节点安装Logstash日志收集系统插件
2、每台服务器节点将日志输入到Logstash中
3、Logstash将该日志格式化为json格式,根据每天创建不同的索引,输出到ElasticSearch中
4、浏览器使用安装Kibana查询日志信息
在这里插入图片描述

该方案的缺点:就是在每个服务器节点上都会安装Logstash做读写日志IO操作,可能性能不是很好,而且比较冗余。

3. 为什么需要将日志存储在ElasticSeach 而不是mysql中呢

ElasticSeach 底层使用到倒排索引 搜索日志效率高

4. 为什么需要使用elk+kafka

1.如果单纯的使用elk的话,服务器节点扩容 需要每个服务器上安装我们Logstash
步骤比较冗余。
2. Logstash读取本地日志文件,可能会对本地的磁盘io性能会有一定影响。

5. elk+kafka原理
  1. springboot项目会基于aop的方式拦截系统中日志
    日志(错误日志)
    错误日志:异常通知
    请求与响应日志信息—前置或者环绕通知。
  2. 将该日志投递到我们kafka中 注意该过程一定要是异步的形式。
  3. Logstash 数据源—kafka 订阅kafka的主题 获取日志消息内容
  4. 在将日志消息内容输出到es中存放
    开发者使用Kibana连接到ElasticSeach 查询存储日志内容。

在这里插入图片描述

6. elk+kafka 环境的构建

https://gblfy.blog.csdn.net/article/details/123433995

7. SpingBoot 整合 kafka Elk

https://gblfy.blog.csdn.net/article/details/123434785

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

gblfy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值