- 确定节点状况
bash-4.2$ curl -sXGET "http://localhost:9200/_cat/nodes?v" | sort -k9
$ip1 64 99 6 2.88 2.78 2.62 mdi - es.hostname1.0
$ip1 59 99 6 2.88 2.78 2.62 di - es.hostname1.1
$ip2 71 98 8 3.28 3.76 4.09 mdi - es.hostname2.0
$ip2 44 98 9 3.28 3.76 4.09 di - es.hostname2.1
ip heap.percent ram.percent cpu load_1m load_5m load_15m node.role master name
需要重点关注的:
-
节点总数是否和集群节点数一致?如果不一致,则需要看哪个节点不在线,去对应的机器查看ES日志,看哪些异常导致节点离线。
-
heap.percent列如果有持续大于75%的节点,则需要登陆到对应机器,切换到es运行用户,找到进程编号pid,查看是否在持续fullgc
-
cpu load_1m, load_5m, load_15m列,注意是否持续超过节点所在机器的cpu线程数。如果持续超过,则说明cpu比较吃紧。
- 确定节点启动时间
bash-4.2$ curl -sXGET "http://localhost:9200/_cat/nodes?h=name,uptime&v"
name uptime
es.hostname1.360es.cn.0 26.9d
es.hostname1.1 24.7d
es.hostname2.1 11.8d
es.hostname2.0 89.9d
uptime列对应的值为节点运行时间,d代表天,h代表小时,m代表分钟。
- 查看节点内存占用情况
bash-4.2$ curl -sXGET "http://localhost:9200/_cat/nodes?h=name,port,segments.memory,segments.index_writer_memory,fielddata.memory_size,query_cache.memory_size,request_cache.memory_size&v"
name port segments.memory segments.index_writer_memory fielddata.memory_size query_cache.memory_size request_cache.memory_size
es.hostname1.1 9301 4.9gb 46.4mb 314.5kb 407.5mb 12.3mb
es.hostname2.0 9300 3.4gb 419.8mb 13.8mb 620mb 28.1mb
es.hostname3.1 9301 3.2gb 189.7mb 9.7mb 370.5mb 9mb
es.hostname4.1 9301 3.8gb