There are no double quotes around the value of [open_date]. It is not a string, it is a Logstash::Timestamp object. Such objects are always in UTC. If you want it to be a string you can use mutate+convert to make it so
mutate { convert => { "date_open" => "string" } }
You could replace the trailing Z with +10
mutate { gsub => [ "date_open", "Z$", "+10" ] }
but that moves it in time. If you want the field to be in Australia/Melbourne just use the string you started with.
Thank you very much @Badger for highlighting the problem with date object being treated as a string when used quotes. It turned out the time has been adjusted to UTC (DB timezone is set to UTC) making the timezone offset to be updated correctly to +00. It is my bad that I didn't notice the different in time.
Apache, Apache Lucene, Apache Hadoop, Hadoop, HDFS and the yellow elephant
logo are trademarks of the
Apache Software Foundation
in the United States and/or other countries.