一个免费的 Elasticsearch 多集群监控和管理工具
俗话说,工欲善其事必先利其器,今天给大家介绍一个好工具。
随着单个 Elasticsearch 集群规模的越来越大,大家要么在拆集群的路上,要么是已经是多套集群了, 据路边社消息,一个公司超过 5 个集群的情况已经变得非常普遍,而管理多个集群的着实是有点痛苦,比如常规的玩法可能是一套集群一个 Kibana,集群一多,切换来切换去就有点懵圈了有木有?
作为一个优雅的程序员或者运维管理员,是可忍孰不可忍啊。
另外,多个集群的监控也是一个麻烦事,目前常见的几种监控如:
使用 Kibana 自带的监控
使用 Prometheus + Grafana
使用 Zabbix
...
Kibana 自带的监控可以很好的满足单个集群的监控场景,不过集群规模大了之后,经常会出现指标丢失的问题,如果使用单独的监控集群,需要修改每个节点的配置,集群都需要重启,对于已经上了生产的集群,有点不方便。
那 Prometheus 呢, 一个 Elasticsearch 集群如果要监控起来,首先需要部署一个 Exporter 来暴露集群指标,然后部署一套 Prometheus 来采集 Elasticsearch 指标,采集完了之后再部署一套 Grafana 来进行报表分析,不同的集群要做好切换,简单的事情,搞复杂了,整个监控体系偏重,维护成本高。
Zabbix 和 Prometheus 的场景差不多,就不赘述了。
其他的一些简单的监控工具如 BigDesk、Cerebro 等,要么只能实时查看,没有办法查看历史详细指标,又或者一些基于云上的监控方案,如 Datadog,指标有限、不专业、不能独立部署等等,哎。
那么问题来了,有没有一个更加简单方便的多集群监控和管理方案呢,并且要支持不同版本的集群,最好是 v2、v5、v6、v7 以及最新的 v8 都能统统接管,哈哈,没错了,这里给大家介绍一个我们极限实验室团队最近开发出来的一款免费的多集群监控和管理工具-极限数据平台,目前版本 v0.1,新鲜出炉。
废话不多少,咱们直接看图说话:
首先是多集群的纳管,目前从 1.0 到最新的 8.0 统统都可以接进来。
然后就是集群的监控啦,要多简单有多简单,就是一个开关的事情,注册集群的时候,启用即开启监控,目标集群啥都不用动,费那劲干啥。
监控界面如图:
集群概览,总体情况一目了然。
各个节点信息,分门别类。
各个索引级别的信息,挨个查看。
多个集群之间的监控查看一键切换,非常方便。
查看监控的时候,发现不对劲,要操作一下集群,通过快捷键(Ctrl+Shift+O)直接调出控制台,如下图:
控制台支持多个集群的并行操作,使用不同的 tab 页切换不同工作区就行了。
常用的操作命令,还可以保存起来,方便下次使用。
别再保存一堆查询命令到记事本里面了,下次又找不到,直接加载执行就好了。
好了,你要是用 Elasticsearch 不知道这个工具,那就 out 了,赶快耍起来吧。
项目主页:http://极限数据.com/
下载地址:http://release.elasticsearch.cn/console/
安装也是非常简单,非常轻量级,下载包只有9MB,一个二进制可执行文件,一个 yml 配置文件,里面修改存储监控数据的 Elasticsearch 地址(7.0+,建议独立集群),如下图:
#存储极限数据平台相关数据的 Elasticsearch 集群信息,版本 v7.0+
elasticsearch:
name: default
enabled: true
monitored: true
endpoint: http://192.168.3.188:9299
basic_auth:
username: elastic
ZBdkVQUUdF1Sir4X4BGB :
接下来,直接运行程序即可启动极限数据平台了(这里使用的是 mac 版本的,不同平台的程序文件名称略有不同),如下操作:
➜./console-mac-amd64
___ _
/ __\___ _ __ ___ ___ | | ___
/ / / _ \| '_ \/ __|/ _ \| |/ _ \
/ /__| (_) | | | \__ \ (_) | | __/
\____/\___/|_| |_|___/\___/|_|\___|
[CONSOLE] the easiest way to operate your own elasticsearch platform.
[CONSOLE] 0.1.0_SNAPSHOT, 2021-11-23 18:46:10, a895115
[11-24 12:01:24] [INF] [app.go:249] initializing console.
[11-24 12:01:24] [INF] [instance.go:26] workspace: /Users/liugq/test/console/data/console/nodes/0
[11-24 12:01:24] [INF] [elastic.go:134] loading [3] remote elasticsearch configs
[11-24 12:01:24] [INF] [actions.go:236] elasticsearch [elasticsearch] is available
[11-24 12:01:24] [INF] [actions.go:236] elasticsearch [default] is available
[11-24 12:01:24] [INF] [ui.go:196] ui listen at: http://0.0.0.0:9000
[11-24 12:01:24] [INF] [metrics.go:65] ip:192.168.3.8, host:liugqdeMacBook-Pro.local, labels:, tags:
[11-24 12:01:24] [INF] [module.go:116] all modules started
[11-24 12:01:24] [INF] [app.go:354] console is running now.
看到上面的启动信息,说明极限数据平台已经成功运行了,并且监听了 9000 端口, 在浏览器里面访问 9000 端口就可以使用了。
除了下载安装,也支持 docker 容器方式启动,如下:
docker pull infinilabs/console:latest
使用同样的配置文件,不重复贴了,运行以下启动命令:
docker run -p 9000:9000 -v=`pwd`/console.yml:/console.yml infinilabs/console:latest
使用浏览器现在访问 localhost:9000 即可打开极限数据的界面了。
怎么样,使用上是不是非常简单啊。
如果还是不清楚,还可以继续查看 极限数据 v0.2 的功能演示视频。
好了,今天的介绍就到这里,感兴趣的小伙伴快去试试吧。
最后,欢迎关注极限实验室,获取更多 Elasticsearch 免费工具及业界资讯的第一手消息。