You need to enable JavaScript to run this app.
导航
智能巡检
最近更新时间:2025.10.29 10:36:03首次发布时间:2025.05.13 10:01:58
复制全文
我的收藏
有用
有用
无用
无用

智能巡检是一种预防性维护措施,用于定期检查系统和集群的状态,及时发现潜在问题。智能巡检会按照巡检项输出报告,您可以提前发现和解决问题,减少系统故障和停机时间,保障系统的稳定性和可靠性。本文将介绍智能巡检功能情况以及如何创建巡检任务、管理巡检报告,并针对巡检异常指标给出排查和优化建议。

功能概述

智能巡检功能情况说明如下。

细项

说明

巡检项

当前智能巡检从系统负载和集群负载两方面执行巡检,巡检具体内容如下:
Image

巡检类型

  • 手动巡检:手动触发。
  • 周期巡检:定时执行,可选择按天/周/月执行巡检任务。

巡检结果

巡检任务执行完成后,系统将输出巡检报告,从巡检项及其严重等级、异常影响程度等角度,帮助用户分析集群问题,并提供处理建议。

资源占用

智能巡检将占用当前集群资源,影响性能,建议在使用低峰期进行操作,避免影响业务。

创建巡检任务
  1. 登录 ByteHouse 控制台,在诊断优化页签下,进入智能巡检页面,单击巡检任务页签,单击创建巡检任务
    Image
  2. 在创建巡检任务页面,填写任务基本信息,选择巡检类型,查看巡检内容。
    Image

    注意

    智能巡检将占用当前集群资源,建议在使用低峰期进行操作,避免影响业务。

    • 巡检任务配置信息

      参数项

      参数说明

      巡检任务名称

      支持自定义巡检任务名称。

      集群

      选择巡检的集群。

      巡检类型

      支持手动巡检和定期巡检。

      • 手动巡检:您可在创建巡检任务后,需在巡检任务列表中,手动触发执行。
      • 定期巡检:您可配置巡检周期,在巡检周期内,系统将自动执行巡检任务。
    • 巡检内容说明:详情请参见相关参考:巡检内容

  3. 单击确定。系统将创建巡检任务。
  4. 您可在巡检任务列表查看已创建的任务。也可在巡检任务列表中选择集群或输入任务名称,查看巡检任务。

手动执行巡检任务

对于巡检类型设置为手动巡检的任务,您可按需手动触发执行任务。
在巡检任务列表中,单击操作列的立即执行按钮,在弹窗中单击确定,系统将针对集群执行巡检。
Image
系统提示“执行巡检任务成功”后,您可在巡检报告页面查看巡检任务执行结果。

管理巡检报告

您可在巡检报告页面查看生成的巡检报告,查看巡检结果、对集群的影响及处理建议。

查看巡检报告

在巡检报告页面,您可查看已生成的巡检报告列表,并根据集群名称和巡检报告名称进行筛选。
您可单击巡检报告 ID 或操作列查看报告按钮,查看报告详情。
Image
巡检报告展示了巡检明细,包括巡检项、巡检值、严重等级、巡检类别、异常影响、处理建议等信息。您可根据巡检值、严重等级、异常影响等信息,判断是否需要处理该异常。
Image

下载巡检报告

在巡检报告页面,单击操作列下载报告按钮,将下载当前报告。
Image
也可单击巡检报告 ID,进入详情页,单击下载报告
Image

(可选)删除巡检报告

如需删除巡检报告,可在巡检报告页面,单击操作列删除按钮,删除当前报告。

相关参考:巡检内容说明

ByteHouse 企业版当前支持的巡检项及巡检项数值异常的影响及处理建议说明如下:

类别

巡检项

巡检项说明及风险等级判断规则

影响说明

处理建议

系统负载

节点宕机数

巡检周期内是否存在节点宕机。风险等级判断规则如下:

  • 正常:0
  • 高风险:宕机数 ≥1

节点宕机可能导致查询失败、数据写入失败等。

节点宕机时,ByteHouse 团队会高优先级介入处理,一般情况下会自动恢复。
您也可以通过监控进一步确定宕机节点,可通过集群管理 > 目标集群名 > 监控告警 > 操作系统负载 > 节点宕机数 查看。
如果节点宕机长时间未恢复,或需要立即处理,请联系 ByteHouse 售后支持团队。

分片宕机数

巡检周期内是否存在分片宕机。风险等级判断规则如下:

  • 正常:0
  • 高风险:宕机数 ≥1

