命令行界面

编辑

现在大多数常用的客户端配置设置都可以在命令行中使用了。

虽然配置文件和命令行参数可以一起使用,但需要注意的是,命令行选项会覆盖相同设置的文件配置。

最基本的命令行参数如下所示

curator [--config CONFIG.YML] [--dry-run] ACTION_FILE.YML

方括号表示可选元素。

如果没有提供--configCONFIG.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 中的操作,而不会实际进行任何更改。结果将记录在日志文件中,或者如果没有指定日志文件,则记录在 STDOUT/命令行中。

ACTION_FILE.YML 是一个 YAML 操作文件

对于其他客户端配置选项,命令行帮助始终触手可及

curator --help

帮助输出如下所示

$ curator --help
Usage: curator [OPTIONS] ACTION_FILE

  Curator for Elasticsearch indices

  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.

  Some less-frequently used client configuration options are now hidden. To see the full list, run:

      curator_cli -h

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
  --request_timeout FLOAT         Request timeout in seconds
  --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
  --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.

  Learn more at https://elastic.ac.cn/guide/en/elasticsearch/client/curator/8.0/command-line.html

您可以在配置文件中使用环境变量

从 Docker 运行 Curator

编辑

使用 Docker 从命令行运行 Curator 只需要几个额外的步骤。

如果您希望使用它们,基于 Docker 的 Curator 需要您为配置和/或日志文件映射一个卷。如果您忽略了将配置目录卷映射到 /.curator,则尝试读取 YAML 配置文件将无法工作。

它看起来像这样

docker run [-t] --rm --name myimagename \
  -v /PATH/TO/MY/CONFIGS:/.curator      \
  untergeek/curator:mytag               \
--config /.curator/config.yml /.curator/actionfile.yml

在测试过程中,添加 -t 标志将分配一个伪终端,允许您查看否则会被隐藏的终端输出。

config.ymlactionfile.yml 这两个文件应该在运行时之前已经存在于 /PATH/TO/MY/CONFIGS 路径中。

命令中的 --rm 表示容器(而不是镜像)将在执行完成后被删除。您肯定需要这样做,因为没有理由为每次运行都创建容器。最终的清理工作将会非常不愉快。