如何解决在kibana中用@timestamp替换日志文件时间的logstash问题
我们有一个 logstash 解析脚本来解析日志文件,我们也为此编写了解析脚本。我们在尝试用日志文件时间替换 @timestamp 时遇到问题。下面是我们使用过的过滤器
filter {
json {
source => "message"
target => "doc"
}
mutate {
copy => { "[doc][message]" => "mesg" }
copy => { "[doc][log][file][path]" => "logpath" }
remove_field => [ "[doc]" ]
}
if ( "/prodlogsfs/" not in [logpath] ) {
drop { }
}
if [logpath] {
dissect {
mapping => {
"logpath" => "%{deployment}deployment-%{?id}-%{?extra}"
}
}
}
grok { match => { "mesg" => [ "^\s?\[%{DATA:loglevel}\] %{TIMESTAMP_ISO8601:logts} \[%{DATA:threadname}\] %{DATA:podname} %{DATA:filler1} \[%{DATA:classname}\] %{GREEDYDATA:fullmesg}","(\s)+(?<exception>%{DATA}Exception)[:\s]+(?<trace>(%{DATA}at)+)"
]
} }
#Date Filter being used to replace @timestamp with logfile time
if [logts] {
date {
match => [ "logts","ISO8601" ]
timezone => "Asia/Kolkata"
target => ["@timestamp"]
}
}
通过上面的代码,当我们在kibana中查看@timestamp和logts的值时,@timestamp显示的是当前时间。而 logts 时间似乎是未来的时间 (+5.30) 。需要有关如何将 @timestamp 与 logts 匹配的帮助。
对此的任何帮助非常感谢。提前致谢
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。