Showing all configuration parameters

How can you dump out all the configured parameters to verify that what's in the configuration file made it into the running system?

I added some new parameters parameters to my Elasticsearch node configuration and I wanted to confirm that they took effect. The parameters are the "routing" ones below:

cluster: 
  name: devops-data
  routing:
    allocation:
      disk:
        watermark:
          high: 97%
          low: 95%

However, when I tried to query the system for them, they don't show up. The log doesn't show any errors, but the following command doesn't confirm that the settings are in place:

me@test:~$ curl 'http://test:9200/_cluster/settings?pretty'
{
  "persistent" : { },
  "transient" : { }
}

Is there a more specific command to see the settings?

Chuck

I don't think there is a way of viewing the effective settings picked up from the config file. Keep in mind that the /_cluster/settings API only ever shows dynamic settings and never elasticsearch.yml settings, so your check isn't expected to work.

I'd set the disk based allocation watermarks as dynamic settings. Having to do a rolling restart of the cluster just to change that setting doesn't make sense.

OK, understood. In our environment, those parameters are configured via the Puppet module, which writes that configuration file. We don't expect to alter the settings after the fact. So what I'm going to assume is: if there isn't an error in the log, the settings we've defined in the yml file are in effect.

There's no endpoint that provides the entire config that ES uses, I have a FR for it though so hopefully it'll show up.

That's cool. It would be a nice feature.

FYI, feel free to +1 https://github.com/elastic/elasticsearch/issues/6732 if it looks like it would meet your needs!

Also https://github.com/elastic/elasticsearch/issues/10713