阿里云Elasticsearch(简称ES)对运行中的ES集群,提供了多项监控指标(例如集群状态、集群查询QPS、节点CPU使用率、节点磁盘使用率等),用来监测集群的运行状况。您可以根据这些指标实时了解集群服务的运行状况,及时处理可能存在的风险,保障集群的稳定运行。
集群监控指标概览

阿里云ES集群的监控指标包含了集群状态、集群查询QPS(Count/Second)、集群写入QPS(Count/Second)、节点CPU使用率(%)、节点磁盘使用率(%)、节点HeapMemory使用率(%)、节点load_1m、FullGc次数(个)、Exception次数(个)以及快照状态。
集群状态
集群状态监控项展示了对应阿里云ES的集群健康度,数值为0.00时表示正常。此监控项必须配置,配置方法请参见配置云监控报警。
- 监控期间节点的CPU或HeapMemory使用率过高,甚至达到100%。
- 监控期间节点的磁盘使用率过高(例如节点磁盘使用率超过85%),甚至达到100%。
- 监控期间节点的load_1m负载过高。
- 监控期间阿里云ES集群中的索引健康度出现过非健康(非绿色)状态。
数值 | 颜色 | 状态 | 备注 |
---|---|---|---|
2.00 | 红色 | 不是所有的主要分片都可用。 | 表示该集群中某个或者某几个索引存在主分片丢失(unassigned)的情况。 |
1.00 | 黄色 | 所有主要分片可用,但不是所有复制分片都可用。 | 表示该集群中某个或者某几个索引存在副本分片丢失(unassigned)的情况。 |
0.00 | 绿色 | 所有主要分片和复制分片都可用。 | 表示该集群中所有的索引都很健康,不存在丢失(unassigned)的分片。 |
集群查询QPS(Count/Second)
集群查询QPS监控项展示了对应阿里云ES集群每秒执行的查询QPS个数。
查询QPS和需要查询索引的主分片个数有关。例如需要查询的索引有5个主分片,则一次查询请求对应5个QPS。
集群写入QPS(Count/Second)
集群写入QPS监控项展示了对应阿里云ES集群每秒写入文档的数量。
如果在1秒内,客户端向阿里云ES集群发送1个只包含单个文档的写入请求,则对应1个写入QPS。如果1秒内发送了多个写入请求,则进行累加统计。
如果在1秒内通过_bulk API在一个写入请求中批量写入多个文档,则写入QPS参考该请求中批量推送的总文档个数。如果1秒内发送了多个_bulk API批量写入请求,则进行累加统计。
节点CPU使用率(%)
节点CPU使用率监控项展示了阿里云ES集群中各节点的CPU使用率百分比,当CPU使用率比较高或接近100%时会影响阿里云ES服务。
- 监控期间查询QPS或写入QPS流量存在突增或波动比较大的情况。
- 监控期间存在个别慢查询或慢写入请求。
此情况下,查询和写入QPS流量波动比较小或不明显,可在阿里云ES控制台中的日志查询页面,单击searching慢日志进行查看分析。
- 监控期间该阿里云ES集群中存在大量索引或总分片数量非常多。
由于阿里云ES会监控集群中的索引并写入日志,因此当总索引或总分片个数过多时,容易引起CPU或HeapMemory或load_1m负载过高。
- 监控期间在该阿里云ES集群上执行过Merge操作。
Merge操作会消耗CPU资源,对应节点的Segment Count会出现突降,可在Kibana控制台中节点的Overview页面查看。
- 监控期间执行过GC操作。
GC操作会尝试释放内存(例如FULL GC),消耗CPU资源。可能会导致CPU使用率突增。
- 监控期间执行过定时任务,例如数据备份任务或其它自定义的任务。
节点磁盘使用率(%)
- 默认数据节点的磁盘使用率超过85%,会导致新的shard无法分配,可能会影响阿里云ES服务。
- 默认数据节点的磁盘使用率超过90%,阿里云ES会尝试将对应节点中的shard迁移到其它磁盘使用率比较低的数据节点中,可能会影响阿里云ES服务。
- 默认数据节点的磁盘使用率超过95%,系统会对阿里云ES集群中的每个索引强制设置
read_only_allow_delete
属性,此时索引将无法写入数据,只能读取和删除对应索引,可能会影响阿里云ES服务。
节点HeapMemory使用率(%)
节点HeapMemory使用率监控项展示了对应阿里云ES集群中各节点的HeapMemory使用率百分比。当HeapMemory使用率比较高或存在比较大的内存对象时,会影响阿里云ES服务,也会自动触发GC操作。
- 监控期间查询QPS或写入QPS流量存在突增或波动比较大的情况。
- 监控期间存在个别慢查询或慢写入请求。
此情况下,查询和写入QPS流量波动比较小或不明显,可在阿里云ES控制台中的日志查询页面,单击searching慢日志进行查看分析。
- 监控期间存在大量慢查询或慢写入请求。
此情况下,查询和写入QPS流量波动比较大或很明显,可在阿里云ES控制台中的日志查询页面,单击indexing慢日志进行查看分析。
- 监控期间该阿里云ES集群中存在大量索引或总分片数量非常多。
由于阿里云ES会监控集群中的索引并写入日志,因此当总索引或总分片个数过多时,容易引起CPU或HeapMemory或load_1m负载过高。
- 监控期间在该阿里云ES集群上执行过Merge操作。
Merge操作会消耗CPU资源,对应节点的Segment Count会出现突降,可在Kibana控制台中节点的Overview页面查看。
- 监控期间执行过GC操作。
GC操作会尝试释放内存(例如FULL GC),消耗CPU资源。可能会导致HeapMemory使用率突降。
- 监控期间执行过定时任务,例如数据备份任务或其它自定义的任务。
节点load_1m
节点load_1m监控项展示了对应阿里云ES集群中各节点在1分钟内的负载情况,表示各节点的系统繁忙程度。该监控项的正常数值应该低于当前阿里云ES节点规格的CPU核数。
- 监控期间节点的CPU、HeapMemory使用率高或为100%。
- 监控期间查询QPS或写入QPS流量存在突增或上涨比较大的情况。
- 监控期间存在耗时比较大的慢查询。
可能存在个别慢查询或者大量慢查询,可在阿里云ES控制台中的日志查询页面,打开对应日志进行查看分析。
- 节点load_1m<1:没有等待的进程。
- 节点load_1m=1:系统无额外的资源运行更多的进程。
- 节点load_1m>1:进程拥堵,等待资源。
FullGc次数(个)
FullGc次数监控项展示了对应阿里云ES集群中1分钟内的GC总次数。
当监控项数值不为0时,服务异常,常见原因如下:
- 监控期间HeapMemory使用率比较高。
- 监控期间存在比较大的内存对象。
Exception次数(个)
Exception次数监控项展示了对应阿里云ES集群的主日志中,一分钟内出现的警告级别日志的总个数。
当监控项数值不为0时,服务异常,常见原因如下:
- 监控期间查询请求可能存在异常。
- 监控期间写入请求可能存在异常。
- 监控期间阿里云ES执行任务时,可能遇到异常。
- 监控期间执行过GC操作。
- 在阿里云ES控制台中的日志查询页面,单击主日志。在主日志页面,根据时间点查看详细异常信息,并分析异常原因。
- 如果主日志中有GC记录,也会在Exception次数监控项中进行统计展示。
快照状态
快照状态监控项展示了对应阿里云ES控制台中的自动备份功能的快照状态。当监控项数值为-1或0时,表示服务正常。
监控项数值为2时,服务异常,常见原因如下:
- 节点磁盘使用率很高或接近100%。
- 阿里云ES集群不健康。
- 0:表示有快照。
- -1:表示没有快照。
- 1:表示正在进行快照。
- 2:表示快照任务失败。