对于logstash,GROK解析失败

时间:2017-06-14 05:14:59

标签: mongodb logstash

我正在尝试使用默认mongo.log文件中的logstash来解析mongo日志。

这是我的过滤器配置:

filter {      
  grok {          
    match => ["message", "%{MONGO_SLOWQUERY}"]       
   }
}

我在这里得到grokparsefailure

任何人都可以帮我解决这个问题。

1 个答案:

答案 0 :(得分:0)

您使用的宏符合此类日志:

MONGO_LOG %{SYSLOGTIMESTAMP:timestamp} \[%{WORD:component}\] %{GREEDYDATA:message}
MONGO_QUERY \{ (?<={ ).*(?= } ntoreturn:) \}
MONGO_SLOWQUERY %{WORD} %{MONGO_WORDDASH:database}\.%{MONGO_WORDDASH:collection} %{WORD}: %{MONGO_QUERY:query} %{WORD}:%{NONNEGINT:ntoreturn} %{WORD}:%{NONNEGINT:ntoskip} %{WORD}:%{NONNEGINT:nscanned}.*nreturned:%{NONNEGINT:nreturned}..+ (?<duration>[0-9]+)ms
MONGO_WORDDASH \b[\w-]+\b
MONGO3_SEVERITY \w
MONGO3_COMPONENT %{WORD}|-
MONGO3_LOG %{TIMESTAMP_ISO8601:timestamp} %{MONGO3_SEVERITY:severity} %{MONGO3_COMPONENT:component}%{SPACE}(?:\[%{DATA:context}\])? %{GREEDYDATA:message}

根据:logstash-patterns-core

可能你的信息不符合模式。 您可以尝试使用Grok调试器填写您的消息:Grok Debugger

此致