elasticsearch 将日志从远程服务器拉入elasticsearch
简短的问题是:是否可以从远程服务器中提取日志(在日志文件中)并将其摄取到ELK堆栈中 长话短说如下:elasticsearch 将日志从远程服务器拉入elasticsearch,elasticsearch,logstash,filebeat,elk,elastic-beats,elasticsearch,Logstash,Filebeat,Elk,Elastic Beats,简短的问题是:是否可以从远程服务器中提取日志(在日志文件中)并将其摄取到ELK堆栈中 长话短说如下: 我们有一个带有DMZ的设置,它面向公众 我们有一个intranet环境,其中托管了许多内部系统,包括麋鹿堆栈 由于安全规定,我们无法建立从DMZ到intranet的连接(在IP级别) 但是,我们可以从内部网到DMZ 由于此设置,我们无法按照正常路线在存储日志的服务器上安装Filebeat,并将消息推送到logstash安装 我们想做的事情看起来有点像: Filebeat或任何其他进程在DM
- 我们有一个带有
的设置,它面向公众DMZ
- 我们有一个
环境,其中托管了许多内部系统,包括麋鹿堆栈intranet
- 由于安全规定,我们无法建立从
到DMZ
的连接(在IP级别)intranet
- 但是,我们可以从
到内部网
DMZ
Filebeat
,并将消息推送到logstash
安装
我们想做的事情看起来有点像:
- Filebeat或任何其他进程在
DMZ
- 在这台服务器上有一些进程(
,Filebeat
,另一个logstash
实例?)将这些信息保存在本地存储中elasticsearch
- 此工具(不管最后是什么)侦听可从
内部网获得的端口
中的另一个工具连接到intranet
工具,并提取所有收集的日志进行进一步处理DMZ
logstash
或elasticsearch
的解决方案
我们不想做的一件事是使用文件共享使日志文件直接从内部网
中可用
我们的问题是,我们所想的是否可能,如果可能,我们将使用什么工具和设置来实现这一点。您可以使用Kafka作为消息代理尝试以下操作 在您的
DMZ
服务器上,您将使用filebeat收集日志并发送到logstash实例,然后此logstash instance将您的日志输出到kafka
这是一个简单的管道,带有beats
输入、fitler和kafka
输出,如果您不想对数据进行任何充实,可以从filebeat将日志直接发送到kafka
然后,您的kafka代理将侦听端口,并等待任何使用者连接并使用消息
在您的intranet
上,您需要一个带有管道的logstash实例,该管道使用kafka
输入,该管道将充当kafka消费者并提取您的消息,然后您可以使用elasticsearch
输出存储在intranet
elasticsearch集群中
有关更多信息,请阅读日志存储文档中的以及的文档。Kafka是一个很好的解决方法。这将需要一个额外的基础设施,但我想这是我们必须要做的权衡。谢谢你的提示!(我找到了另一个解决方案,它的方式与此基本相同,只是使用另一个elasticsearch实例来缓冲消息)。但我更喜欢卡夫卡,它比另一个elasticsearch安装的配置/设置占用更少。