简单系统日志的 grok 模式



Im 使用 7.2.0的 ELK 设置和 filebeat 7.2.0。 现在我已经在 filebeata 和 im tryign 中启用了系统模块,以在 Logstash 中使用一个简单的 grok,

input {
beats {
port => 5044
ssl  => false
}
}
filter {
if [fileset][module] == "system" {
grok {
match => { "message" => "%{SYSLOGLINE}"}
}
}
output {
elasticsearch {
hosts => ["10.16.5.24:9200"]
index => "rehatsystemlogs"
}
stdout { codec => rubydebug }
}

示例日志 :Nov 17 08:01:01 strproelk02 systemd: Removed slice User Slice of root.

现在,当我在 https://grokdebug.herokuapp.com/中检查此示例日志的 %{SYSLOGLINE} 时,我能够通过我的日志拆分获得正确的输出。

但是当我执行 logstash 时,单独的列不会在 ES 中的索引中拆分。

我哪里出错了?

缺少一个大括号,过滤器的末尾,

input {
beats {
port => 5044
ssl  => false
}
}
filter {
grok {
match => { "message" => "%{SYSLOGLINE}"}
}
}
output {
elasticsearch {
hosts => ["10.16.5.24:9200"]
index => "rehatsystemlogsdata"
}
stdout { codec => rubydebug }
}

最新更新