单例命令行界面
edit单例命令行界面edit
curator_cli
命令允许用户从命令行运行单个支持的操作,而无需客户端或操作 YAML 配置文件,尽管它确实支持使用客户端配置文件(如果您需要)。作为一项重要奖励,命令行选项允许您覆盖 curator.yml
文件中的设置!
虽然配置文件和命令行参数可以一起使用,但需要注意的是,命令行选项将覆盖相同设置的文件配置。
$ curator_cli --help Usage: curator_cli [OPTIONS] COMMAND [ARGS]... Curator CLI (Singleton Tool) Run a single action from the command-line. The default $HOME/.curator/curator.yml configuration file (--config) can be used but is not needed. Command-line settings will always override YAML configuration settings. Options: --config PATH Path to configuration file. --hosts TEXT Elasticsearch URL to connect to. --cloud_id TEXT Elastic Cloud instance id --api_token TEXT The base64 encoded API Key token --id TEXT API Key "id" value --api_key TEXT API Key "api_key" value --username TEXT Elasticsearch username --password TEXT Elasticsearch password --bearer_auth TEXT Bearer authentication token --opaque_id TEXT X-Opaque-Id HTTP header value --request_timeout FLOAT Request timeout in seconds --http_compress / --no-http_compress Enable HTTP compression [default: no-http_compress] --verify_certs / --no-verify_certs Verify SSL/TLS certificate(s) [default: verify_certs] --ca_certs TEXT Path to CA certificate file or directory --client_cert TEXT Path to client certificate file --client_key TEXT Path to client key file --ssl_assert_hostname TEXT Hostname or IP address to verify on the node's certificate. --ssl_assert_fingerprint TEXT SHA-256 fingerprint of the node's certificate. If this value is given then root-of-trust verification isn't done and only the node's certificate fingerprint is verified. --ssl_version TEXT Minimum acceptable TLS/SSL version --master-only / --no-master-only Only run if the single host provided is the elected master [default: no-master-only] --skip_version_test / --no-skip_version_test Elasticsearch version compatibility check [default: no-skip_version_test] --dry-run Do not perform any changes. --loglevel [DEBUG|INFO|WARNING|ERROR|CRITICAL] Log level --logfile TEXT Log file --logformat [default|ecs] Log output format -v, --version Show the version and exit. -h, --help Show this message and exit. Commands: alias Add/Remove Indices to/from Alias allocation Shard Routing Allocation close Close Indices delete-indices Delete Indices delete-snapshots Delete Snapshots forcemerge forceMerge Indices (reduce segment count) open Open Indices replicas Change Replica Count restore Restore Indices rollover Rollover Index associated with Alias show-indices Show Indices show-snapshots Show Snapshots shrink Shrink Indices to --number_of_shards snapshot Snapshot Indices Learn more at https://elastic.ac.cn/guide/en/elasticsearch/client/curator/8.0/singleton-cli.html
给定命令的选项标志与用于相同 操作 的选项标志匹配。唯一的区别在于如何处理过滤。
从 Docker 运行 Curatoredit
从命令行使用 Docker 运行 curator_cli
只需要几个额外的步骤。
如果您希望使用它们,基于 Docker 的 curator_cli
需要您为您的配置和/或日志文件映射一个卷。如果您忽略了将您的配置目录卷映射到 /.curator
,则尝试读取 YAML 配置文件将不起作用。
它看起来像这样
docker run [-t] --rm --name myimagename \ --entrypoint /curator/curator_cli \ -v /PATH/TO/MY/CONFIGS:/.curator \ untergeek/curator:mytag \ --config /.curator/config.yml [OPTIONS] COMMAND [ARGS]...
在测试时,添加 -t
标志将分配一个伪终端,允许您看到否则会被隐藏的终端输出。
config.yml
文件应该在运行时之前已经存在于 /PATH/TO/MY/CONFIGS
路径中。
命令中的 --rm
表示容器(而不是镜像)将在完成执行后被删除。您肯定需要这样做,因为没有理由为每次运行都创建容器。最终的清理将令人不快。
命令行过滤edit
Curator 的最新改进包括模式和设置验证。有了这些改进,如果以 Curator 可以轻松理解的方式传递,就可以验证过滤器及其许多排列。
--filter_list TEXT JSON string representing an array of filters.
这意味着过滤器需要作为单个对象或 JSON 格式的对象数组传递。
单个
--filter_list '{"filtertype":"none"}'
多个
--filter_list '[{"filtertype":"age","source":"creation_date","direction":"older","unit":"days","unit_count":13},{"filtertype":"pattern","kind":"prefix","value":"logstash"}]'
这保留了链式过滤器的强大功能,使其在命令行上可用。
您可能需要在某些平台或 shell(例如 PowerShell)上转义所有双引号。
此方法的注意事项
显示索引/快照edit
单例命令提供的一个其他命令无法提供的功能是显示系统中有哪些索引和快照。这是一种在不损害系统的情况下直观测试过滤器的绝佳方法。
$ curator_cli show-indices --help Usage: curator_cli show-indices [OPTIONS] Show indices Options: --verbose Show verbose output. --header Print header if --verbose --epoch Print time as epoch if --verbose --filter_list TEXT JSON string representing an array of filters. [required] --help Show this message and exit. Learn more at https://elastic.ac.cn/guide/en/elasticsearch/client/curator/8.0/singleton-cli.html#_show_indicessnapshots
$ curator_cli show-snapshots --help Usage: curator_cli show-snapshots [OPTIONS] Show snapshots Options: --repository TEXT Snapshot repository name [required] --filter_list TEXT JSON string representing an array of filters. [required] --help Show this message and exit. Learn more at https://elastic.ac.cn/guide/en/elasticsearch/client/curator/8.0/singleton-cli.html#_show_indicessnapshots
show-snapshots
命令将只显示与提供的过滤器匹配的快照。 show-indices
命令也会这样做,但还提供了一些额外的功能。
-
--verbose
添加状态、主分片和所有副本的总大小、文档数量、主分片和副本分片的数量以及 ISO8601 格式的创建日期。 -
--header
添加一个显示列名的标题。这只有在也选择了--verbose
时才会发生。 -
--epoch
将日期格式从 ISO8601 更改为纪元时间。如果也选择了--header
,则列标题将更改为creation_date
show-snapshots
命令没有额外的列或 --verbose
输出。
没有 --epoch
Index State Size Docs Pri Rep Creation Timestamp logstash-2016.10.20 close 0.0B 0 5 1 2016-10-20T00:00:03Z logstash-2016.10.21 open 763.3MB 5860016 5 1 2016-10-21T00:00:03Z logstash-2016.10.22 open 759.1MB 5858450 5 1 2016-10-22T00:00:04Z logstash-2016.10.23 open 757.8MB 5857456 5 1 2016-10-23T00:00:04Z logstash-2016.10.24 open 771.5MB 5859720 5 1 2016-10-24T00:00:00Z logstash-2016.10.25 open 771.0MB 5860112 5 1 2016-10-25T00:00:01Z logstash-2016.10.27 open 658.3MB 4872830 5 1 2016-10-27T00:00:03Z logstash-2016.10.28 open 655.1MB 5237250 5 1 2016-10-28T00:00:00Z
有 --epoch
Index State Size Docs Pri Rep creation_date logstash-2016.10.20 close 0.0B 0 5 1 1476921603 logstash-2016.10.21 open 763.3MB 5860016 5 1 1477008003 logstash-2016.10.22 open 759.1MB 5858450 5 1 1477094404 logstash-2016.10.23 open 757.8MB 5857456 5 1 1477180804 logstash-2016.10.24 open 771.5MB 5859720 5 1 1477267200 logstash-2016.10.25 open 771.0MB 5860112 5 1 1477353601 logstash-2016.10.27 open 658.3MB 4872830 5 1 1477526403 logstash-2016.10.28 open 655.1MB 5237250 5 1 1477612800