【发布时间】:2015-09-29 02:24:38
【问题描述】:
我正在解析 IIS 日志,当所有模式都在配置文件中时,我一切正常。
我想取出所有模式并将它们放在一个模式文件中,但似乎无法让它工作。
我有什么: 日志示例:
2015-09-08 16:02:23 获取 /l8Wc2pt1FMvzsCEJ/test/restapiname
2015-09-08 16:02:24 获取 /l8Wc2pt1FMvzsCEJ/test/ifSoap/soapapiname grok 哪个有效:
match => { "message" => [
"%{TIMESTAMP_ISO8601:log_timestamp} %{WORD:method} \/%{WORD:orgid}\/(?i)test\/%{GREEDYDATA:restapiname}",
"%{TIMESTAMP_ISO8601:log_timestamp} %{WORD:method} \/%{WORD:orgid}\/(?i)test\/(?i)ifsoap\/%{GREEDYDATA:soapapiname}"
这行得通。但是我这个 url 的组合太多了,想把完整的东西放在一个文件中,所以我只需要维护一个文件。
这似乎不起作用
模式文件:
IISLOGS %{TIMESTAMP_ISO8601:log_timestamp} %{WORD:method} \/%{WORD:orgid}\/(?i)test\/%{GREEDYDATA:restapiname}
IISLOGS %{TIMESTAMP_ISO8601:log_timestamp} %{WORD:method} \/%{WORD:orgid}\/(?i)test\/(?i)ifsoap\/%{GREEDYDATA:soapapiname}"
GROK 文件:
grok {
patterns_dir => "C:/LogProject/LogStash/patterns"
match => [ "message", "IISLOGS" ]
}
有什么建议吗?
【问题讨论】:
标签: regex logstash grok logstash-grok