gpt4 book ai didi

Logstash:解析apache访问日志的时间戳导致解析失败

转载 作者:行者123 更新时间:2023-12-04 23:49:03 28 4
gpt4 key购买 nike

我想解析常见的 apache 访问日志文件,它是这样的:

::1 - - [02/Mar/2014:15:36:43 +0100] "GET /index.php HTTP/1.1" 200 3133

这是我的过滤器部分:
grok {
match => ["message", "%{COMMONAPACHELOG}"]
}
date {
match => ["timestamp", "dd/MMM/yyyy:HH:mm:ss Z"]
}

所有字段都被识别,但不是时间戳。控制台上的输出如下:
Failed parsing date from field {:field=>"timestamp", :value=>"02/Mar/2014:15:36:43 +0100", :exception=>java.lang.IllegalArgumentException: Invalid format: "02/Mar/2014:15:36:43 +0100" is malformed at "Mar/2014:15:36:43 +0100", :level=>:warn}

我已经检查了日期过滤器的文档。它依赖于 DateTimeFormat .

我做错了什么?看不到错误。

最佳答案

is malformed at "Mar/2014:15:36:43 +0100"部分错误消息表明时间戳解析器的月份名称有问题。这表明默认语言环境不是英语(特别是第三个月不缩写为“Mar”的语言)。这可以通过显式设置用于 date filter's 的语言环境来解决。解析:

filter {
date {
...
locale => "en"
}
}

关于Logstash:解析apache访问日志的时间戳导致解析失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27280027/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com