Searching for "Cannot determine timezone from nil" in these forums finds several instances of this error. All of them contain additional detail like 'etz:nil,tnz:"AST"', or 'etz:nil,tnz:"MEZ"', 'etz:nil,tnz:"ICT"', or 'etz:nil,tnz:"TST"', or 'etz:nil,tnz:"COT"', or 'etz:nil,tnz:"PET"', or 'etz:nil,tnz:"ALMT"'. Those all look like timezone abbreviations to me
AST Atlantic (-4)
MEZ an alias for CET
ICT Indochina (+7)
TST Taiwan (+8)
COT Colombia (-5)
PET Peru (-5)
ALMT Alma-Ata (+6)
but none of them are in Joda's list of accepted TZ abbreviations, so I think the library logstash uses to parse them is unable to do so, resulting in it having no timezone info.
As the error message says
Try setting
ENV['TZ'] = 'Continent/City'
in your script
that is, in the script that invokes logstash. If you are running logstash as a service you will need to add that to the service startup script.
You appear to be using AST. Someplaces that use AST also use ADT (daylight savings) and some do not. You will definitely need to use a Continent/City type timezone name for this to work.
No help to you, but In the case of a jdbc input, you may be able to set the jdbc_default_timezone to avoid this error, and in extreme cases I have known folks change the timezone setting of the entire machine to "fix" it.