【发布时间】:2016-06-30 03:02:54
【问题描述】:
目前我的过滤器看起来像:
filter {
grok {
match => {
"message" => '%{SYSLOG5424SD:logLevel}\t<%{JAVACLASS:Job} *>\t%{TIMESTAMP_ISO8601:Date}\t%{GREEDYDATA:kvmessage}'
}
}
if ([message] !~ "LogstashEvent") {
drop { }
}
grok {
match => {
"kvmessage" => '%{SYSLOG5424SD}%{GREEDYDATA:kvmess}'
}
}
kv {
source => "kvmess"
field_split => "|"
}
}
我正在使用输入过滤器从大量文件中获取输入。最大可能是大约 6000 个文件。但是在生成的大量日志中,我感兴趣的日志只是其中包含 "LogstashEvent" 的日志——甚至不到总日志的 1%。我猜必须有比我现在做的更快的方法来做到这一点。目前,logstash 的 CPU 利用率约为 20%,这比我预期的要高 - 考虑到我的过滤器并不大(尽管输入量很大)
我还生成了上面的 kvmessage 以在第二个 grok 中使用它。我终于不需要那个了。无论如何要删除映射?
一个虚拟日志,说明我在这里尝试分析的日志类型:
[INFO] 2016-06-28 17:20:49,308 [LogstashEvent]a=1|b=talkischeap|c=showmecode|d=24|e=0
是否有可能是我的每台主机上的logstash 的CPU 利用率很高,因为我的Elasticsearch 集群无法快速索引它?
【问题讨论】:
标签: logstash elastic-stack logstash-grok logstash-configuration