易于使用的CLI工具来管理Elasticsearch,防止长卷曲命令。
esctl的Python项目详细描述
Esctl公司
在旨在简化Elasticsearch管理的命令行界面。
Key Features• Installation• How To Use• Examples• License• Developing 在
Esctl是一个用于Elasticsearch的CLI工具。I designed it为了缩短巨大的curl
命令,Elasticsearch操作符的运行方式如下:
curl -XPUT --user "john:doe"'http://elasticsearch.example.com:9200/_cluster/settings' -d '{ "transient" : { "cluster.routing.allocation.enable": "NONE" }}'
与esctl
等价的是
主要特点
- 易于使用的CLI而不是long curl命令(多亏了cliff)
- 集群级信息:stats,info,health,分配说明
- 节点级信息:list,热线程,排除
- 集群级和索引级settings
_cat
API,用于分配,插件和线程池- Index management:打开、关闭、创建、删除、列表
- 每个模块log配置
- X-packapi:users和角色
- 多种输出格式:table、csv、json、value、yaml
- 彩色输出!在
- 在对Elasticsearch发出HTTP调用之前运行任意pre命令(例如,运行
kubectl port-forward
)
安装
使用PIP
pip install esctl
来源
pip install git+https://github.com/jeromepin/esctl.git
如何使用
Esctl依赖于包含其配置的~/.esctlrc
文件。如果此文件不存在,将在第一次启动时自动创建:
clusters:bar:servers:-https://bar.example.comusers:john-doe:username:johnpassword:doecontexts:foo:user:john-doecluster:bardefault-context:foo
运行预命令
有时,您需要在运行esctl
命令之前执行shell命令。比如运行一个kubectl port-forward
来连接到你的Kubernetes集群。
上下文中有一个pre_commands
块,它可以处理:
clusters:remote-kubernetes:servers:-http://localhost:9200contexts:my-distant-cluster:cluster:remote-kubernetespre_commands:-command:kubectl --context=my-kubernetes-context --namespace=elasticsearch port-forward svc/elasticsearch 9200wait_for_exit:falsewait_for_output:Forwarding fromuser:john-doe
除了command
,还可以传递两个选项:
wait_for_exit
(default:true
):等待命令退出,然后继续。当命令在前台运行时,通常设置为false
。在wait_for_output
:如果wait_for_exit
是false
,请在命令的stdout中查找特定的输出。要查找的字符串被解释为传递给Python的re.compile()的正则表达式。在
示例
在
许可证
esctl
是在GNU GPLv3下授权的。请参阅LICENCE文件。在
发展中
安装
make install
运行eh3测试>make test
格式代码
make fmt
标签:
- 项目
标签: