分布式搜索分析,即ES。在之前的文章《掌握2个小工具,轻松解决大数据/数据库测试!》中,笔者介绍了elasticsearch-head和elasticsearch-sql两个工具,前者具有可视化、操作简单、能够完成es基本管理等特点,后者能够直接将一些基本mysql查询语句翻译为es语句进行查询,两者各具特色。
但随着对es的了解不断深入,发现了一款新的比较好用的es工具——cerebro。本文将从对比的角度出发,介绍cerebro的基本功能和用法,以及与elasticsearch-head和elasticsearch-sql对比,各自的优缺点。
cerebro介绍
安装方式
cerebro是一款用于es的开源web管理工具,可从https://github.com/lmenezes/cerebro/releases进行下载,支持rpm在线安装或下载编译好的版本直接运行,要求运行环境的java版本在11及以上。
详细安装方式可参考:https://github.com/lmenezes/cerebro。
运行方式
使用默认ip和port监听,直接使用命令:bin/cerebro;使用指定ip和port监听,启动命令如:bin/cerebro -Dhttp.port=1234 -Dhttp.address=127.0.0.1,-Dhttp.port为监听端口,-Dhttp.address为监听地址。
使用方法
浏览器访问(如http://172.18.84.58:9000/)即可开启访问,如下图所示:
支持功能
总览信息
如下图所示,为cerebro总览菜单界面。可以看到节点、索引、分片和已存数据量大小等信息,还支持索引关闭、刷新等功能。
节点信息
如下图所示,为cerebro节点菜单界面。可以看到节点负载、cpu使用率、磁盘使用率以及运行时间等信息。
rest接口请求
如下图所示,为cerebro的rest菜单界面。通过该界面可以直接向es发起rest请求,如_search请求等。
更多功能(创建索引、集群设置、snapshot信息等)
如下图所示,为cerebro更多功能菜单。该菜单支持索引创建、集群设置、重命名、索引字段分析、es模板查看和修改、仓储查看和创建、快照查看等快捷功能。
cerebro、elasticsearch-head和elasticsearch-sql工具对比
cerebro、elasticsearch-head和elasticsearch-sql是es的三款小工具,下面将用列表的形式从安装方式、支持功能等方面对三者进行简单对比。
工具选择建议
在二中对cerebro、elasticsearch-head和elasticsearch-sql三款小工具进行了简单对比,可能还是会存在某些疑惑,比如他们之间存在交叉的功能,针对这种情况该如何选择。本小节笔者可以从自身使用经验给出一点点场景使用建议。
若想更快更方便地管理es集群,选择cerebro
cerebro提供了比较全面且比较便捷的集群管理方式,许多集群管理功能、节点管理功能等都能够通过可视化操作完成。比如:笔者想修改某个es模板,elasticsearch-head和elasticseartch-sql都不具备可视化操作能力,只能通过rest接口完成,而cerebro则可以很方便地完成。
若想查看集群或节点的资源统计信息,选择cerebro
cerebro提供了集群和节点的cpu使用率、负载情况等信息统计,而elasticsearch-head和elasticsearch-sql不具备此功能。
若想快速地浏览索引内容,选择elasticsearch-head
elasticsearch-head提供了快速、便捷的数据浏览方式,且呈现方式较好(表格呈现),特别是结果中会统计查询耗时。而cerebro通过rest接口请求获得数据,以json方式呈现,elasticsearch-sql也需要手动发起rest请求获得数据。
若想降低学习成本,使用sql语法查询es索引内容,选择elasticsearch-sql
elasticsearch-sql最大的特点就在于支持sql语法进行es查询,降低了使用者的学习成本,这一点来说cerebro和elasticsearch-head都不具备。
总结
工欲善其事必先利其器,好的工具可以让我们节省不少时间、提高工作效率。但所有的工具都是服务于人,选择权和使用权都在于我们自己。针对不同特点我们可以选择性安装和使用不同的工具,但就从本文介绍和对比的三个工具来说,安装成本较小,全部安装,选择性使用也未尝不可。
作者:刘晓佳Rachel