NAME

es-apply-settings.pl - Run to apply a JSON list of settings to indexes matching a pattern

VERSION

version 8.7

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)
--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