单例命令行界面
编辑单例命令行界面
编辑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 运行 Curator
编辑使用 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
表示容器(而不是镜像)将在执行完成后删除。您肯定需要这个,因为没有理由为每次运行都创建容器。最终的清理将非常不愉快。
命令行过滤
编辑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)上,您可能需要转义所有双引号。
此方法的注意事项
显示索引/快照
编辑单例命令提供的一个其他命令无法提供的功能是显示系统中有哪些索引和快照。这是一种在不损害系统的情况下直观测试过滤器的绝佳方法。
$ 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