智能检测OpenSearch集群风险
在日常的运维工作中,运维人员需要定期对OpenSearch集群进行健康检查,以确保业务的稳定运行。然而,传统的手动检查方式不仅耗时耗力,而且容易遗漏关键问题,导致业务长期受到影响。为了解决这一问题,CSS服务提供了智能运维功能,支持定时和手动诊断,涵盖多项关键检测项,如数据节点磁盘使用率检测、集群健康状态检测、节点CPU利用率检测等。通过这些检测,运维人员可以及时发现并处理潜在的风险点,提高集群的可靠性和可用性。此外,智能运维功能默认保留最新的11个报告,确保用户可以随时查看最新的诊断结果,还支持导出报告,方便进一步分析和存档。
约束限制
- 当集群处于以下“集群状态”时,不支持启用智能诊断功能:集群冻结、集群创建中、创建失败。
- 当有正在进行中的诊断任务时,不允许重复下发执行手动诊断。
- 当集群处于变更过程中(如扩容、缩容、规格变更等),智能检测结果可能不准确,建议在变更完成后重新执行诊断任务。
- 使用智能诊断功能时默认允许系统读取集群及数据配置类相关信息,以进行诊断分析。
诊断项
如表1所示列举了智能运维支持的诊断项。
|
序号 |
诊断项名称 |
检测说明 |
|---|---|---|
|
1 |
数据节点磁盘使用率检测 |
检测集群中磁盘使用率最高的数据节点(含冷数据节点),节点磁盘使用率过高将影响集群稳定性。
|
|
2 |
数据节点磁盘均衡检测 |
分别检测数据节点和冷数据节点的磁盘使用均衡性,节点间磁盘使用率差异过大会导致负载不均。
|
|
3 |
大分片分配均衡检测 |
检测可能导致集群负载不均衡的大索引分片。
|
|
4 |
集群节点配置检测 |
检测集群节点配置的高可用性。
|
|
5 |
集群健康状态检测 |
检测集群索引的整体健康状态。
|
|
6 |
节点最大分片数检测 |
检测各个节点当前分配的分片数,防止因分片过多超过限制值(cluster.max_shards_per_node)导致分片无法分配。
|
|
7 |
超大分片检测 |
检测集群中存储容量 ≥ 100GB的分片。分片过大会导致查询延迟增加和故障恢复时间延长,建议单分片容量控制在50GB内。
|
|
8 |
热索引读写检测(间隔一分钟) |
检测最近一分钟内集群查询与写入量最多的索引,降序展示Top10结果。同步检测Top10索引的主分片数是否能被数据节点数或冷数据节点数整除,避免负载不均。 |
|
9 |
失联节点检测 |
检测集群节点连通状态,节点失联会严重影响集群性能,需优先处理。 |
|
10 |
集群节点连接数均衡检测 |
检测Client节点(若无则检测数据节点)的9200端口连接数,按连接数降序展示节点连接信息。 |
|
11 |
客户端连接检测(来源IP分析) |
检测Client节点(若无则检测数据节点)的9200端口连接,按连接数降序展示所有外部来源IP及Top10连接详情。 |
|
12 |
节点CPU利用率检测(间隔一分钟) |
对所有节点采样两次CPU利用率(间隔1分钟),计算每个节点的平均CPU利用率,用于评估节点负载状态。
|
|
13 |
JVM堆内存使用率检测(间隔一分钟) |
对所有节点采样两次JVM堆内存使用率(间隔1分钟),计算每个节点的平均JVM堆内存使用率,用于评估节点负载状态。
|
|
14 |
本地盘集群副本检测 |
检测本地盘集群中未设置副本的索引,预防节点磁盘故障导致数据丢失。 |
定时诊断
- 登录云搜索服务管理控制台。
- 在左侧导航栏,选择“集群管理 > OpenSearch”。
- 在集群列表,单击目标集群名称,进入集群详情页。
- 选择“智能运维 > 智能诊断”。
- 在智能诊断页面,单击“开启定时诊断”,在对话框中配置定时任务。
表2 开启定时诊断 参数
说明
诊断类型
选择诊断类型。
- 全量检测:全量检测项,支持全选或只选择部分检测项进行检测。
- 集群不可用检测:集群不可用时,使用该诊断类型可以快速诊断集群健康状态。
诊断项
选择需要定时检测的诊断项。
- 当“诊断类型”选择“全量检测”时,支持自定义定时检测的诊断项。
- 当“诊断类型”选择“集群不可用检测”时,默认检测集群不可用分类的检测项。
时区
选择诊断时间对应的时区,基于此时区选择定时诊断的开始时间。
诊断时间
选择定时诊断的开始时间。
将在每日设定的诊断时间自动开启智能诊断。
- 配置完成后,单击“确定”,保存定时诊断任务。
配置成功后,智能诊断页面会显示定时任务信息。
图1 查看定时诊断任务
按照定时诊断策略自动检测的报告将呈现在下方或“历史报告”中。
- 在智能诊断页面,管理定时诊断任务,包括修改和关闭定时诊断任务。
- 修改定时诊断任务:单击“修改配置”,在修改定时诊断的对话框中,修改配置,单击“确定”,更新定时诊断策略。
- 关闭定时诊断任务:单击“关闭定时诊断”,在弹窗中单击“确定”,关闭定时诊断。此时,智能诊断页面的定时任务信息将被删除。
手动诊断
- 登录云搜索服务管理控制台。
- 在左侧导航栏,选择“集群管理 > OpenSearch”。
- 在集群列表,单击目标集群名称,进入集群详情页。
- 选择“智能运维 > 智能诊断”。
- 在智能诊断页面,配置诊断任务,单击“开启诊断”。
图2 手动诊断
表3 手动诊断 参数
说明
诊断类型
选择诊断类型。
- 全量检测:全量检测项,支持全选或只选择部分检测项进行检测。
- 集群不可用检测:集群不可用时,使用该诊断类型可以快速诊断集群健康状态。
诊断项
选择当前需要检测的诊断项。
- 当“诊断类型”选择“全量检测”时,支持自定义待检测的诊断项。
- 当“诊断类型”选择“集群不可用检测”时,默认检测集群不可用分类的检测项。
- 等待1~3分钟,检测完成后,下方会直接显示诊断报告。
查看历史报告
历史报告中同时保存定时诊断和手动诊断报告,且最多只保留最近的10条智能诊断结果。
- 登录云搜索服务管理控制台。
- 在左侧导航栏,选择“集群管理 > OpenSearch”。
- 在集群列表,单击目标集群名称,进入集群详情页。
- 选择“智能运维 > 历史报告”。
- 在历史报告页面,选择创建时间以筛选特定时间段的历史诊断报告,查看历史诊断报告。
图3 选择历史报告
单击右侧的“导出报告”,可以将当前历史报告保存到本地,以便后续分析和存档。