智能巡检是一种预防性维护措施,用于定期检查系统和集群的状态,及时发现潜在问题。智能巡检会按照巡检项输出报告,您可以提前发现和解决问题,减少系统故障和停机时间,保障系统的稳定性和可靠性。本文将介绍智能巡检功能情况以及如何创建巡检任务、管理巡检报告,并针对巡检异常指标给出排查和优化建议。
智能巡检功能情况说明如下。
细项 | 说明 |
|---|---|
巡检项 | 当前智能巡检从系统负载和集群负载两方面执行巡检,巡检具体内容如下: |
巡检类型 |
|
巡检结果 | 巡检任务执行完成后,系统将输出巡检报告,从巡检项及其严重等级、异常影响程度等角度,帮助用户分析集群问题,并提供处理建议。 |
资源占用 | 智能巡检将占用当前集群资源,影响性能,建议在使用低峰期进行操作,避免影响业务。 |
注意
智能巡检将占用当前集群资源,建议在使用低峰期进行操作,避免影响业务。
巡检任务配置信息
参数项 | 参数说明 |
|---|---|
巡检任务名称 | 支持自定义巡检任务名称。 |
集群 | 选择巡检的集群。 |
巡检类型 | 支持手动巡检和定期巡检。
|
巡检内容说明:详情请参见相关参考:巡检内容。
对于巡检类型设置为手动巡检的任务,您可按需手动触发执行任务。
在巡检任务列表中,单击操作列的立即执行按钮,在弹窗中单击确定,系统将针对集群执行巡检。
系统提示“执行巡检任务成功”后,您可在巡检报告页面查看巡检任务执行结果。
您可在巡检报告页面查看生成的巡检报告,查看巡检结果、对集群的影响及处理建议。
在巡检报告页面,您可查看已生成的巡检报告列表,并根据集群名称和巡检报告名称进行筛选。
您可单击巡检报告 ID 或操作列查看报告按钮,查看报告详情。
巡检报告展示了巡检明细,包括巡检项、巡检值、严重等级、巡检类别、异常影响、处理建议等信息。您可根据巡检值、严重等级、异常影响等信息,判断是否需要处理该异常。
在巡检报告页面,单击操作列下载报告按钮,将下载当前报告。
也可单击巡检报告 ID,进入详情页,单击下载报告。
如需删除巡检报告,可在巡检报告页面,单击操作列删除按钮,删除当前报告。
ByteHouse 企业版当前支持的巡检项及巡检项数值异常的影响及处理建议说明如下:
类别 | 巡检项 | 巡检项说明及风险等级判断规则 | 影响说明 | 处理建议 |
|---|---|---|---|---|
系统负载 | 节点宕机数 | 巡检周期内是否存在节点宕机。风险等级判断规则如下:
| 节点宕机可能导致查询失败、数据写入失败等。 | 节点宕机时,ByteHouse 团队会高优先级介入处理,一般情况下会自动恢复。 |
分片宕机数 | 巡检周期内是否存在分片宕机。风险等级判断规则如下:
| 分片宕机可能导致查询失败、数据写入失败等。 | 分片宕机时 ByteHouse 团队会高优先级介入处理,一般情况下会自动恢复。 | |
磁盘异常数 | 巡检周期内是否存在磁盘异常。风险等级判断规则如下:
| 磁盘异常可能导致数据写入失败,查询失败。 | 您可通过监控查看磁盘是否已满,可通过集群管理 > 目标集群名 > 监控告警 > 操作系统负载 > 磁盘剩余容量 GiB 查看磁盘情况。 | |
平均 CPU 使用率 | 巡检周期内 CPU 实际工作时间占总时间的百分比。风险等级判断规则如下:
| CPU 使用率过高,可能导致整体查询性能变慢。 | 平均 CPU 使用率过高通常是整体查询负载过高,或个别大查询导致的。前者一般需要增加集群资源解决,后者需要识别并优化大查询。详细说明和处理请见平均 CPU 使用率。 | |
IO 使用率 | 巡检周期内 IO 实际工作时间占总时间的百分比。风险等级判断规则如下:
| IO 使用率过高,会导致集群写入、查询性能变慢,进而拖累整个集群导致一些查询、写入失败。 | 通过监控查看 ByteHouse 负载和查询负载中的指标,如查询(Query)并发数、后台合并(merge)任务数、并发数、数据导入任务等指标是否有激增,判断是否相关任务影响了 IO,可根据指标情况进一步优化查询。您可通过集群管理 > 目标集群名 > 监控告警 路径查看上述相关指标。 | |
平均内存使用率% | 巡检周期内内存占用总量与内存总容量的百分比平均值。风险等级判断规则如下:
| 内存使用率过高,可能导致数据查询、写入失败等 | 可通过后台合并任务、运行中查询、查询缓存三方面排查内存使用率高的原因。详细说明和处理请见性能诊断之内存占用分析。 | |
平均磁盘使用率% | 磁盘中已用空间占总容量百分比的平均值。风险等级判断规则如下:
| 平均磁盘使用率过高,有磁盘写满导致写入失败的风险 | 您可分析数据占用结构,并进行磁盘扩容,或删除部分历史数据。详细说明和处理请见平均磁盘使用率。 | |
平均 iNode 占用比% | 文件系统中 iNode(索引节点)的已用量与总量的百分比。风险等级判断规则如下:
| 平均 iNode 占用比过高,可能导致集群写入失败。 | 文件数占用较高,通常是因为小文件过多,ByteHouse 后台会进行自动合并小文件。 | |
网络带宽流入 | 无 | 网络带宽流入占满可能导致查询、数据写入变慢等 | 请联系 ByteHouse 售后支持团队。 | |
网络带宽流入 | 无 | 网络带宽流出占满可能导致查询、数据写入变慢等 | 请联系 ByteHouse 售后支持团队。 | |
系统盘使用率% | 操作系统所在磁盘分区的存储空间占用比例。风险等级判断规则如下:
| 系统盘使用率过高,可能导致一些系统日志记录失败。 | 出现该异常时,请联系 ByteHouse 售后支持团队。 | |
集群负载 | 集群 Part 数 | 集群中 parts 总数,符合以下任意一条标准则判断为高风险:
| 集群 part 数过多,会导致后台合并任务压力过大,查询性能会下降,同时可能会导致写入失败。 | 查看是哪些表的 part 数比较多,是否存在部分 merge_part 异常。详细说明和处理请见集群 Part 数。 |
查询成功率 | 成功完成的查询请求数占总查询请求数的百分比。风险等级判断规则如下:
| 查询成功率越低,业务系统查询失败感知越明显。 | 使用 SQL 诊断功能定位指定时间段的查询失败 SQL,识别和分析查询失败原因,优先解决高频查询失败 SQL,将查询成功率提升至可接受水平。 | |
写入成功率 | 成功写入数据的请求数占总写入请求数的百分比。风险等级判断规则如下:
| 写入成功率越低,业务写入失败的数据就越多,可能丢失的数据就越多。 | 查询系统表 | |
数据变更执行时间过长 | 数据变更(mutation)操作的执行时间超过预设阈值。风险等级判断规则如下:
| 数据变更操作执行时间过长,会导致该表的后续变更执行失败。 | 查询系统表 | |
Broken table | 集群中是否存在表损坏。风险等级判断规则如下:
| 出现 broken table,该表可能没办法正常工作。 | 查询系统表 | |
没有 leader 的表 | 集群中是否存在无 leader 的表。风险等级判断规则如下:
| 出现没有 leader 的表,该表可能没办法正常工作。 | 查询相关系统表排查出现没有 leader 表的原因,详细说明和处理请参见查询哪些表没有 leader。 | |
并发数 | 集群中所有类型请求的并行执行数量总和。风险等级判断规则如下:
| Query 并发数越高,可能会触发并发数的上限导致 Query 失败。 | 查看是否有长时间未执行完或卡住的查询,造成并发数异常,或针对高并发点查场景进行整体性能调优。详细说明和处理请见并发数。 | |
MergeTree 个数 | 集群中 MergeTree 表个数总和。风险等级判断规则如下:
| MergeTree 表个数过多时,会导致表相关元数据查询会变慢,可能会影响集群整体性能。 | 查询系统表获取当前有哪些表,并删除不必要的表。 | |
集群慢查询个数 | 集群中慢查询个数总和。风险等级判断规则如下:
| 慢查询会拖累集群整体性能。 | 查询系统表定位哪些查询比较慢,通过相关指标获取慢的原因,详细说明和处理请参见集群慢查询数量。 | |
最大主备同步延迟表个数 | 集群中主备架构的表中,存在 “主备数据同步延迟” 的表的总和。风险等级判断规则如下:
| 最大主备同步延迟表个数越多,表示越多的表在副本之间的数据不一致,可能导致业务查询不到完整数据。 | 查询系统表,定位出现同步慢的表,详细说明和处理请参见最大主备同步延迟表个数。 | |
分布式表延迟文件个数 | 分布式集群中,分布式表在数据写入、分片同步过程中,生成的 “延迟标记文件” 的总个数。风险等级判断规则如下:
| 分布式表延迟文件个数越多,表示有许多往分布式表中写入的数据没有写入,从而增大丢数的风险,同时文件中的数据也没办法被业务读取。 | 查询系统表定位分布式表延迟文件个数多的原因。详细说明和处理请参见分布式表延迟文件个数。 | |
错误的数据变更个数 | 当前集群中存在的错误的数据变更个数总和。风险等级判断规则如下:
| 数据变更执行失败,会导致该表的后续数据变更也执行失败。 | 查询系统表 | |
Kafka 消息积压 | Kafka 消息积压数总和。风险等级判断规则如下:
| Kafka 消息积压过多,会导致消息没办法被及时消费,从而影响 ByteHouse 集群的数据查询。 | 查询系统表&云监控排查消息积压的原因,详细说明和处理请参见Kafka 消息积压。 | |
Kafka 消费错误数 | Kafka 消费错误数总和。风险等级判断规则如下:
| Kafka 表消费失败。 | 查询 Kafka 系统表获取失败原因,详细说明和处理请参见Kafka 消费错误数。 | |
磁盘使用率较昨日增长xx% | 集群节点当天磁盘使用率与前一天磁盘使用率的差值百分比。风险等级判断规则如下:
| 磁盘增长过快可能会导致磁盘打满。 | 详细说明和处理请参见磁盘占用率较昨日增长 xx%。 | |
CPU 使用率(近 24 小时取 30 分钟平均值)较昨日增长xx% | 该指标用于评估集群节点 CPU 资源消耗的增长幅度。计算方法为:近 24 小时内,每 30 分钟计算一次 CPU 使用率的平均值,再将这些平均值整合为一个代表近 24 小时 CPU 使用水平的值,该值与昨日同期相同统计方式得到的 CPU 使用率值相比的增长百分比。
| CPU 增长过快可能会导致 CPU 打满。 | 详细说明和处理请参见CPU 使用率较昨日增长 xx%。 | |
内存使用率(近 24 小时取 30 分钟平均值)较昨日增长xx% | 该指标用于监控集群节点内存资源占用的增长情况。计算方法为:近 24 小时内,每 30 分钟计算一次内存使用率的平均值,再将这些平均值整合为一个代表近 24 小时内存使用水平的值,该值与昨日同期相同统计方式得到的内存使用率值相比的增长百分比。
| 内存增长过快可能会导致内存打满。 | 详细说明和处理请参见内存使用率较昨日增长 xx%。 | |
P95 耗时(近 24 小时取 30 分钟平均值)较昨日增长xx% | 该指标用于评估集群业务请求的响应延迟增长情况。计算方法为:近 24 小时内,每 30 分钟计算一次 P95 耗时的平均值,再将这些平均值整合为一个代表近 24 小时 P95 耗时水平的值,该值与昨日同期相同统计方式得到的 P95 耗时值相比的增长百分比。
| P95 耗时增加,集群性能下降。 | 详细说明和处理请参见P95 耗时较昨日增长 xx%。 | |
集群 QPS(近 24 小时取 30 分钟平均值)较昨日增长xx% | 该指标用于衡量集群的业务请求并发量增长幅度。计算方法为:近 24 小时内,每 30 分钟计算一次集群 QPS 的平均值,再将这些平均值整合为一个代表近 24 小时集群 QPS 水平的值,该值与昨日同期相同统计方式得到的集群 QPS 值相比的增长百分比。
| 集群 QPS 增加,可能会增加集群的负载。 | 详细说明和处理请参见集群 QPS 较昨日增长 xx%。 |