分片宕机可能导致查询失败、数据写入失败等。

分片宕机时 ByteHouse 团队会高优先级介入处理,一般情况下会自动恢复。
您也可以通过监控进一步确定宕机节点,可通过集群管理 > 目标集群名 > 监控告警 > 操作系统负载 > Shard 故障数 count 查看。
如果节点宕机长时间未恢复,或需要立即处理,请联系 ByteHouse 售后支持团队。

磁盘异常数

巡检周期内是否存在磁盘异常。风险等级判断规则如下:

  • 正常:0
  • 高风险:异常数 ≥1

磁盘异常可能导致数据写入失败,查询失败。

您可通过监控查看磁盘是否已满,可通过集群管理 > 目标集群名 > 监控告警 > 操作系统负载 > 磁盘剩余容量 GiB 查看磁盘情况。
如果磁盘已满,可进行磁盘扩容,或删除部分历史数据。磁盘扩容操作可通过发起垂直变配,调整存储资源数值,请参见垂直变配
如果扩容或删除历史数据后,仍无法恢复,请联系 ByteHouse 售后支持团队。

平均 CPU 使用率

巡检周期内 CPU 实际工作时间占总时间的百分比。风险等级判断规则如下:

  • 正常:[0,80%)
  • 中风险:[80,90%)
  • 高风险:平均 CPU 使用率超过 90% 且持续超 30 分钟

CPU 使用率过高,可能导致整体查询性能变慢。

平均 CPU 使用率过高通常是整体查询负载过高,或个别大查询导致的。前者一般需要增加集群资源解决,后者需要识别并优化大查询。详细说明和处理请见平均 CPU 使用率

IO 使用率

巡检周期内 IO 实际工作时间占总时间的百分比。风险等级判断规则如下:

  • 正常:[0,90%)
  • 高风险:IO 使用率超过 90% 且持续超 1 分钟

IO 使用率过高,会导致集群写入、查询性能变慢,进而拖累整个集群导致一些查询、写入失败。

通过监控查看 ByteHouse 负载和查询负载中的指标,如查询(Query)并发数、后台合并(merge)任务数、并发数、数据导入任务等指标是否有激增,判断是否相关任务影响了 IO,可根据指标情况进一步优化查询。您可通过集群管理 > 目标集群名 > 监控告警 路径查看上述相关指标。
如果相关指标正常,但仍存在该异常,请联系 ByteHouse 售后支持团队处理。

平均内存使用率%

巡检周期内内存占用总量与内存总容量的百分比平均值。风险等级判断规则如下:

  • 正常:[0,80%)
  • 中风险:[80,90%)
  • 高风险:[90,100%)

内存使用率过高,可能导致数据查询、写入失败等

可通过后台合并任务、运行中查询、查询缓存三方面排查内存使用率高的原因。详细说明和处理请见性能诊断之内存占用分析

平均磁盘使用率%

磁盘中已用空间占总容量百分比的平均值。风险等级判断规则如下:

  • 正常:[0,80%)
  • 中风险:[80,90%)
  • 高风险:[90,100%)

平均磁盘使用率过高,有磁盘写满导致写入失败的风险

您可分析数据占用结构,并进行磁盘扩容,或删除部分历史数据。详细说明和处理请见平均磁盘使用率

平均 iNode 占用比%

文件系统中 iNode(索引节点)的已用量与总量的百分比。风险等级判断规则如下:

  • 正常:[0,80%)
  • 中风险:[80,90%)
  • 高风险:[90,100%)

平均 iNode 占用比过高,可能导致集群写入失败。

文件数占用较高,通常是因为小文件过多,ByteHouse 后台会进行自动合并小文件。
如果长期存在 iNode 占用比高的情况,请联系 ByteHouse 售后支持团队。

网络带宽流入

网络带宽流入占满可能导致查询、数据写入变慢等

请联系 ByteHouse 售后支持团队。

网络带宽流入

网络带宽流出占满可能导致查询、数据写入变慢等

请联系 ByteHouse 售后支持团队。

系统盘使用率%

操作系统所在磁盘分区的存储空间占用比例。风险等级判断规则如下:

  • 正常:[0,80%)
  • 中风险:持续超过 80%

系统盘使用率过高,可能导致一些系统日志记录失败。

出现该异常时,请联系 ByteHouse 售后支持团队。

集群负载

集群 Part 数

