NAME
es-apply-settings.pl - Run to apply a JSON list of settings to indexes matching a pattern
VERSION
version 8.6
SYNOPSIS
es-apply-settings.pl --local --pattern logstash-* settings.json
Options:
--help print help
--manual print full manual
--close Close the index, apply settings, and re-open the index
From App::ElasticSearch::Utilities:
--local Use localhost as the elasticsearch host
--host ElasticSearch host to connect to
--port HTTP port for your cluster
--proto Defaults to 'http', can also be 'https'
--http-username HTTP Basic Auth username
--password-exec Script to run to get the users password
--insecure Don't verify TLS certificates
--cacert Specify the TLS CA file
--capath Specify the directory with TLS CAs
--cert Specify the path to the client certificate
--key Specify the path to the client private key file
--noop Any operations other than GET are disabled, can be negated with --no-noop
--timeout Timeout to ElasticSearch, default 10
--keep-proxy Do not remove any proxy settings from %ENV
--index Index to run commands against
--base For daily indexes, reference only those starting with "logstash"
(same as --pattern logstash-* or logstash-DATE)
--datesep Date separator, default '.' also (--date-separator)
--pattern Use a pattern to operate on the indexes
--days If using a pattern or base, how many days back to go, default: 1
See also the "CONNECTION ARGUMENTS" and "INDEX SELECTION ARGUMENTS" sections from App::ElasticSearch::Utilities.
From CLI::Helpers:
--data-file Path to a file to write lines tagged with 'data => 1'
--tags A comma separated list of tags to display
--color Boolean, enable/disable color, default use git settings
--verbose Incremental, increase verbosity (Alias is -v)
--debug Show developer output
--debug-class Show debug messages originating from a specific package, default: main
--quiet Show no output (for cron)
--syslog Generate messages to syslog as well
--syslog-facility Default "local0"
--syslog-tag The program name, default is the script name
--syslog-debug Enable debug messages to syslog if in use, default false
--nopaste Use App::Nopaste to paste output to configured paste service
--nopaste-public Defaults to false, specify to use public paste services
--nopaste-service Comma-separated App::Nopaste service, defaults to Shadowcat
DESCRIPTION
This script allows you to change index settings on indexes whose name matches the specified pattern.
Usage:
$ es-apply-settings.pl --local --pattern logstash-*
> { "index.routing.allocation.exclude.ip": "192.168.10.120" }
Or specify a file containing the settings
$ es-apply-settings.pl --local --pattern logstash-* settings.json
OPTIONS
- help
-
Print this message and exit
- manual
-
Print this message and exit
- close
-
IMPORTANT: Settings are not dynamic, and the index needs to closed to have the settings applied. If this is set, the index will be re-opened before moving to the next index.
- older
-
When this option is used along with the --days option the the setting will only be applied to indexs that are older than the days specified.
es-apply-settings.pl --older --days 30 --pattern logstash-*
- skip-alias
-
Protected aliases, which if present will cause the application of settings to be skipped for a particular index. The aliases
.hold
and.do_not_erase
will always be skipped. - no-skip
-
Apply settings to all matching indexes, regardless of the protected aliases.
- no-diff
-
During a normal run, the settings you're requesting will be checked against the indices and only indices with settings out of line with the desired settings will be applied. If for some reason you want to apply settings regardless of the current state, using
--no-diff
will disable the check and apply the settings to every index in scope.
AUTHOR
Brad Lhotsky <brad@divisionbyzero.net>
COPYRIGHT AND LICENSE
This software is Copyright (c) 2023 by Brad Lhotsky.
This is free software, licensed under:
The (three-clause) BSD License