Hi
I'm using docker.elastic.co/logstash/logstash-oss:7.0.1.
Docker host(my pc) and logstash container are running in different timezone.
- Timezone of docker host is JST
$ date
Tue May 14 14:12:22 JST 2019
- Timezone of logstash container is UTC
bash-4.2$ date
Tue May 14 05:13:50 UTC 2019
I let logstash reads a file on docker host has JST epochtime,
and transforms JST epochtime to @timestamp by using date filter plugin.
filter {
date {
match => [ "beginning_time", "UNIX" ] # beginning_time: 1557808919 is JST epochtime
}
}
As a result, @timestamp is converted JST to UTC automatically.
(This feature is very useful in different timezone)
{
"@timestamp" => 2019-05-14T04:41:59.000Z, # Converted JST to UTC
"beginning_time" => "1557808919",
"executed_command" => "pwd",
"tags" => [
[0] "zsh_history"
]
}
I learned from logstash timezone is determined by system default timezone above post.
In my case, logstash in docker is running in UTC.
Therefore I think timezone of logstash in docker is too UTC.
But logtash behaves as timezone is JST.
How logstash knows docker host is running in JST?