集群监控与故障排查
本章定位:运维 Elasticsearch 的核心能力是"看得见问题"和"修得好故障"。本章覆盖四个核心监控 API 和三类常见故障的排查流程。
定义与作用
集群监控通过 _cluster/health、_cat、_nodes/stats、慢日志等 API 实时观察集群状态。故障排查在集群出现 Red 状态、写入拒绝、搜索超时等问题时,快速定位根因。
完整示例:李眉的运维案例
日常监控
# 集群健康状态(最重要)
GET /_cluster/health?pretty
# 节点资源总览
GET /_cat/nodes?v&h=name,ip,heap.percent,ram.percent,cpu,load_1m,disk.used_percent,role
# 线程池检查(核心指标!)
GET /_cat/thread_pool/search?v&h=node,name,active,queue,rejected,completed
磁盘水位线写保护
# 诊断:disk_threshold 触发只读
GET /_cluster/allocation/explain
# 解决:清理索引 → 解除只读
PUT /_all/_settings
{ "index.blocks.read_only_allow_delete": null }
慢日志配置
PUT /students/_settings
{
"index.search.slowlog.threshold.query.warn": "200ms",
"index.indexing.slowlog.threshold.index.warn": "100ms"
}
小结
监控四件套:_cluster/health、_cat、_nodes/stats、慢日志。三类故障:磁盘满→清理/扩存储;搜索慢→检查线程池 rejected、慢日志;GC 频繁→检查堆大小、fielddata 缓存。