热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

将日志从远程服务器拉入Elasticsearch

简短的问题是:是否可以从远程服务器中提取日志(在日志文件中)并将其提取到

简短的问题是:是否可以从远程服务器中提取日志(在日志文件中)并将其提取到ELK堆栈中。

长话如下:


  • 我们有一个DMZ且面向公众的设置

  • 我们有一个intranet环境,该环境托管许多内部系统,包括ELK堆栈

  • 由于安全规定,我们无法建立从DMZintranet的连接(在IP级别上)。

  • 但是我们可以建立从intranetDMZ
  • 的连接

由于此设置,我们无法遵循在存储日志的服务器上安装Filebeat并将邮件推送到我们的logstash安装的常规方法。

我们想做的事情看起来类似于以下内容:


  • Filebeat或任何其他进程在DMZ
  • 内部的服务器上收集日志
  • 在此服务器上,有一些过程(Filebeatlogstash,另一个elasticsearch实例?)将这些信息保存在本地存储中

  • 该工具(无论它到底是什么)都会在intranet
  • 可用的端口上进行侦听
  • intranet中的另一个工具连接到DMZ工具并提取所有收集的日志以进行进一步处理。

我们的调查结果只得出了将日志信息推送到logstashelasticsearch的解决方案。

我们不想做的一件事是使用文件共享使日志文件直接从intranet开始可用。

我们的问题是,我们的想法是否完全可能实现,如果可以的话,我们将使用什么工具以及使用哪种设置来实现这一目标。



您可以使用Kafka作为消息代理尝试以下操作

在您的DMZ服务器上,您将通过文件拍收集日志并将其发送到Logstash实例,然后该Logstash实例会将您的日志输出到Kafka。

这是一个简单的管道,具有beats输入,fitler和kafka输出,如果您不想对数据进行任何扩充,则可以将日志直接发送到kafka来自文件拍。

然后您的kafka经纪人将在端口上侦听并等待任何使用者连接并使用消息。

在您的intranet上,您将需要一个Logstash实例,并使用kafka输入使用管道,该管道将充当kafka使用者并提取您的消息,然后您可以使用{{1 }}输出,然后存储到您的elasticsearch elasticsearch集群中。

有关更多信息,请阅读logstash文档中的kafka documentation和kafka input和kafka output的文档。


推荐阅读
author-avatar
徐大总统_584
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有