集群中 parts 总数,符合以下任意一条标准则判断为高风险:

  1. 判断实例级别 parts 数是否过多的标准:
    • 最近一次巡检的 parts 数 ≥250,000。
    • 最近一次巡检的 parts 数与 7 天内最低 parts 数相比,增长率 ≥30%。
  2. 判断单表级别 parts 数是否过多的标准:
    • 单表 parts 数最近一次巡检结果 ≥30,000。
    • 该实例该表 parts 最近一次巡检结果与最近 3 天内的巡检平均值相比,增长率 >10%。

集群 part 数过多,会导致后台合并任务压力过大,查询性能会下降,同时可能会导致写入失败。

查看是哪些表的 part 数比较多,是否存在部分 merge_part 异常。详细说明和处理请见集群 Part 数

查询成功率

成功完成的查询请求数占总查询请求数的百分比。风险等级判断规则如下:

  • 中风险:成功率小于 95%。

查询成功率越低,业务系统查询失败感知越明显。

使用 SQL 诊断功能定位指定时间段的查询失败 SQL,识别和分析查询失败原因,优先解决高频查询失败 SQL,将查询成功率提升至可接受水平。
SQL 诊断功能使用说明请参见SQL 诊断

写入成功率

成功写入数据的请求数占总写入请求数的百分比。风险等级判断规则如下:

  • 中风险:成功率小于 95%。

写入成功率越低,业务写入失败的数据就越多,可能丢失的数据就越多。

查询系统表 query_log 获取相关写入语句的失败原因,通过失败原因定位问题、解决问题。
系统表 query_log 查询方式请参见query_log

数据变更执行时间过长

数据变更(mutation)操作的执行时间超过预设阈值。风险等级判断规则如下:

  • 高风险:存在执行超过 6 小时的变更。

数据变更操作执行时间过长,会导致该表的后续变更执行失败。

查询系统表 mutations,排查数据变更操作执行过长的原因,详细说明和处理请见数据变更执行时间

Broken table

集群中是否存在表损坏。风险等级判断规则如下:

  • 正常:集群中不存在 broken table。
  • 高风险:存在 broken table。

出现 broken table,该表可能没办法正常工作。

查询系统表 broken_tables 排查出现 broken table 的原因,详细说明和处理请见Broken table

没有 leader 的表

集群中是否存在无 leader 的表。风险等级判断规则如下:

  • 正常:集群中不存在无 leader 的表。
  • 高风险:存在无 leader 的表且超过 30 分钟。

出现没有 leader 的表,该表可能没办法正常工作。

查询相关系统表排查出现没有 leader 表的原因,详细说明和处理请参见查询哪些表没有 leader

并发数

集群中所有类型请求的并行执行数量总和。风险等级判断规则如下:

  • 高风险:并发数达到最大值 200 且持续超 30 分钟。

Query 并发数越高,可能会触发并发数的上限导致 Query 失败。

查看是否有长时间未执行完或卡住的查询,造成并发数异常,或针对高并发点查场景进行整体性能调优。详细说明和处理请见并发数

MergeTree 个数

集群中 MergeTree 表个数总和。风险等级判断规则如下:

  • 正常:[0,1000)
  • 中风险:[1000,2000)
  • 高风险:大于等于 2000 且持续超 30 分钟

MergeTree 表个数过多时,会导致表相关元数据查询会变慢,可能会影响集群整体性能。

查询系统表获取当前有哪些表,并删除不必要的表。
查询系统表的操作说明请参见查看 MergeTree 表个数
删除表的操作说明请参见删除语句 (DROP)

集群慢查询个数

集群中慢查询个数总和。风险等级判断规则如下:

  • 正常:0
  • 中风险:[1,5)
  • 高风险:大于等于 5 且持续超 30 分钟

慢查询会拖累集群整体性能。

查询系统表定位哪些查询比较慢,通过相关指标获取慢的原因,详细说明和处理请参见集群慢查询数量

最大主备同步延迟表个数

集群中主备架构的表中,存在 “主备数据同步延迟” 的表的总和。风险等级判断规则如下:

  • 正常:0
  • 中风险:[1,10)
  • 高风险:大于等于 10 且持续超 30 分钟

最大主备同步延迟表个数越多,表示越多的表在副本之间的数据不一致,可能导致业务查询不到完整数据。

查询系统表,定位出现同步慢的表,详细说明和处理请参见最大主备同步延迟表个数

分布式表延迟文件个数

分布式集群中,分布式表在数据写入、分片同步过程中,生成的 “延迟标记文件” 的总个数。风险等级判断规则如下:

  • 正常:[0,100)
  • 中风险:[100,200)
  • 高风险:大于等于200且持续超 30 分钟

