本文档为您介绍查看阿里云Elasticsearch(简称ES)集群监控状态的方法,同时为您提供了各监控指标的详细说明。

查看集群监控状态

  1. 登录阿里云Elasticsearch控制台
  2. 单击实例ID/名称 > 集群监控
  3. 集群监控页面的集群监控模块,单击监控时段,查看该时段内的监控详情。
    查看监控详情
  4. 单击自定义图标,选择开始时间结束时间,单击确定,可查看自定义时间段内的监控详情。
    自定义时段监控详情
    注意 30天内的查询提供分钟粒度的数据,最多连续查询7天数据。

    各监控指标详情请参见集群监控指标说明

集群监控指标说明


集群监控指标详情

阿里云ES集群的监控指标包含了集群状态集群查询QPS(Count/Second)集群写入QPS(Count/Second)节点CPU使用率(%)节点HeapMemory使用率(%)节点磁盘使用率(%)节点load_1mFullGc次数(个)Exception次数(个)以及快照状态

集群状态

集群状态监控项展示了对应阿里云ES的集群健康度,数值为0.00时表示正常。必须配置,配置方法请参见监控指标配置

当监控项数值不为0(非绿色)时,表示集群状态异常,常见原因如下。
  • 监控期间节点的CPU或HeapMemory使用率太高,或者达到100%。
  • 监控期间节点的磁盘使用率太高(例如节点磁盘使用率超过85%),或者达到100%。
  • 监控期间节点的load_1m负载太高。
  • 监控期间ES集群中的索引健康度有出现非健康(非绿色)状态。
各监控项数值含义如下:
数值 颜色 状态 备注
2.00 Red 不是所有的主要分片都可用。 表示该集群中存在不可用的主分片。即某个或者某几个索引存在主分片丢失(unassigned)的情况。
1.00 Yellow 所有主要分片可用,但不是所有复制分片都可用。 表示该集群中某个或者某几个索引存在副本分片丢失(unassigned)的情况。
0.00 Green 所有主要分片和复制分片都可用。 表示集群中所有的索引都很健康,不存在丢失(unassigned)的分片。

集群查询QPS(Count/Second)

注意 如果查询QPS流量存在较大突增,可能引起CPU或HeapMemory使用率过高或load_1m负载过高,从而影响ES集群服务,业务上需要避免。

集群查询QPS监控项展示了对应阿里云ES集群每秒执行的查询QPS个数。

查询QPS和需要查询索引的主分片个数有关。例如需要查询的索引有5个主分片,则一次查询请求对应5个QPS。

集群写入QPS(Count/Second)

注意 如果写入QPS流量存在较大突增,可能引起CPU或HeapMemory使用率过高或load_1m负载过高,从而影响ES集群服务,业务上需要避免。

集群写入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使用率突增。

  • 监控期间执行过定时任务,例如数据备份任务或其它自定义的任务。

节点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使用率突降。

    如果 Heap Memory 使用率存在突降,期间也可能执行过GC会尝试释放内存(例如FULL GC),会消耗CPU资源。
  • 监控期间执行过定时任务,例如数据备份任务或其它自定义的任务。

节点磁盘使用率(%)

节点磁盘使用率监控项展示了对应ES集群中各节点的磁盘使用率百分比,节点磁盘使用率必须控制在85%以下,强烈建议您配置该监控项。否则可能会出现以下情况,影响ES服务。
  • 默认数据节点的磁盘使用率超过85%,会导致新的shard无法分配,可能会影响ES服务。
  • 默认数据节点的磁盘使用率超过90%,ES会尝试将对应节点中的shard迁移到其它磁盘使用率比较低的数据节点中,可能会影响ES服务。
  • 默认数据节点的磁盘使用率超过95%,系统会对ES集群中的每个索引强制设置read_only_allow_delete属性,此时索引将无法写入数据,只能读取和删除对应索引,可能会影响ES服务。
注意 磁盘使用率报警阀值建议控制在75%以下,不要超过80%。发生报警时,可以提前进行磁盘、节点扩容或清理索引数据等操作,防止影响ES服务。

节点load_1m

节点load_1m监控项展示了对应ES集群中各节点在1分钟内的负载情况,表示各节点的系统繁忙程度。该监控项的正常数值应该低于当前ES节点规格的CPU核数。

当监控项数值超过当前ES节点规格的CPU核数时,服务异常,常见原因如下。
  • 监控期间节点的CPU、HeapMemory使用率高或为100%。
  • 监控期间查询QPS写入QPS流量存在突增或上涨比较大的情况。
  • 监控期间存在耗时比较大的慢查询。

    可能存在个别慢查询或者大量慢查询,可在ES控制台中的日志查询页面,打开对应日志进行查看分析。

以单核的ES节点为例,监控项数值说明如下。
  • Load<1:没有等待的进程。
  • Load==1:系统无额外的资源运行更多的进程。
  • Load>1:进程拥堵,等待资源。

FullGc次数(个)

警告 当系统出现频繁FULL GC时,会影响ES集群服务。

FullGc次数监控项展示了对应ES集群中1分钟内的GC总次数。

当监控项数值不为0时,服务异常,常见原因如下。

  • 监控期间HeapMemory使用率比较高。
  • 监控期间存在比较大的内存对象。

Exception次数(个)

Exception次数监控项展示了对应ES集群的主日志中,一分钟内出现的警告级别日志的总个数。

当监控项数值不为0时,服务异常,常见原因如下。

  • 监控期间查询请求可能存在异常。
  • 监控期间写入请求可能存在异常。
  • 监控期间ES执行任务时,可能遇到异常。
  • 监控期间执行过GC。
说明
  • 在ES控制台中的日志查询页面,单击主日志。在主日志页面,根据时间点查看详细异常信息,并分析异常原因。
  • 如果主日志中有GC记录,也会在Exception次数监控项中进行统计展示。

快照状态

Exception次数监控项展示了对应ES集群控制台中的自动备份功能的快照状态。当监控项数值为-1或0时,表示服务正常。

监控项数值为2时,服务异常,常见原因如下。

  • 节点磁盘使用率很高或接近100%。
  • ES集群不健康。
监控项的数值含义如下。
  • 0:表示有快照。
  • -1:表示没有快照。
  • 1:表示正在进行快照。
  • 2:表示快照任务失败。