0

假设我有一条这样的路径:

  paths:
     - /var/log/webapp/*.log*
     - /var/log/webapp/*app*.log*
  document_type: webapp

我将如何更改它以根据 /var/log/*/ 下的文件夹名称自动将文档类型命名为 * 中的任何内容?

例子:

/var/log/app/* -- 产生应用程序日志

/var/log/alpha/* -- 生成 alpha 日志

/var/log//beta/* -- 生成 beta 日志

/var/log/delta/* -- 生成增量日志。

是否可以使用节拍来执行此操作,或者我是否需要使用 grok 或 ruby​​ 过滤器在 logstash 端处理此问题?

4

1 回答 1

1

至少有两种方法可以做到这一点:

首先是在 Filebeat 配置中创建不同的探矿者,它们是特定于日志类型的文件夹。这是官方推荐的方法。

或者

如果您想使用一个广泛的探矿者并避免使用内置解决方案来解决您的问题,请使用 logstash。Filebeat 为您提供了一个包含原始文件路径的字段,我认为它称为file. 你可以像这样摸索它:

file => "/var/log/%{WORD:log_type}/%{GREEDYDATA}"

我这里遇到的问题是 Filebeat 设置的类型似乎对 Logstash 的改变有抵抗力,不知道它是如何工作的,但是当我尝试的时候确实很头疼。

于 2016-06-13T15:40:25.053 回答