logstash - Logstash 6.2.4 - 匹配时间不默认为当前日期
问题描述
我正在使用具有以下配置的 logstash 6.2.4:
input {
stdin { }
}
filter {
date {
match => [ "message","HH:mm:ss" ]
}
}
output {
stdout { }
}
使用以下输入:
10:15:20
我得到这个输出:
{
"message" => "10:15:20",
"@version" => "1",
"host" => "DESKTOP-65E12L2",
"@timestamp" => 2019-01-01T09:15:20.000Z
}
我只有一个时间信息,但想将其解析为当前日期。
请注意,当前日期是 2019 年 3 月 1 日,所以我猜这2019-01-01
是某种默认日期?
如何解析时间信息并向其中添加当前日期信息?
replace
根据文档,我对任何或其他块并不真正感兴趣,解析时间应默认为当前日期。
解决方案
您需要添加一个新字段,将当前日期与包含您的时间信息的字段合并,在您的示例中是该message
字段,然后您的date
过滤器将需要针对这个新字段进行测试,您可以使用以下配置执行此操作。
filter {
mutate {
add_field => { "current_date" => "%{+YYYY-MM-dd} %{message}" }
}
date {
match => ["current_date", "YYYY-MM-dd HH:mm:ss" ]
}
}
结果将是这样的:
{
"current_date" => "2019-03-03 10:15:20",
"@timestamp" => 2019-03-03T13:15:20.000Z,
"host" => "elk",
"message" => "10:15:20",
"@version" => "1"
}
推荐阅读
- sql-server - 当我们重新构建或重新组织索引时,是聚集索引还是非聚集索引?
- java - 无法在 Groovy gradle 项目中找到或加载主类
- c++ - 使用 reverse_iterator 而不是 const_reverse_iterator 并获得令人讨厌的编译器警告和错误
- ios - 如何检测有很多部分的 tableview 底部?(迅速)
- yii2 - expectException 没有检测到异常
- excel - 在其他屏幕(监视器)VBA 中打开第二个 excel 工作簿
- elasticsearch - 如何在像弹性这样的搜索引擎中使用许多连接来管理 SQL 查询?
- vba - 停止将新行格式更改为 Times New Roman
- android - 嵌套相对布局中的 layout_centerVertical 导致 Android P 上的 textview 定位不正确
- html - 将 input-group-addon 定位在文本输入之上