xpack.management.elasticsearch.url accepts an array and the config management will reach out to do license checking against all the hosts in the array.
xpack.management.elasticsearch.url to specify the Elasticsearch instance that will store the Logstash pipeline configurations and metadata.
Which suggests that users can only specify a single ES instance.
Let's document that this setting is an array.
2) Also, from testing, at LS startup, if not all of the specified hosts in the xpack.management.elasticsearch.url array setting are up and running, LS will not start because it attempts to check the license for all the nodes. If any one of the nodes failed this license check, it will throw an error and not start Logstash.
[2017-12-06T11:44:47,877][WARN ][logstash.licensechecker.licensereader] Marking url as dead. Last error: [LogStash::Outputs::ElasticSearch::HttpClient::Pool::HostUnreachableError] Elasticsearch Unreachable: [LINK REDACTED Connection refused (Connection refused) {:url=>LINK REDACTED :error_message=>"Elasticsearch Unreachable: [LINK REDACTED Connection refused (Connection refused)", :error_class=>"LogStash::Outputs::ElasticSearch::HttpClient::Pool::HostUnreachableError"}
[2017-12-06T11:44:47,880][ERROR][logstash.licensechecker.licensemanager] Unable to retrieve license information from license server {:message=>"Elasticsearch Unreachable: [LINK REDACTED Connection refused (Connection refused)", :class=>"LogStash::Outputs::ElasticSearch::HttpClient::Pool::HostUnreachableError"}
[2017-12-06T11:44:47,881][WARN ][logstash.licensechecker.xpackinfo] Nil response from License Server
[2017-12-06T11:44:47,892][ERROR][logstash.configmanagement.elasticsearchsource] Configuration Management is not available: License information is currently unavailable. Please make sure you have added your production elasticsearch connection info in the xpack.management.elasticsearch settings.
I am assuming that this is by design @acchen97 . If so, let's also document this caveat
3) Please also document what's going to happen if one or more, or all of the management hosts specified in the config is/are down for 2 areas:
What's going to config changes
for example, if there is still at least 1 node it can reach, configs can still be made and will be applied dynamically. But if all the nodes are not available, then config changes cannot be made
What's going to happen to running Logstash pipelines
for example, Logstash will continue to run all the outstanding pipelines (even if all the management nodes are down, it will still continue to run its jobs based on its last view of the pipelines).
Original comment by @ppf2:
xpack.management.elasticsearch.url
accepts an array and the config management will reach out to do license checking against all the hosts in the array.1) Our doc today simply says
https://www.elastic.co/guide/en/logstash/master/configuring-centralized-pipelines.html
Which suggests that users can only specify a single ES instance.
Let's document that this setting is an array.
2) Also, from testing, at LS startup, if not all of the specified hosts in the
xpack.management.elasticsearch.url
array setting are up and running, LS will not start because it attempts to check the license for all the nodes. If any one of the nodes failed this license check, it will throw an error and not start Logstash.I am assuming that this is by design @acchen97 . If so, let's also document this caveat
3) Please also document what's going to happen if one or more, or all of the management hosts specified in the config is/are down for 2 areas: