更新时间:2026-01-09 GMT+08:00
分享

智能检测OpenSearch集群风险

在日常的运维工作中,运维人员需要定期对OpenSearch集群进行健康检查,以确保业务的稳定运行。然而,传统的手动检查方式不仅耗时耗力,而且容易遗漏关键问题,导致业务长期受到影响。为了解决这一问题,CSS服务提供了智能运维功能,支持定时和手动诊断,涵盖多项关键检测项,如数据节点磁盘使用率检测、集群健康状态检测、节点CPU利用率检测等。通过这些检测,运维人员可以及时发现并处理潜在的风险点,提高集群的可靠性和可用性。此外,智能运维功能默认保留最新的11个报告,确保用户可以随时查看最新的诊断结果,还支持导出报告,方便进一步分析和存档。

约束限制

  • 当集群处于以下“集群状态”时,不支持启用智能诊断功能:集群冻结、集群创建中、创建失败。
  • 当有正在进行中的诊断任务时,不允许重复下发执行手动诊断。
  • 当集群处于变更过程中(如扩容、缩容、规格变更等),智能检测结果可能不准确,建议在变更完成后重新执行诊断任务。
  • 使用智能诊断功能时默认允许系统读取集群及数据配置类相关信息,以进行诊断分析。

诊断项

表1所示列举了智能运维支持的诊断项。

表1 诊断项说明

序号

诊断项名称

检测说明

1

数据节点磁盘使用率检测

检测集群中磁盘使用率最高的数据节点(含冷数据节点),节点磁盘使用率过高将影响集群稳定性。

  • 高风险:达到85%时,该节点无法分配新索引的副本。
  • 中风险:超过80%时建议立即处理,避免达到故障阈值。

2

数据节点磁盘均衡检测

分别检测数据节点和冷数据节点的磁盘使用均衡性,节点间磁盘使用率差异过大会导致负载不均。

  • 高风险:节点间磁盘使用率最大差值 ≥ 40%
  • 中风险:25% ≤ 节点间磁盘使用率最大差值 < 40%

3

大分片分配均衡检测

检测可能导致集群负载不均衡的大索引分片。

  • 高风险:分片存储 ≥ 50GB 且索引仅1个主分片。
  • 中风险:分片存储 ≥ 50GB 且主分片数不能被数据节点/冷数据节点整除。

4

集群节点配置检测

检测集群节点配置的高可用性。

  • 单/双节点风险:不含独立Master节点的集群,数据节点(含冷数据节点)数至少需要3个,以保证单个节点故障时集群仍然可用。
  • 主节点过载风险:数据节点 ≥ 10个时需配置独立Master节点,避免主节点负载过高。
  • 单Client节点风险:集群仅含1个独立Client节点,可能导致单个Client节点故障后集群无法连接。

5

集群健康状态检测

检测集群索引的整体健康状态。

  • 高风险:red,存在未分配的主分片(部分索引不可用)。
  • 中风险:yellow,主分片正常但副本分片缺失(高可用性降低)。
  • 正常:green,所有主/副本分片正常分配。

6

节点最大分片数检测

检测各个节点当前分配的分片数,防止因分片过多超过限制值(cluster.max_shards_per_node)导致分片无法分配。

  • 高风险:节点已分配分片数的最大值 ≥ 节点分片限制的90%
  • 中风险:节点分片限制的85% ≤ 节点已分配分片数的最大值 < 节点分片限制的90%

7

超大分片检测

检测集群中存储容量 ≥ 100GB的分片。分片过大会导致查询延迟增加和故障恢复时间延长,建议单分片容量控制在50GB内。

  • 高风险:最大分片 ≥ 500GB
  • 中风险:100GB ≤ 最大分片 < 500GB

8

热索引读写检测(间隔一分钟)

检测最近一分钟内集群查询与写入量最多的索引,降序展示Top10结果。同步检测Top10索引的主分片数是否能被数据节点数或冷数据节点数整除,避免负载不均。

9

失联节点检测

检测集群节点连通状态,节点失联会严重影响集群性能,需优先处理。

10

集群节点连接数均衡检测

检测Client节点(若无则检测数据节点)的9200端口连接数,按连接数降序展示节点连接信息。

11

客户端连接检测(来源IP分析)

检测Client节点(若无则检测数据节点)的9200端口连接,按连接数降序展示所有外部来源IP及Top10连接详情。

12

节点CPU利用率检测(间隔一分钟)

对所有节点采样两次CPU利用率(间隔1分钟),计算每个节点的平均CPU利用率,用于评估节点负载状态。

  • 高风险:平均CPU利用率 ≥ 90% 或数据获取失败
  • 中风险:80% ≤ 平均CPU利用率 < 90%

13

JVM堆内存使用率检测(间隔一分钟)

对所有节点采样两次JVM堆内存使用率(间隔1分钟),计算每个节点的平均JVM堆内存使用率,用于评估节点负载状态。

  • 高风险:平均JVM堆内存使用率 ≥ 90% 或数据获取失败
  • 中风险:80% ≤ 平均JVM堆内存使用率 < 90%

14

本地盘集群副本检测

检测本地盘集群中未设置副本的索引,预防节点磁盘故障导致数据丢失。

定时诊断

  1. 登录云搜索服务管理控制台
  2. 在左侧导航栏,选择“集群管理 > OpenSearch”
  3. 在集群列表,单击目标集群名称,进入集群详情页。
  4. 选择“智能运维 > 智能诊断”
  5. 在智能诊断页面,单击“开启定时诊断”,在对话框中配置定时任务。
    表2 开启定时诊断

    参数

    说明

    诊断类型

    选择诊断类型。

    • 全量检测:全量检测项,支持全选或只选择部分检测项进行检测。
    • 集群不可用检测:集群不可用时,使用该诊断类型可以快速诊断集群健康状态。

    诊断项

    选择需要定时检测的诊断项。

    • “诊断类型”选择“全量检测”时,支持自定义定时检测的诊断项。
    • “诊断类型”选择“集群不可用检测”时,默认检测集群不可用分类的检测项。

    时区

    选择诊断时间对应的时区,基于此时区选择定时诊断的开始时间。

    诊断时间

    选择定时诊断的开始时间。

    将在每日设定的诊断时间自动开启智能诊断。

  6. 配置完成后,单击“确定”,保存定时诊断任务。

    配置成功后,智能诊断页面会显示定时任务信息。

    图1 查看定时诊断任务

    按照定时诊断策略自动检测的报告将呈现在下方或“历史报告”中。

  7. 在智能诊断页面,管理定时诊断任务,包括修改和关闭定时诊断任务。
    • 修改定时诊断任务:单击“修改配置”,在修改定时诊断的对话框中,修改配置,单击“确定”,更新定时诊断策略。
    • 关闭定时诊断任务:单击“关闭定时诊断”,在弹窗中单击“确定”,关闭定时诊断。此时,智能诊断页面的定时任务信息将被删除。

手动诊断

  1. 登录云搜索服务管理控制台
  2. 在左侧导航栏,选择“集群管理 > OpenSearch”
  3. 在集群列表,单击目标集群名称,进入集群详情页。
  4. 选择“智能运维 > 智能诊断”
  5. 在智能诊断页面,配置诊断任务,单击“开启诊断”
    图2 手动诊断
    表3 手动诊断

    参数

    说明

    诊断类型

    选择诊断类型。

    • 全量检测:全量检测项,支持全选或只选择部分检测项进行检测。
    • 集群不可用检测:集群不可用时,使用该诊断类型可以快速诊断集群健康状态。

    诊断项

    选择当前需要检测的诊断项。

    • “诊断类型”选择“全量检测”时,支持自定义待检测的诊断项。
    • “诊断类型”选择“集群不可用检测”时,默认检测集群不可用分类的检测项。
  6. 等待1~3分钟,检测完成后,下方会直接显示诊断报告。

    单击“导出报告”,可以将当前诊断报告保存到本地,以便后续分析和存档。

查看历史报告

历史报告中同时保存定时诊断和手动诊断报告,且最多只保留最近的10条智能诊断结果。

  1. 登录云搜索服务管理控制台
  2. 在左侧导航栏,选择“集群管理 > OpenSearch”
  3. 在集群列表,单击目标集群名称,进入集群详情页。
  4. 选择“智能运维 > 历史报告”
  5. 在历史报告页面,选择创建时间以筛选特定时间段的历史诊断报告,查看历史诊断报告。
    图3 选择历史报告

    单击右侧的“导出报告”,可以将当前历史报告保存到本地,以便后续分析和存档。

相关文档