我已经设置了用filebeat&我将日志转发到弹性搜索覆盖@timestamp字段到日志文件中的时间。以下是该
的logstash.conf文件input {
beats {
port => 5044
codec => multiline {
# Grok pattern names are valid! :)
pattern => "^%{TIMESTAMP_ISO8601} "
negate => true
what => previous
}
}
}
filter {
mutate {
gsub => ["message", "n", " "]
}
grok {
match => [ "message", "%{TIMESTAMP_ISO8601:timestamp} [%{NOTSPACE:uid}] [%{NOTSPACE:thread}] %{LOGLEVEL:loglevel} %{DATA:class}-%{GREEDYDATA:message}" ]
overwrite => [ "message" ]
}
date {
match => [ "timestamp" , "yyyy-MM-dd HH:mm:ss" ]
target => "@timestamp"
timezone => "UTC+0530"
}
if "_grokparsefailure" in [tags] {
drop { }
}
}
output {
elasticsearch { hosts => localhost }
stdout { codec => rubydebug }
}
在上面,我尝试使用
将时间戳的时区设置为ISTtimezone => "UTC+0530"
,但我得到了错误
Cannot load an invalid configuration {:reason=>"The datetime zone id 'UTC+0530' is not recognised"}
这是为了避免基巴纳将时间戳转换为我本地时区,因为时间戳已经在本地时区IST中。
有人可以告诉我如何为时间戳设置IST时区或设置Kibana不要将时间戳转换为我的本地时区?
遇到了讨论&有答案。Kibana Advanced设置中有一个选项将时间戳时区从默认的"浏览器"更改为本地时区。https://discuss.elastic.co/t/timezone-utc-00-00-00-getting-converted-on-kibana-display-to-05-30/38727/2
从手册中的时区值应为"典型ID",从joda time开始:没有这样的UTC+0530
时区。