本文为您介绍在使用 ES 集群过程中需要重点关注的一些指标及其告警建议配置:
指标 | 告警建议配置 | 详细说明 |
集群健康状态 | 统计周期1分钟,≥1,持续5个周期,每30分钟告警一次 | 集群健康状态取值为: 0:绿色,表示集群所有主分片和副本分片都可用,集群处于最健康的状态。 1:黄色,表示所有的主分片均可用,但存在不可用副本分片。此时,搜索结果仍然是完整的,但集群的高可用性在一定程度上受到影响,数据面临较高的丢失风险。 2:红色,表示至少一个主分片以及它的全部副本分片均不可用。集群处于红色状态意味着已有部分数据不可用,搜索只能返回部分数据,而分配到丢失分片上的请求会返回异常。 集群健康状态是集群当前运行情况的最直接体现,当集群处于黄色或红色状态时,应立即排查产生原因,并及时修复,防止数据丢失和服务不可用。 |
平均磁盘使用率 | 统计周期1分钟,>80%,持续5个周期,每30分钟告警一次 | 平均磁盘使用率表示集群各节点磁盘使用率的平均值。磁盘使用率过高会导致节点没有足够的磁盘空间容纳分配到该节点上的分片,从而导致创建索引,添加文档等基本操作执行失败。建议在平均磁盘使用率超过75%时及时清理数据或扩容集群。另外可以参考 使用 Curator 在腾讯云 Elasticsearch 中自动删除过期数据,为集群配置定时清理任务。 |
最大磁盘使用率 | 统计周期1分钟,>85%,持续5个周期,每30分钟告警一次 | 磁盘最大使用率大于85%,已触发磁盘低水位,需要关注。建议在最大磁盘使用率超过80%时立即清理数据或扩容集群。 |
平均 JVM 内存使用率 | 统计周期1分钟,>85%,持续5个周期,每30分钟告警一次 | 平均 JVM 堆内内存使用率表示集群各节点 JVM 内存使用率的平均值。JVM 内存使用率过高会导致读写操作被拒绝,集群 GC 频繁,甚至出现 OOM 等问题。当发现 JVM 内存使用率超过阈值时,建议通过纵向扩容的方式提高集群节点的规格。 |
最大 JVM 内存使用率 | 统计周期1分钟,>85%,持续5个周期,每30分钟告警一次 | 最大 JVM 使用率大于85%,已发生内存熔断,说明集群有热点,需要确认是否是负载不均。 |
平均 CPU 使用率 | 统计周期1分钟,>90%,持续5个周期,每30分钟告警一次 | 平均 CPU 使用率表示集群各节点 CPU 使用率的平均值。该值过高会导致集群节点处理能力下降,甚至宕机。发现 CPU 过高时,应根据集群当前节点配置情况和业务情况,提高节点规格或降低业务请求量。 |
最大 CPU 使用率 | 统计周期1分钟,>90%,持续5个周期,每30分钟告警一次 | 最大 CPU 使用率大于90%,则说明集群有热点,需要确认是否是负载不均。 |
集群活跃节点数 | 统计周期1分钟,环比下降 1%,持续1个周期,每30分钟告警一次 | 节点环比下降说明有节点发生了离线,需要确认是否是集群性能不足。 |
集群分片数 | 统计周期1分钟,>{换算后的值},持续1个周期,每30分钟告警一次 换算公式:{单节点 JVM} * 20 * {节点数} | 过多的索引分片会严重影响集群性能,需要关注。 |
集群内所有节点磁盘有IO操作的时间 | 统计周期1分钟,>80%,持续5个周期,每30分钟告警一次 | IO util 大于80%,则说明集群 IO 操作非常密集,需要确认是否 IO 存在瓶颈,例如 IOPS 、IO 吞吐量。 |
bulk 拒绝率 | 统计周期1分钟,>0%,持续1个周期, 每30分钟告警一次 | bulk 拒绝率表示单周期内集群执行 bulk 操作被拒绝次数占 bulk 总操作次数的百分比。当 bulk 拒绝率大于0%,即出现 bulk 拒绝时,说明集群已经达到了 bulk 操作处理能力的上限,或集群出现异常,应及时排除出现 bulk 拒绝的原因并及时解决,否则会影响业务的 bulk 操作,甚至出现数据丢失情况。 |
查询拒绝率 | 统计周期1分钟,>0%,持续1个周期,每30分钟告警一次 | 查询拒绝率表示单周期内集群执行查询操作被拒绝次数占查询总操作数的百分比。当查询拒绝率大于0%,即出现查询拒绝时,说明集群已经达到了查询操作处理能力的上限,或集群出现异常,应及时排查出现查询拒绝的原因并及时解决,否则会影响业务的查询操作。 |
查询任务耗时90分位 | 统计周期1分钟,>10000,持续1个周期,每30分钟告警一次 | 查询任务耗时大于10000ms,则说明集群有慢查询,需要确认是否合理或是集群性能发生瓶颈。 |
集群1min内慢查询个数 | 统计周期1分钟,>10000,持续1个周期,每30分钟告警一次 | 慢查询个数>10000,则说明集群有大量慢查询,需要确认是否合理或是集群性能发生瓶颈。 |
集群分片使用率 | 统计周期1分钟,>80%,持续1个周期,每30分钟告警一次 | 集群分片使用率表示分布系统中集群各个分片使用的资源情况。分片使用率达到上限会影响索引创建,需要重点关注。如临近上限,则需要扩容节点数量,或临时按需执行如下 API,但该操作有风险,建议用户提单进行评估后再执行。
|
此外腾讯云 ES 现已支持群聊告警推送,建议根据告警紧急程度,将不同类型的告警发送到相应的群聊中,以确保及时响应。目前支持以下群聊告警推送: