命令行接口
命令行接口
现在,大多数常见的客户端配置设置都可以在命令行中使用。
重要:配置文件和命令行参数可以同时使用,但是需要重点注意,命令行选项会覆盖掉基于文件配置的相同的配置项。
最基本的命令行参数如下:
curator [--config CONFIG.YML] [--dry-run] ACTION_FILE.YML
方括号指定可选元素。
如果没有指定--config
和CONFIG.YML
,Curator 将在~/.curator/curator.yml
路径下查找配置文件。~
是运行 Curator 的用户 home 目录。在 Unix 系统下,这个路径可能是/home/username/.curator/curator.yml
,而在 Windows 系统下,这个路径可能是C:\Users\username\.curator\curator.yml
。
如果--dry-run
参数设置了,Curator 将尽可能接近地模仿 ACTION_FILE.YML 配置的动作,但并不会产生真实的变化。结果会被记录到日志文件,或者命令行的标准输出(如果日志文件没有指定的话)。
对于其他配置选项,使用命令行help
参数总会帮到你:
curator --help
help
的输出如下:
$ curator --help
Usage: curator [OPTIONS] ACTION_FILE
Curator for Elasticsearch indices.
See http://elastic.co/guide/en/elasticsearch/client/curator/current
Options:
--config PATH 配置文件路径。
--hosts TEXT 连接的 Elasticsearch URL 地址。
--cloud_id TEXT 连接到 Elastic Cloud 实例的速记。
--id TEXT API Key "id" 值。
--api_key TEXT API Key "api_key" 值。
--username TEXT 用于创建 "basic_auth" 元组的用户名。
--password TEXT 用于创建 "basic_auth" 元组的密码。
--bearer_auth TEXT
--opaque_id TEXT
--request_timeout FLOAT 请求超时秒数。
--http_compress 启用 HTTP压缩。
--verify_certs 确认 SSL/TLS 证书
--ca_certs TEXT 证书文件或目录的路径。
--client_cert TEXT 客户端证书文件路径。
--client_key TEXT 客户端证书 key 文件路径。
--ssl_assert_hostname TEXT 要在节点的证书上验证的主机名或 IP 地址。
--ssl_assert_fingerprint TEXT 节点证书的 SHA-256 格式指纹。如果给出了这个值,那么基于信任 root 的验证将失效,只有节点的证书指纹验证通过才可以。
--ssl_version TEXT 最小可接受的 TLS/SSL 版本。
--master-only Only run if the single host provided is the elected master
--skip_version_test 不检查主机版本。
--dry-run 不执行任何改变。
--loglevel [DEBUG|INFO|WARNING|ERROR|CRITICAL]
日志级别。
--logfile TEXT 日志文件。
--logformat [default|logstash|json|ecs]
日志输出格式。
--version 展示版本号并退出。
--help 展示此信息并退出。
你可以在配置文件中使用 环境变量 。
通过 Docker 运行 Curator
使用 Docker 命令行运行 Curator 仅需要额外的几个步骤。
基于 Docker 的 Curator 需要您映射一个配置文件的卷。如果忽略了映射到配置文件目录/.curator
的卷,此时尝试在命令行上传递参数将无法正常工作。
docker run --rm --name myimagename \
-v /PATH/TO/MY/CONFIGS:/.curator \
untergeek/curator:mytag \
--config /.curator/config.yml /.curator/actionfile.yml
在程序运行前,config.yml
和actionfile.yml
都应该存在于/PATH/TO/MY/CONFIGS
路径下。
命令行的--rm
参数意味着容器(不是镜像)在程序执行完以后将被删除。你肯定希望这样,因为没有理由为每次运行都创建容器,最终的清理工作会很麻烦。
推荐文章: