{
"cluster_name" : "op-escluster",
"status" : "green",
"timed_out" : false,
"number_of_nodes" : 9,
"number_of_data_nodes" : 6,
"active_primary_shards" : 16,
"active_shards" : 32,
"relocating_shards" : 0,
"initializing_shards" : 0,
"unassigned_shards" : 0,
"delayed_unassigned_shards" : 0,
"number_of_pending_tasks" : 0,
"number_of_in_flight_fetch" : 0,
"task_max_waiting_in_queue_millis" : 0,
"active_shards_percent_as_number" : 100.0
} 这里最重要的就是status这行。很多开源的ES监控脚本,其实就是拿这行数据做报警判断。status 有三个可能的值:
green 绿灯,所有分片都正确运行,集群非常健康。
yellow 黄灯,所有主分片都正确运行,但是有副本分片缺失。这种情况意味着 ES 当前还是正常运行的,但是有一定风险。注意,在 Kibana4 的 server 端启动逻辑中,即使是黄灯状态,Kibana 4 也会拒绝启动,死循环等待集群状态变成绿灯后才能继续运行。
red 红灯,有主分片缺失。这部分数据完全不可用。而考虑到 ES 在写入端是简单的取余算法,轮到这个分片上的数据也会持续写入报错。
2.查看node信息和
curl -XGET :9200
或者
curl -XGET 'http://server_ip:9200/_nodes/process?pretty'
或者
curl -XGET 'http://server_ip:9200/_nodes/stats
通过nodes/stats可以看到很多信息,包括:写入、读取、搜索性能,JVM等数据。
3.查看node的文件描述符
curl -XGET 'http://server_ip:9200/_nodes/stats/process?filter_path=**.max_file_descriptors'
4.任务管理
curl -XGET 'http:///server_ip:9200/_cat/tasks?v'
趟过的坑:
如果是自定义目录,需要注意权限的问题;elasticsearch的属主和属组都是elasticsearch用户;
启动报错:Unable to lock JVM Memory: error=12, reason=Cannot allocate memory.-----检查JVM的Heap Size是否调整。
集群无法正常启动:因为我是在云主机上配置的,开始图方便,配置好其中一台node之后就拿这台机器去克隆的其他8台,结果最后改完配置完成总启动不正常,卸载重新安装也不行;查看node的cluster_uuid一直是“__ha__”。排除了两天才发现,克隆机器的es data目录没有清空干净,存在残留的集群信息。囧....
对官网上下面这句话的理解:
为了集群稳定性官方推荐,master和data node做分离,需要设置最小主节点数;但是由于刚安装成功的elasticsearch默认是master和data在一起的,比如我有9个节点,开始理解以为munimum_master_nodes就设置为9/2+1=5个,官方文档读多了之后才发现,应该是:9个节点,我把其中3个node作为master,那么这个munimum_master_nodes就应该是3/2+1=2。
使用Elasticsearch + Logstash + Kibana搭建日志集中分析平台实践
Ubuntu 14.04搭建ELK日志分析系统(Elasticsearch+Logstash+Kibana)
Ubuntu 14.04中Elasticsearch集群配置