易于使用的CLI工具来管理Elasticsearch,防止长卷曲命令。

esctl的Python项目详细描述



Esctl公司

旨在简化Elasticsearch管理的命令行界面。

Test statusPublish statusCodefactor gradeCode quality status

Key FeaturesInstallationHow To UseExamplesLicenseDeveloping


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等价的是

^{pr2}$

主要特点

  • 易于使用的CLI而不是long curl命令(多亏了cliff
  • 集群级信息:statsinfohealth分配说明
  • 节点级信息:list热线程排除
  • 集群级和索引级settings
  • _catAPI,用于分配插件线程池
  • 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_exitdefaulttrue):等待命令退出,然后继续。当命令在前台运行时,通常设置为false。在
  • wait_for_output:如果wait_for_exitfalse,请在命令的stdout中查找特定的输出。要查找的字符串被解释为传递给Python的re.compile()的正则表达式。在

示例

node-list sample

许可证

esctl是在GNU GPLv3下授权的。请参阅LICENCE文件。在

发展中

安装

make install

运行eh3测试>
make test

格式代码

make fmt

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何拆分字符串(基于各种分隔符),但不保留空格?   解析。Json格式的txt文件和knime中的java   java Spring rest api为什么在rest api调用的响应中更改了数据类型   升华文本3抛出java。lang.ClassNotFoundException,而记事本++不存在   java Android指纹扫描仪在尝试5次后停止工作?   java Android如何设置精确的重复报警?   java如何使用HTTPGET connect为access API输入用户名和密码   java当测试报告显示没有测试失败时,Gradle为什么说“有失败的测试”?   用Gson实现java获取响应   MapReduce程序中函数错误的java不可映射参数   java spring安全性不符合自动代理的条件   java GWT使用异步回调进行同步/阻塞调用   java奇怪的类数组问题无法在jsp中显示   如何在java中使用PrinterJob使用epl打印条形码   java如何在JTable中居中单元格   将Java Mockito测试转换为Kotlin   html Java正则表达式模式匹配到多个相同标记   testCompile中缺少java Gradle(Android)多项目依赖项   在输入提示后输入字符串时发生java FileNotFoundException