在使用elasticsearch,一般集群都是部署在服务器上的,有以下几种方法可以去查看集群和索引库的相关信息
- 第一种:搭建elk,当然这是部署了elk的前提之下去通过kibana查看,不是为了查看故意去搭elk,那effort就太大了
- 第二种:安装插件等,其中可以选择head插件(5.x后需要自行安装,不再作为内部插件存在)、x-pack(功能很强大,可是5.x开始已经开始要收费了,而且占资源很大)
- 第三种:用最简单的http请求,最原始的语句去请求访问,通过返回的json来查看集群以及节点的状态(如果是偶尔的查看和手头没有搭建一些东西的同志,建议这么做,毕竟这也是最基础的)
下面就来看一下:
1、查看集群健康值
curl -XGET 'http://localhost:8200/_cluster/health?pretty'
结果:
{
"cluster_name" : "if2c",
"status" : "yellow", //集群的状态红绿灯,绿:健康,黄:亚健康,红:病态
"timed_out" : false,
"number_of_nodes" : 1, //节点数
"number_of_data_nodes" : 1, //数据节点数
"active_primary_shards" : 3, //分片数,3个Index库
"active_shards" : 3,
"relocating_shards" : 0,
"initializing_shards" : 0,
"unassigned_shards" : 3 //未指定节点,配置了复本,仅使用一台机器部署会出现这种情况
}
2、 也可以对具体Index库(一个或者多个库)进行查看健康状态
curl -XGET 'http://localhost:8200/_cluster/health/zh?pretty' 一个index库
curl -XGET 'http://localhost:8200/_cluster/health/zh,west?pretty' 多个index库
3、 也可以附加一些参数显示更加具体的内容
level=indices, shards, cluster
curl -XGET 'http://localhost:8200/_cluster/health?level=indices&pretty'
curl -XGET 'http://localhost:8200/_cluster/health?level=shards&pretty'
4、查看当前节点的所有状态(包括集群状态、索引库数量、每个索引库的状态、所有搜索线程组的状态和线程数,很全)
curl -XGET 'http://localhost:9200/_nodes/stats?pretty'
并没有写太多,有问题欢迎评论。