elasticsearch filebeat yaml在索引中使用当前文件名,elasticsearch,logstash,filebeat,elasticsearch,Logstash,Filebeat" /> elasticsearch filebeat yaml在索引中使用当前文件名,elasticsearch,logstash,filebeat,elasticsearch,Logstash,Filebeat" />

elasticsearch filebeat yaml在索引中使用当前文件名

elasticsearch filebeat yaml在索引中使用当前文件名,elasticsearch,logstash,filebeat,elasticsearch,Logstash,Filebeat,我在filebeat中将其用作装运日志的路径。 输出为elasticsearch paths: - /var/log/*.log 日志已经用JSON格式化了,我只想索引反映日志的来源。在我的场景中,任何人都可以将文件abcd.log放在日志文件夹中。我想把这些日志发送到indexfilebeat-abcd-19.05.2016或类似的地方。因为日志是预格式化的,所以我们不希望在两者之间有任何日志隐藏。目前它们采用filebeat-dd.mm.yyyy格式。基本上我想在两者之间包括文件名。在没

我在
filebeat
中将其用作装运日志的路径。 输出为elasticsearch

paths:
 - /var/log/*.log

日志已经用JSON格式化了,我只想索引反映日志的来源。在我的场景中,任何人都可以将文件
abcd.log
放在日志文件夹中。我想把这些日志发送到index
filebeat-abcd-19.05.2016
或类似的地方。因为日志是预格式化的,所以我们不希望在两者之间有任何日志隐藏。目前它们采用
filebeat-dd.mm.yyyy
格式。基本上我想在两者之间包括文件名。在没有日志存储的情况下,我如何做到这一点?

我针对此用例的解决方案:
filebeat(多个浏览者)->logstash(多个过滤器)->elasticsearch

我的此用例解决方案:
filebeat(多个浏览者)->logstash(多个过滤器)->elasticsearch

就在今天,通过摄入管道解决了这个问题。需要将处理器链接成这样的东西:

output:
    elasticsearch:
        index: filebeat
首先,从源路径中查找文件名,然后使用格式复制日期,然后使用gsub从日期中修剪时间,然后设置索引名

然后,您可以选择删除字段
index\u name
index\u date


另外,在
filebeat.yml
output
部分,您需要将输出指向
管道
,而不是
索引
,刚才用Ingest管道解决了这个问题。需要将处理器链接成这样的东西:

output:
    elasticsearch:
        index: filebeat
首先,从源路径中查找文件名,然后使用格式复制日期,然后使用gsub从日期中修剪时间,然后设置索引名

然后,您可以选择删除字段
index\u name
index\u date


另外,在
filebeat.yml
output
部分,您需要将输出指向
管道
,而不是
索引

,如果您不想使用它,为什么要添加logstash标记,它看起来不可能,如果你不想使用它,为什么要添加logstash标记?从文档中看,它看起来不可能用于输入,我已经意识到了这一点,作为最后的手段,我将别无选择,只能将logstash放在两者之间,但如果没有它,对我来说会更直接,如果有办法的话。此外,它还节省了logstash节点的成本(如果实现,它需要是一个单独的节点)。感谢您的输入,我已经意识到了这一点,作为最后的手段,我将别无选择,只能将logstash放在两者之间,但如果有办法的话,没有它对我来说会更直接。此外,它还节省了logstash节点的成本(如果实现了logstash节点,则需要是一个单独的节点)。