从远程服务器拉取日志到elasticsearch
Pull logs from remote server into elasticsearch
简短的问题是:是否可以从远程服务器提取日志(在日志文件中)并将它们摄取到 ELK 堆栈中。
长话短说:
- 我们有一个
DMZ
面向公众的设置
- 我们有一个
intranet
环境,其中托管了很多内部系统,包括 ELK 堆栈
- 由于安全规定,我们无法建立从
DMZ
到 intranet
的连接(在 IP 级别)。
- 但是我们可以建立从
intranet
到 DMZ
的连接
由于此设置,我们无法按照正常路径在存储日志的服务器上安装 Filebeat
并将消息推送到我们的 logstash
安装。
我们想要做的事情看起来有点像下面这样:
- Filebeat 或任何其他进程在
DMZ
内的服务器上收集日志
- 在此服务器上有一些进程(
Filebeat
、logstash
、另一个 elasticsearch
实例?)将这些信息保存在本地存储中
- 此工具(无论最终是什么)侦听
intranet
可用的端口
intranet
中的另一个工具连接到 DMZ
工具并提取所有收集的日志以供进一步处理。
到目前为止,我们的调查只得出将日志信息推送到 logstash
或 elasticsearch
的解决方案。
我们不想做的一件事是使用文件共享使日志文件直接从 intranet
。
我们的问题是我们的想法是否完全可行,如果可行,我们将使用哪些工具和设置来实现这一目标。
您可以使用 Kafka 作为消息代理尝试以下操作
在您的 DMZ
服务器上,您将使用 filebeat 收集日志并发送到 logstash 实例,然后该 logstash 实例会将您的日志输出到 kafka。
这是一个简单的管道,有一个 beats
输入,你的过滤器和一个 kafka
输出,如果你不想对你的数据做任何丰富,你可以直接发送你的日志从 filebeat 到 kafka。
然后您的 kafka 代理将监听一个端口并等待任何消费者连接并使用消息。
在您的 intranet
上,您需要一个带有使用 kafka
输入的管道的 logstash 实例,该管道将充当 kafka 消费者并提取您的消息,然后您可以使用 elasticsearch
输出然后存储在你的 intranet
elasticsearch 集群中。
有关更多信息,请阅读 logstash 文档中的 kafka documentation, and the documentation for the kafka input and kafka output。
简短的问题是:是否可以从远程服务器提取日志(在日志文件中)并将它们摄取到 ELK 堆栈中。
长话短说:
- 我们有一个
DMZ
面向公众的设置 - 我们有一个
intranet
环境,其中托管了很多内部系统,包括 ELK 堆栈 - 由于安全规定,我们无法建立从
DMZ
到intranet
的连接(在 IP 级别)。 - 但是我们可以建立从
intranet
到DMZ
的连接
由于此设置,我们无法按照正常路径在存储日志的服务器上安装 Filebeat
并将消息推送到我们的 logstash
安装。
我们想要做的事情看起来有点像下面这样:
- Filebeat 或任何其他进程在
DMZ
内的服务器上收集日志
- 在此服务器上有一些进程(
Filebeat
、logstash
、另一个elasticsearch
实例?)将这些信息保存在本地存储中 - 此工具(无论最终是什么)侦听
intranet
可用的端口
intranet
中的另一个工具连接到DMZ
工具并提取所有收集的日志以供进一步处理。
到目前为止,我们的调查只得出将日志信息推送到 logstash
或 elasticsearch
的解决方案。
我们不想做的一件事是使用文件共享使日志文件直接从 intranet
。
我们的问题是我们的想法是否完全可行,如果可行,我们将使用哪些工具和设置来实现这一目标。
您可以使用 Kafka 作为消息代理尝试以下操作
在您的 DMZ
服务器上,您将使用 filebeat 收集日志并发送到 logstash 实例,然后该 logstash 实例会将您的日志输出到 kafka。
这是一个简单的管道,有一个 beats
输入,你的过滤器和一个 kafka
输出,如果你不想对你的数据做任何丰富,你可以直接发送你的日志从 filebeat 到 kafka。
然后您的 kafka 代理将监听一个端口并等待任何消费者连接并使用消息。
在您的 intranet
上,您需要一个带有使用 kafka
输入的管道的 logstash 实例,该管道将充当 kafka 消费者并提取您的消息,然后您可以使用 elasticsearch
输出然后存储在你的 intranet
elasticsearch 集群中。
有关更多信息,请阅读 logstash 文档中的 kafka documentation, and the documentation for the kafka input and kafka output。