智能诊断
在日常的运维工作中,运维人员需要定期对Elasticsearch集群进行健康检查,以确保业务的稳定运行。然而,传统的手动检查方式不仅耗时耗力,而且容易遗漏关键问题,导致业务长期受到影响。为了解决这一问题,CSS服务提供了智能运维功能,支持定时和手动诊断,涵盖多项关键检测项,如数据节点磁盘使用率检测、集群健康状态检测、节点CPU利用率检测等。通过这些检测,运维人员可以及时发现并处理潜在的风险点,提高集群的可靠性和可用性。此外,智能运维功能默认保留最新的11个报告,确保用户可以随时查看最新的诊断结果,还支持导出报告,方便进一步分析和存档。
约束限制
- 当集群处于以下“集群状态”时,不支持启用智能诊断功能:集群冻结、集群创建中、创建失败。
- 当有正在进行中的诊断任务时,不允许重复下发执行手动诊断。
- 当集群处于变更过程中(如扩容、缩容、规格变更等),智能检测结果可能不准确,建议在变更完成后重新执行诊断任务。
- 使用智能诊断功能时默认允许系统读取集群及数据配置类相关信息,以进行诊断分析。
诊断模式选型
在执行诊断前,请根据业务场景选择合适的诊断模式。
| 对比维度 | 定时诊断 | 手动诊断 |
|---|---|---|
| 触发方式 | 每日定时自动执行。 | 用户主动触发,即时执行。 |
| 适用场景 | 日常巡检、建立健康基线、长期趋势观察。 | 集群出现异常时快速定位问题、变更前后验证集群状态。 |
| 推荐人群 | 运维团队(日常保障)。 | 研发/运维人员(故障排查)。 |
| 诊断类型 |
|
|
诊断项说明
如表2所示列举了智能运维支持的诊断项。
| 序号 | 诊断项名称 | 检测说明 |
|---|---|---|
| 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 | 本地盘集群副本检测 | 检测本地盘集群中未设置副本的索引,预防节点磁盘故障导致数据丢失。 |
配置定时诊断
设置每日自动执行诊断任务,无需人工介入,持续监测集群健康风险。
- 登录云搜索服务管理控制台。
- 在左侧导航栏,选择“集群管理 > Elasticsearch”。
- 在集群列表,单击目标集群名称,进入集群详情页。
- 选择“智能运维 > 智能诊断”。
- 在智能诊断页面,单击“开启定时诊断”,在对话框中配置定时任务。
表3 开启定时诊断 参数
说明
诊断类型
选择诊断类型。
- 全量检测:全量检测项,支持全选或只选择部分检测项进行检测。
- 集群不可用检测:集群不可用时,使用该诊断类型可以快速诊断集群健康状态。
诊断项
选择需要定时检测的诊断项。
- 当“诊断类型”选择“全量检测”时,支持自定义定时检测的诊断项。
- 当“诊断类型”选择“集群不可用检测”时,默认检测集群不可用分类的检测项。
时区
选择诊断时间对应的时区,基于此时区选择定时诊断的开始时间。
诊断时间
选择每日自动执行智能诊断的时间点。
- 配置完成后,单击“确定”,保存定时诊断任务。
配置成功后,智能诊断页面会显示定时任务信息,且每日定时诊断报告将自动呈现在下方或“历史报告”中。
图1 查看定时诊断任务
报告中显示高风险项、中风险项、正常项和提示项,及其各检测项的结果和优化建议,优先处理高风险项和中风险项。
- 在智能诊断页面,管理定时诊断任务,包括修改和关闭定时诊断任务。
- 修改定时诊断任务:单击“修改配置”,在修改定时诊断的对话框中,修改配置,单击“确定”,更新定时诊断策略。
- 关闭定时诊断任务:单击“关闭定时诊断”,在弹窗中单击“确定”,关闭定时诊断。此时,智能诊断页面的定时任务信息将被删除。
执行手动诊断
在集群出现异常或变更操作完成后,立即触发一次诊断,快速定位问题或验证集群状态。
- 登录云搜索服务管理控制台。
- 在左侧导航栏,选择“集群管理 > Elasticsearch”。
- 在集群列表,单击目标集群名称,进入集群详情页。
- 选择“智能运维 > 智能诊断”。
- 在智能诊断页面,配置诊断任务,单击“开启诊断”,启动即时诊断任务。 图2 手动诊断
表4 手动诊断 参数
说明
诊断类型
选择诊断类型。
- 全量检测:全量检测项,支持全选或只选择部分检测项进行检测。
- 集群不可用检测:集群不可用时,使用该诊断类型可以快速诊断集群健康状态。
诊断项
选择当前需要检测的诊断项。
- 当“诊断类型”选择“全量检测”时,支持自定义待检测的诊断项。
- 当“诊断类型”选择“集群不可用检测”时,默认检测集群不可用分类的检测项。
- 等待1~3分钟,检测完成后,下方会直接呈现诊断报告。
- 单击“导出报告”,将诊断报告保存到本地,便于进一步分析、故障定位或存档留证。
查看历史报告
回溯历史诊断结果,对比不同时间段的集群健康趋势,辅助容量规划与问题复盘。
历史报告最多保留最近10条记录(定时诊断和手动诊断共享该配额)。超出上限后,最旧的报告将被自动清理,重要报告请及时导出留存。
- 登录云搜索服务管理控制台。
- 在左侧导航栏,选择“集群管理 > Elasticsearch”。
- 在集群列表,单击目标集群名称,进入集群详情页。
- 选择“智能运维 > 历史报告”。
- 在历史报告页面,选择创建时间以筛选特定时间段的历史诊断报告,查看历史诊断报告。 图3 选择历史报告
- 单击右侧的“导出报告”,可以将当前历史报告保存到本地。