elasticsearch - 日期格式在Logstash中无法按预期工作

标签 elasticsearch logstash filebeat elk

我正在尝试使用以下日期过滤器将字符串转换为日期,但似乎无法正常工作。

输入数据样本(字符串)-2020年1月20日星期一格林尼治标准时间

我首先使用mutate gsub移除GMT,该GMT呈现以下字符串输出-
2020年1月20日星期一09:20:35

我的gsub mutate过滤器看起来像这样-

mutate { gsub => [ "TimeStamp", "GMT", "" ] }

现在,我正在使用日期过滤器将gsub输出转换为日期格式,但它似乎不起作用-
date {
match => [ "TimeStamp", "EEE MMM dd HH:mm:ss  yyyy" ]
target => "TimeStamp"
locale => "en"
}

我也曾尝试跟随但没有成功-
date {
match => [ "TimeStamp", "EEE\sMMM\sdd\sHH:mm:ss\s+yyyy" ]
target => "TimeStamp"
timezone => "Etc/GMT"
locale => "en"
}

最佳答案

日期格式应为

MMM dd HH:mm:ss yyyy



也许您必须在一年之前添加一些额外的空间(看起来您的日志中有它们)。

代替EEE(缩写为工作日的名称),您需要使用MMM(缩写为月的名称)。

关于elasticsearch - 日期格式在Logstash中无法按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59841879/

相关文章:

elasticsearch - 使用 Filebeat 和 Logstash 推送日志文件到 Elasticsearch 的区别

java - Spark框架: Listen for server stop

elasticsearch - Filebeat甚至在完成读取后仍保留日志文件

curl - Elasticsearch使用搜索查询删除结果

elasticsearch - 如何在 logstash 过滤器中添加文件中的字段

security - Logstash:logstash输入中的多个插件

elasticsearch - logstash的elasticsearch index date从哪里来?

elasticsearch - filebeat到logstash或elasticsearch

elasticsearch - 在 ELK 中配置 number_of_shards 和 number_of_replicas

elasticsearch - 将索引配置应用于索引创建