How to authenticate Logstash output to a secure Elasticsearch URL (version 5.6.5)
I found the root cause of the issue. There were three things to fix:
The logstash version I tested with was wrong 5.5.0. I downloaded the correct version to match with Elasticsearch Version 5.6.5.
The host I used was running on 443 port. When I didn't specify the port as below logstash appended 9200 with it, due to which the connection failed.
hosts => ['https://my.es.server.com']
Below configuration corrected the port used by logstash.
hosts => ['https://my.es.server.com:443']
I was missing proxy connection settings.
proxy => 'http://my.proxy.com:80'
Overall settings that worked.
output { elasticsearch { hosts => ['https://my.es.server.com:443'] user => 'esusername' password => 'espassword' proxy => 'http://my.proxy:80' index => "my-index-%{+YYYY.MM.dd}" }}
No need for 'ssl' field.
Also NO need for 'xpack' installation for this requirement.