分布式表延迟文件个数越多,表示有许多往分布式表中写入的数据没有写入,从而增大丢数的风险,同时文件中的数据也没办法被业务读取。

查询系统表定位分布式表延迟文件个数多的原因。详细说明和处理请参见分布式表延迟文件个数

错误的数据变更个数

当前集群中存在的错误的数据变更个数总和。风险等级判断规则如下:

  • 正常:0
  • 中风险:无
  • 高风险:大于等于1

数据变更执行失败,会导致该表的后续数据变更也执行失败。

查询系统表 mutations,排查数据变更执行失败的原因,详细说明和处理请参见错误的数据变更个数

Kafka 消息积压

Kafka 消息积压数总和。风险等级判断规则如下:

  • 正常:[0,10M)
  • 中风险:[10M,20M)
  • 高风险:大于等于20M且持续超 30 分钟

Kafka 消息积压过多,会导致消息没办法被及时消费,从而影响 ByteHouse 集群的数据查询。

查询系统表&云监控排查消息积压的原因,详细说明和处理请参见Kafka 消息积压

Kafka 消费错误数

Kafka 消费错误数总和。风险等级判断规则如下:

  • 正常:0
  • 高风险:大于等于1

Kafka 表消费失败。

查询 Kafka 系统表获取失败原因,详细说明和处理请参见Kafka 消费错误数

磁盘使用率较昨日增长xx%

集群节点当天磁盘使用率与前一天磁盘使用率的差值百分比。风险等级判断规则如下:

  • 正常:[-100%,10%)
  • 中风险:[10%,20%)
  • 高风险:大于等于 20% 且持续超 30 分钟

磁盘增长过快可能会导致磁盘打满。

详细说明和处理请参见磁盘占用率较昨日增长 xx%

CPU 使用率(近 24 小时取 30 分钟平均值)较昨日增长xx%

该指标用于评估集群节点 CPU 资源消耗的增长幅度。计算方法为:近 24 小时内,每 30 分钟计算一次 CPU 使用率的平均值,再将这些平均值整合为一个代表近 24 小时 CPU 使用水平的值,该值与昨日同期相同统计方式得到的 CPU 使用率值相比的增长百分比。
风险等级判断规则如下:

  • 正常:[-100%,10%)
  • 中风险:[10%,20%)
  • 高风险:大于等于20%且持续超 30 分钟

CPU 增长过快可能会导致 CPU 打满。

详细说明和处理请参见CPU 使用率较昨日增长 xx%

内存使用率(近 24 小时取 30 分钟平均值)较昨日增长xx%

该指标用于监控集群节点内存资源占用的增长情况。计算方法为:近 24 小时内,每 30 分钟计算一次内存使用率的平均值,再将这些平均值整合为一个代表近 24 小时内存使用水平的值,该值与昨日同期相同统计方式得到的内存使用率值相比的增长百分比。

  • 正常:[-100%,10%)
  • 中风险:[10%,20%)
  • 高风险:大于等于20%且持续超 30 分钟

内存增长过快可能会导致内存打满。

详细说明和处理请参见内存使用率较昨日增长 xx%

P95 耗时(近 24 小时取 30 分钟平均值)较昨日增长xx%

该指标用于评估集群业务请求的响应延迟增长情况。计算方法为:近 24 小时内,每 30 分钟计算一次 P95 耗时的平均值,再将这些平均值整合为一个代表近 24 小时 P95 耗时水平的值,该值与昨日同期相同统计方式得到的 P95 耗时值相比的增长百分比。

  • 正常:[-100%,10%)
  • 中风险:[10%,20%)
  • 高风险:大于等于20%且持续超 30 分钟

P95 耗时增加,集群性能下降。

详细说明和处理请参见P95 耗时较昨日增长 xx%

集群 QPS(近 24 小时取 30 分钟平均值)较昨日增长xx%

该指标用于衡量集群的业务请求并发量增长幅度。计算方法为:近 24 小时内,每 30 分钟计算一次集群 QPS 的平均值,再将这些平均值整合为一个代表近 24 小时集群 QPS 水平的值,该值与昨日同期相同统计方式得到的集群 QPS 值相比的增长百分比。

  • 正常:[-100%,10%)
  • 中风险:[10%,20%)
  • 高风险:大于等于20%且持续超 30 分钟

集群 QPS 增加,可能会增加集群的负载。

详细说明和处理请参见集群 QPS 较昨日增长 xx%