很多同学在生产环境使用最多的es集群管理组件就是开源的cerebro,包括我在内,工具箱内的使用率排得上top5,如果没有用过的同学可以自行在github搜索,本文重点也不是分享cerebro的使用。
后边的内容我假设你对es的一些基本概念已经理解一些。
不知道有没有人跟我一样,在使用cerebro的过程中,始终感觉这个神器缺少了点什么,比如
索引的分布是否均衡、索引写入速度、读取的速度、哪些索引最hot、分片无法分配还要去call一下接口(好烦)、集群虽然是绿色,是否存在亚健康状态、当前集群的tps是多少,qps是多少,当然这俩玩意在kibana上可以看得到、集群100个节点,每个节点的资源使用是否均衡、磁盘是否均衡、是否有副本分片丢失危险,es有上百的配置,是否都需要调优,单个索引是否每个shard都写入均衡、写入是否有长尾、是否已经达到资源瓶颈
相信维护过es集群的人都了解当看到集群超过一半节点掉线之后内心的恐慌,除了做好日常的知识储备,经常对自己的es环境进行检查也是必不可少,当然检查不是简单的看一下集群绿色就ok了。
进入正题,我主要是想分享一些经常需要关注的内容
目前主要分为四块
调用方法
./bigsword check -n elasticsearch -t cluster
cluster模块主要是调了一些接口,维度包括节点、索引、分片等,把想要看的指标简单整合分析一下放在一起看,毕竟cerebro没有直观的graph图表展示,当然这一块仁者见仁智者见智,每个人可能关注的指标不一样,主要是快速了解集群面貌
./bigsword check -n elasticsearch -t config
config模块目前主要是纯打印了配置项的知识库翻译,并对比当前环境中的配置,比如当前配置多少,默认配置多少,修改之后有哪些影响。对es每个参数都非常了解的大神可以忽略
./bigsword check -n elasticsearch -t balance
balance模块主要目的是分析出各个节点的负载偏离度,我抓了每台机器上的相同指标做了一些归一化分析,快速看出整个集群的负载偏离度,正常情况下不会偏离太多
./bigsword check -n elasticsearch -t index
index模块主要针对单个index进行指标分析,维度主要是单个索引的分片
下一篇【运维大宝剑Bigsword】之kafka集群分析