传统ELK分布式日志收集的缺点?

传统ELK图示:

单纯使用ElK实现分布式日志收集缺点?

1、logstash太多了,扩展不好。

如上图这种形式就是一个 tomcat 对应一个 logstash,新增一个节点就得同样的拥有 logstash,可以说很浪费了。

2、读取IO文件,可能会产生日志丢失。

3、不是实时性

比如logstash,底层通过定时器发现数据库发生变化后才去同步,由于是定时则必然出现延迟。

那么既然出现了这些问题,有什么解决方案呢?

安装kafka

kafka是基于发布订阅模式的,类似于生产者与消费者。

一张图搞懂 kafka 的作用:

思考问题:
1. Logstash输入来源有那些?

本地文件、kafka、数据库、mongdb、redis等

2. 那些日志信息需要输入logstash

error级别

3. AOP 异常通知 服务与服务之间如何区分日志索引文件

服务名称

4. 在分布式日志收集中,相同的服务集群的话是不需要区分日志索引文件。
5. 目的为了 统一管理相同节点日志我信息。
6. 相同的服务集群的话,是是不需要区分日志索引文件 搜索日志的时候,如何定位服务器节点信息呢?

未完待续。

posted @ 2019-08-15 23:59  niceyoo  阅读(...)  评论(... 编辑 收藏