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
放在日志文件夹中。我想把这些日志发送到indexfilebeat-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节点,则需要是一个单独的节点)。