我们正在尝试为我们的应用程序找到最佳的logstash配置。该应用程序由大约30个进程组成一台运行在Linux机器上的服务器。来自同一台计算机上多个进程的Logstash
这些进程中的每一个都写入专用文件夹中的日志文件。我们希望收集这些日志并使用logstash将它们保存到elasticsearch。
虽然我们确实有资源问题。我们将无法在日志中写入日志并保持弹性搜索运行相同的数据(elasticsearch需要这些日志文件的5倍空间)
现在我们想到了试图管道每个进程的输出到它自己的logstash将包含grok过滤器和elasticsearch输出,同时我们将在同一台机器上运行elasticsearch实例。
这看起来有点沉重,有30个logstash正在运行......有更好的解决方案吗?我们是否会破坏CPU或者这是做这种事情的标准方式?
你不能让机器在一天的日志,然后将其删除,他们已经被处理后,通过logstash?如何将stdout重定向到端口,我的google-fu说应该是可以的。也似乎很难相信你使用elasticsearch会导致5倍的惩罚。 –
@AlainCollins一天过多,我们每10分钟旋转一次原木,最多保持10转。如果我让logstash从这些中读取数据,并且它正在读取一个旋转将发生,我将松散日志。此外,logstash如何处理日志转换? – user1708860
logstash文档显示“它处理旋转”,FWIW。如果您担心这些边缘情况,请将logstash配置为仅处理最近旋转的文件(例如logfile.1)。只要它有一个不同的inode号码,你应该没问题。 –