我正在尝试将我的Apache日志发送到Logstash中的不同管道。但是首先我需要识别它们,我认为以下过滤器应该这样做:
filter {
if "apache" in [fileset].[module] {
tags => ["apache2"]
}
}
但这破坏了一切,我看到了这个错误(仅相关部分):
Failed to execute action {:action=>LogStash::PipelineAction::Create/pipeline_id:main, :exception=>"LogStash::ConfigurationError", :message=>"Expected one of [, #, and, or, xor, nand, { at line 20, column 30 (byte 241) after filter {\n if \"apache\" in [fileset]",
我不确定该怎么做。
fileset.module
不是日志文件中的一行,显然-Filebeat正在添加它。但是由于已经添加了它,所以我认为我应该能够在Logstash中读取它。有人有想法么?
答案 0 :(得分:0)
没关系!
首先,我在logstash中安装了mutate插件,现在此步骤有效:
filter {
if [fileset][module] == "apache2" {
mutate {
add_tag => ["apache2"]
}
}
}
我看到您可以在输入过程中分配标签,所以我想您可以在管道的下方添加标签。我不好