RDS实例巡检项及巡检规则说明

更新时间:
复制为 MD 格式

本文详细说明了RDS MySQL实例各项巡检的核心检查项、主要价值以及具体的判断规则与展示信息,旨在为用户提供一份全面的技术参考。

巡检项概览

实例状态
运行状态、锁定状态、到期续费、版本信息、版本安全漏洞

资源使用情况
CPU、内存、磁盘、IOPS、连接数、存储吞吐量使用率

性能指标
QPS/TPS统计、InnoDB缓冲池命中率、临时表创建

慢查询分析
慢查询日志状态、总数统计、时间分布、TOPSQL、高频慢SQL、来源分析

错误日志分析
错误日志统计、连接失败、认证失败、访问拒绝、安全威胁

锁等待与死锁
MDL锁等待、行锁等待、死锁检测、锁等待超时

连接与会话
活跃会话、长时间运行SQL、阻塞SQL、未提交事务

备份与恢复
数据备份策略、日志备份策略、Binlog开启状态与空间占用、备份历史分析

高可用与容灾
主从复制状态、复制中断统计、HA切换记录、Crash重启记录、跨可用区部署

安全配置
IP白名单、账号权限、密码策略、SSL/TLS加密、安全组配置

存储引擎
引擎分布、系统表引擎、事务支持能力、表碎片、InnoDB运行状态

Schema与对象
大表分布、无主键表、TEXT/BLOB字段、自增主键溢出风险

说明

目前RDS实例巡检项仅支持MySQL引擎。

1. 实例状态

核心检查项(5项)

  • 运行状态检查: 检测实例当前运行状态(RUNNINGSTOPPEDCREATING等),识别异常状态。

  • 锁定状态检查: 检查实例是否被锁定及锁定原因。

  • 到期续费检查: 检查包年包月实例的到期时间和自动续费状态。

  • 版本信息检查: 展示MySQL版本和内核版本信息。

  • 版本安全漏洞检查: 对比当前内核版本与最新版本,识别安全风险。

主要价值

  • 确保实例正常运行,避免因到期或版本问题导致服务中断。

  • 及时发现实例异常状态,防止业务影响。

  • 提醒用户及时续费,避免实例被释放。

  • 识别版本安全漏洞,建议升级到最新版本。

详细规则说明

1.1 实例运行状态 (instance_running_status)

  • 检查项: 检查实例的运行状态。

  • 判断规则:

    • Normal (正常): 实例状态为正常运行状态,包括 RUNNING (运行中)、STOPPED (已停止)、ACTIVATION (激活) 等。

    • Warning (警告): 实例处于临时操作中状态,需要关注,包括 CREATING (创建中)、REBOOTING (重启中)、RESTARTING (重启中)、CLASS_CHANGING (变配中)、VERSION_UPGRADING (版本升级中) 等。

    • Error (错误): 实例状态异常,存在明显问题需要处理,包括 RELEASED (已释放)、DELETED (已删除)、EXPIRED (已过期) 等。

  • 展示信息: 实例状态值 (DBInstanceStatus)。

1.2 实例锁定状态 (instance_lock_status)

  • 检查项: 检查实例是否被锁定。

  • 判断规则:

    • Normal (正常): 实例未锁定,LockModeUnlock (未锁定)。

    • Error (错误): 实例已锁定,LockMode 不为 Unlock

  • 展示信息: 锁定模式 (LockMode)、锁定原因 (LockReason)。

1.3 实例到期时间与续费状态 (instance_expire_time_and_renewal)

  • 检查项: 检查包年包月实例的到期时间和自动续费状态。

  • 判断规则:

    • Normal (正常): 按量付费或 Serverless 实例;包年包月实例剩余天数大于 30 天;包年包月实例剩余天数小于等于 30 天但已开启自动续费。

    • Warning (警告): 包年包月实例剩余天数小于等于 30 天且未开启自动续费。

  • 展示信息: 付费类型 (PayType)、到期时间 (ExpireTime)、剩余天数 (DaysRemaining)、自动续费状态 (AutoRenewEnabled)。

1.4 MySQL版本信息 (mysql_version_info)

  • 检查项: 展示 MySQL 版本信息。

  • 判断规则:

    • Normal (正常): 成功获取版本信息。

  • 展示信息: MySQL 版本 (EngineVersion)。

1.5 版本安全漏洞风险 (version_security_vulnerability)

  • 检查项: 检查内核版本是否落后于最新版本。

  • 判断规则:

    • Normal (正常): 仅做信息展示,用于参考当前内核版本和最新内核版本信息。

  • 展示信息: 当前内核版本 (CurrentKernelVersion)、最新内核版本 (LatestKernelVersion)。

2. 资源使用情况

核心检查项(6项)

  • CPU使用率: 监控CPU使用率,统计高负载时间占比(阈值90%)。

  • 内存使用率: 监控内存使用率,统计高负载时间占比(阈值80%)。

  • 磁盘使用率: 监控磁盘使用率,预测未来8小时趋势(阈值80%)。

  • IOPS使用率: 监控IOPS使用率,统计高负载时间占比(阈值80%)。

  • 连接数使用率: 监控连接数使用率,统计高负载时间占比(阈值80%)。

  • 存储吞吐量: 监控存储吞吐量(MB/s),对比规格上限。

主要价值

  • 识别资源瓶颈,预防因资源耗尽导致的性能问题。

  • 通过趋势预测,提前预警资源不足风险。

  • 为实例规格升级提供数据支撑。

  • 优化资源配置,提升资源利用率。

详细规则说明

2.1 CPU使用率 (cpu_usage)

  • 检查项: 监控 CPU 使用率情况。

  • 判断规则 (高负载阈值:90%):

    • Normal (正常): 高负载时间占比小于 30%。

    • Warning (警告): 高负载时间占比在 [30%, 50%) 区间。

    • Error(错误): 高负载时间占比大于等于 50%。

  • 展示信息: 平均使用率 (avg_usage)、峰值使用率 (peak_usage)、高负载时间占比 (high_load_ratio)。

2.2 内存使用率 (memory_usage)

  • 检查项: 监控内存使用率情况。

  • 判断规则 (高负载阈值:80%):

    • Normal (正常): 高负载时间占比小于 30%。

    • Warning (警告): 高负载时间占比在 [30%, 50%) 区间。

    • Error(错误): 高负载时间占比大于等于 50%。

  • 展示信息: 平均使用率 (avg_usage)、峰值使用率 (peak_usage)、高负载时间占比 (high_load_ratio)。

2.3 磁盘使用率 (disk_usage)

  • 检查项: 监控磁盘使用率情况,并预测未来趋势。

  • 判断规则 (高负载阈值:80%):

    • Normal (正常): 高负载时间占比小于 30%。

    • Warning (警告): 高负载时间占比在 [30%, 50%) 区间。

    • Error(错误): 高负载时间占比大于等于 50%。

  • 展示信息: 平均使用率 (avg_usage)、峰值使用率 (peak_usage)、高负载时间占比 (high_load_ratio)、未来走势 (future_trend)、预测未来8小时超过80%的时间占比 (exceed_threshold_ratio)。

2.4 IOPS使用率 (iops_usage)

  • 检查项: 监控 IOPS 使用率情况。

  • 判断规则 (高负载阈值:80%):

    • Normal (正常): 高负载时间占比小于 30%。

    • Warning (警告): 高负载时间占比在 [30%, 50%) 区间。

    • Error (错误): 高负载时间占比大于等于 50%。

  • 展示信息: 平均使用率 (avg_usage)、峰值使用率 (peak_usage)、高负载时间占比 (high_load_ratio)。

2.5 连接数使用率 (conn_usage)

  • 检查项: 监控连接数使用率情况。

  • 判断规则 (高负载阈值:80%):

    • Normal (正常): 高负载时间占比小于 30%。

    • Warning (警告): 高负载时间占比在 [30%, 50%) 区间。

    • Error(错误): 高负载时间占比大于等于 50%。

  • 展示信息: 平均使用率 (avg_usage)、峰值使用率 (peak_usage)、高负载时间占比 (high_load_ratio)。

2.6 存储吞吐量 (storage_throughput)

  • 检查项: 监控存储吞吐量(MB/s)使用情况。

  • 判断规则 (相对于规格上限):

    • Normal (正常): 峰值使用率小于 80%。

    • Warning (警告): 峰值使用率在 [80%, 90%) 区间。

    • Error (错误): 峰值使用率大于等于 90%。

  • 展示信息: 平均吞吐量 (avg_throughput)、峰值吞吐量 (peak_throughput)、规格上限 (limit)、使用率 (usage_ratio)。

3. 性能指标

核心检查项(4项)

  • QPS性能统计: 展示QPS的最大值、最小值、平均值、方差、波动系数。

  • TPS性能统计: 展示TPS的最大值、最小值、平均值、方差、波动系数。

  • InnoDB缓冲池命中率: 统计命中率平均值、最低值、低于阈值时间占比、标准差。

  • 临时表创建: 统计临时表创建情况(总数、平均每分钟、峰值)和空间占比。

主要价值

  • 发现性能瓶颈,优化SQL执行效率。

  • 监控缓冲池命中率,优化内存配置。

  • 识别临时表问题,优化查询性能。

详细规则说明

3.1 QPS性能统计 (qps_performance)

  • 检查项: 展示 QPS(每秒查询数)的统计信息。

  • 判断规则:

    • Normal (正常): 仅做信息展示,不进行等级判断。

  • 展示信息: QPS 最大值、最小值、平均值、标准差、方差、波动范围、波动系数。

3.2 TPS性能统计 (tps_performance)

  • 检查项: 展示 TPS(每秒事务数)的统计信息。

  • 判断规则:

    • Normal (正常): 仅做信息展示,不进行等级判断。

  • 展示信息: TPS 最大值、最小值、平均值、标准差、方差、波动范围、波动系数。

3.3 InnoDB缓冲池命中率 (innodb_buffer_hit_rate)

  • 检查项: 检查 InnoDB 缓冲池命中率。

  • 判断规则 (命中率阈值:95%):

    • Normal (正常): 低于阈值的时间占比 < 70% 且标准差 ≤ 10%。

    • Warning (警告): 低于阈值的时间占比在 [70%, 90%) 区间,或标准差在 (10%, 20%] 区间。

    • Error (错误): 低于阈值的时间占比 ≥ 90%,或标准差 > 20%。

  • 展示信息: 平均命中率、最低命中率、标准差、波动范围、低于阈值时间占比。

3.4 临时表创建情况 (temp_table_creation)

  • 检查项: 分析临时表创建情况和空间占用。

  • 判断规则:

    • Normal (正常): 平均每分钟创建数 ≤ 16.67,峰值每分钟创建数 ≤ 83.33,且临时表空间占比 ≤ 30%。

    • Warning (警告): 平均每分钟创建数 > 16.67 或峰值 > 83.33,或临时表空间占比在 (30%, 50%] 区间。

    • Error(错误): 平均每分钟创建数 > 83.33 或峰值 > 166.67,或临时表空间占比 > 50%。

  • 展示信息: 总创建数、平均每分钟创建数、每分钟峰值创建数、创建趋势、临时表空间大小与占比。

4. 慢查询分析

核心检查项(6项)

  • 慢查询日志状态: 检查慢查询日志是否开启。

  • 慢查询总数统计: 统计慢查询总数和种类数(按SQLHash聚合)。

  • 慢查询执行时间分布: 分析慢查询的执行时间分布(1-5秒、5-10秒、10秒以上)。

  • TOPSQL分析: 分析执行时间最长的TOP NSQL。

  • 高频慢SQL识别: 识别执行频率最高的慢SQL。

  • SQL来源分析: 分析慢SQL的来源(IP地址、时间分布、数据库分布)。

主要价值

  • 定位性能问题SQL,优化查询效率。

  • 通过慢查询分析,发现性能瓶颈。

  • 识别高频慢SQL,优先优化影响面大的SQL。

详细规则说明

4.1 慢查询日志开关状态 (slow_query_log_status)

  • 检查项: 检查慢查询日志是否开启。

  • 判断规则:

    • Normal (正常): 慢查询日志已开启。

    • Warning (警告): 慢查询日志未开启。

  • 展示信息: 慢查询日志状态 (slow_query_log)。

4.2 慢查询总数统计 (slow_query_total_count)

  • 检查项: 统计慢查询的总数和种类数。

  • 判断规则:

    • Normal (正常): 总执行次数 ≤ 2000 且 SQL 种类数 ≤ 50。

    • Warning (警告): SQL 种类数 > 50。

    • Error (错误): 总执行次数 > 2000。

  • 展示信息: 慢查询 SQL 种类数 (total_sql_types)、总执行次数 (total_executions)。

4.3 慢查询执行时间分布 (slow_query_time_distribution)

  • 检查项: 分析慢查询的执行时间分布。

  • 判断规则:

    • Normal (正常): 10秒以上慢SQL数 ≤ 5 且占比 ≤ 10%,且 5-10秒慢SQL数 ≤ 30 且占比 ≤ 50%。

    • Warning(警告): 10秒以上慢SQL数在 (5, 20] 或占比在 (10%, 30%],或 5-10秒慢SQL数 > 30 或占比 > 50%。

    • Error(错误): 10秒以上慢SQL数 > 20 或占比 > 30%。

  • 展示信息: 各时间段(1-5s, 5-10s, 10s+)慢查询数量、总数量及占比。

4.4 TOP NSQL分析 (top_slow_sql_analysis)

  • 检查项: 分析执行时间最长的 TOP N 慢 SQL。

  • 判断规则:

    • Normal (正常): 所有 TOP SQL 的平均执行时间 ≤ 10 秒。

    • Warning (警告): 存在平均执行时间 > 10 秒的 SQL。

  • 展示信息: TOP 慢 SQL 列表,包含 SQL 文本、平均/最大执行时间、执行次数、扫描/返回行数、数据库名等。

4.5 高频慢SQL识别 (high_frequency_slow_sql)

  • 检查项: 识别执行频率最高的慢 SQL。

  • 判断规则:

    • Normal (正常): 所有高频慢 SQL 的执行次数 ≤ 1000。

    • Warning (警告): 存在执行次数 > 1000 的 SQL。

  • 展示信息: 高频慢 SQL 列表,包含 SQL 文本、执行次数、平均/总执行时间、数据库名等。

4.6 慢SQL来源分析 (slow_sql_source_analysis)

  • 检查项: 分析慢 SQL 的来源。

  • 判断规则:

    • Normal (正常): 单个 IP 的慢 SQL 数量 ≤ 50,且单个时段的慢 SQL 数量 ≤ 100。

    • Warning(警告): 单个 IP 的慢 SQL 数量 > 50,或单个时段的慢 SQL 数量 > 100。

  • 展示信息: 数据库分布、TOP 来源 IP、TOP 时间集中爆发点。

5. 错误日志分析

核心检查项(5项)

  • 错误日志总体统计: 统计错误日志总数和类型分布。

  • 连接失败错误: 分析连接失败错误(按IP聚类)。

  • 认证失败错误: 分析认证失败错误(按IP聚类)。

  • 访问拒绝错误: 分析访问拒绝错误(按IP聚类)。

  • 安全威胁识别: 识别异常IP和集中攻击模式。

主要价值

  • 及时发现异常事件,保障数据库安全。

  • 通过错误日志分析,快速定位问题。

  • 识别安全威胁,加强安全防护。

  • 监控异常访问,预防安全攻击。

详细规则说明

5.1 错误日志总体统计 (error_log_summary)

  • 检查项: 统计错误日志总数和类型分布。

  • 判断规则:

    • Normal (正常): 错误日志总数 ≤ 100。

    • Warning (警告): 错误日志总数在 (100, 500] 区间。

    • Error(错误): 错误日志总数 > 500。

  • 展示信息: 错误日志总数、错误类型分布(TOP 3)。

5.2 连接失败错误 (connection_failed_errors)

  • 检查项: 分析连接失败错误(按 IP 聚类)。

  • 判断规则:

    • Normal (正常): 连接失败错误总数 ≤ 20。

    • Warning (警告): 连接失败错误总数在 (20, 50] 区间。

    • Error (错误): 连接失败错误总数 > 50。

  • 展示信息: 总数、涉及 IP 数、错误最多的 IP、最早/最晚错误时间。

5.3 认证失败错误 (authentication_failed_errors)

  • 检查项: 分析认证失败错误(按 IP 聚类)。

  • 判断规则:

    • Normal (正常): 认证失败错误总数 ≤ 5。

    • Warning (警告): 认证失败错误总数在 (5, 20] 区间。

    • Error(错误): 认证失败错误总数 > 20。

  • 展示信息: 总数、涉及 IP 数、错误最多的 IP、最早/最晚错误时间。

5.4 访问拒绝错误 (access_denied_errors)

  • 检查项: 分析访问拒绝错误(按 IP 聚类)。

  • 判断规则:

    • Normal (正常): 访问拒绝错误总数 ≤ 10。

    • Warning (警告): 访问拒绝错误总数在 (10, 50] 区间。

    • Error(错误): 访问拒绝错误总数 > 50。

  • 展示信息: 总数、涉及 IP 数、错误最多的 IP、最早/最晚错误时间。

5.5 安全威胁识别 (security_threat_analysis)

  • 检查项: 识别异常 IP 和集中攻击模式。

  • 判断规则:

    • Normal (正常): 错误最多的 IP 错误次数 ≤ 20,且无集中攻击模式。

    • Warning (警告): 错误最多的 IP 错误次数 > 20,或存在集中攻击模式但失败尝试 ≤ 20。

    • Error (错误): 错误最多的 IP 错误次数 > 50,或存在集中攻击模式且失败尝试 > 20。

  • 展示信息: 异常 IP 总数、集中攻击 IP 数量、错误最多的 IP 及其错误总数/失败尝试数。

6. 锁等待与死锁

核心检查项(4项)

  • MDL锁等待分析: 分析元数据锁(MDL)等待情况。

  • 当前锁等待分析: 分析当前行锁等待情况。

  • 死锁检测: 从错误日志中检测死锁。

  • 锁等待超时分析: 从错误日志中统计锁等待超时情况。

主要价值

  • 识别锁竞争问题,提升并发性能。

  • 及时发现死锁,优化事务设计。

  • 监控锁等待情况,预防性能问题。

详细规则说明

6.1 MDL锁等待分析 (mdl_lock_wait_analysis)

  • 检查项: 分析元数据锁(MDL)等待情况。

  • 判断规则:

    • Normal (正常): 峰值锁等待会话数 ≤ 10。

    • Warning (警告): 峰值锁等待会话数在 (10, 50] 区间。

    • Error(错误): 峰值锁等待会话数 > 50。

  • 展示信息: 平均/峰值/最小锁等待会话数、峰值出现的时间点。

6.2 当前锁等待分析 (row_lock_wait_analysis)

  • 检查项: 分析当前行锁等待情况。

  • 判断规则:

    • Normal (正常): 等待会话数 ≤ 5。

    • Warning (警告): 等待会话数在 (5, 10] 区间。

    • Error(错误): 等待会话数 > 10。

  • 展示信息: 等待/阻塞事务数、等待/阻塞会话数、锁等待详情(等待/阻塞事务ID、线程、查询、锁信息等)。

6.3 死锁检测 (deadlock_detection)

  • 检查项: 从错误日志中检测死锁。

  • 判断规则:

    • Normal (正常): 死锁次数 ≤ 5 且频率 ≤ 1 次/小时。

    • Warning (警告): 死锁次数在 (5, 10] 或频率在 (1, 2] 次/小时。

    • Error (错误): 死锁次数 > 10 或频率 > 2 次/小时。

  • 展示信息: 死锁次数、死锁频率(次/小时)。

6.4 锁等待超时分析 (lock_wait_timeout_analysis)

  • 检查项: 从错误日志中统计锁等待超时情况。

  • 判断规则:

    • Normal (正常): 超时次数 ≤ 5 且频率 ≤ 1 次/小时。

    • Warning (警告): 超时次数在 (5, 10] 或频率在 (1, 2] 次/小时。

    • Error (错误): 超时次数 > 10 或频率 > 2 次/小时。

  • 展示信息: 锁等待超时次数、锁等待超时频率 (次/小时)。

7. 连接与会话

核心检查项(4项)

  • 活跃会话状态: 监控ActiveSessionThreadsRunning的平均值和峰值。

  • 长时间运行SQL: 识别运行时间超过60秒的SQL语句。

  • 阻塞SQL: 识别当前阻塞的SQL及平均阻塞时长。

  • 未提交事务: 检查未提交事务数量及持续时间分布。

主要价值

  • 优化连接管理,提升数据库并发处理能力。

  • 及时发现长时间运行的SQL,避免资源占用。

  • 识别阻塞问题,优化事务处理。

  • 监控事务状态,预防长事务导致的锁等待。

详细规则说明

7.1 活跃会话状态 (active_session_status)

  • 检查项: 监控活跃会话和运行线程数。

  • 判断规则:

    • Normal (正常): ActiveSession 峰值 ≤ 1000 且 ThreadsRunning 峰值 ≤ 500。

    • Warning (警告): ActiveSession 峰值在 (1000, 2000] 或 ThreadsRunning 峰值在 (500, 1000]。

    • Error (错误): ActiveSession 峰值 > 2000 或 ThreadsRunning 峰值 > 1000。

  • 展示信息: ActiveSession 平均值/峰值、ThreadsRunning 平均值/峰值。

7.2 长时间运行SQL (long_running_sql)

  • 检查项: 识别运行时间超过 60 秒的 SQL。

  • 判断规则:

    • Normal (正常): 长时间运行 SQL 数量 = 0。

    • Warning (警告): 长时间运行 SQL 数量在 (0, 10] 区间。

    • Error(错误): 长时间运行 SQL 数量 > 10。

  • 展示信息: 数量、TOP 5 列表(SQL文本、执行时间、状态、用户等)。

7.3 阻塞SQL (blocked_sql)

  • 检查项: 识别当前阻塞的 SQL。

  • 判断规则:

    • Normal (正常): 阻塞 SQL 数量 = 0。

    • Warning (警告): 阻塞 SQL 数量 > 0 且平均阻塞时长 < 300 秒。

    • Error(错误): 阻塞 SQL 数量 > 10 或平均阻塞时长 ≥ 300 秒。

  • 展示信息: 数量、平均阻塞时长、TOP 5 列表(SQL文本、阻塞时长、状态等)。

7.4 未提交事务 (uncommitted_transactions)

  • 检查项: 检查未提交的事务。

  • 判断规则:

    • Normal (正常): 未提交事务数量 = 0,或无持续时间 > 60秒的事务。

    • Warning (警告): 存在持续时间 > 60秒的事务,或未提交事务数 ≥ 5。

    • Error (错误): 存在持续时间 > 300秒的事务,或未提交事务数 > 9。

  • 展示信息: 数量、平均持续时间、TOP 5 列表(事务ID、状态、持续时间、查询等)。

8. 备份与恢复

核心检查项(7项)

  • 数据备份策略: 检查数据备份是否开启、备份周期、保留天数、备份时间窗口。

  • 日志备份策略: 检查日志备份是否开启、PITR状态、保留天数、高空间保护。

  • Binlog开启状态: 检查Binlog是否开启。

  • Binlog空间占用: 监控Binlog空间占用及占存储容量比例。

  • Binlog备份策略: 检查Binlog保留天数和自动清理配置。

  • Binlog文件列表: 统计Binlog文件数量和总大小。

  • 备份历史分析: 分析备份记录的成功率、失败率和最近一次备份状态。

主要价值

  • 确保数据可恢复性,满足合规要求。

  • 检查备份策略配置,确保备份正常执行。

  • 监控Binlog空间占用,预防空间不足。

  • 分析备份历史,及时发现备份失败问题。

详细规则说明

8.1 数据备份状态和配置 (data_backup_status_and_config)

  • 检查项: 检查数据备份是否开启及策略配置。

  • 判断规则:

    • Normal (正常): 已开启且保留天数 ≥ 7 天。

    • Warning (警告): 已开启但保留天数在 (3, 7) 天。

    • Error (错误): 未开启或保留天数 <= 3 天。

  • 展示信息: 是否开启、备份周期、时间窗口、保留天数等。

8.2 日志备份状态和配置 (log_backup_status_and_config)

  • 检查项: 检查日志备份是否开启及策略配置。

  • 判断规则:

    • Normal (正常): 已开启且保留天数 ≥ 7 天。

    • Warning (警告): 已开启但保留天数在 (3, 7) 天。

    • Error(错误): 未开启或保留天数 <= 3 天。

  • 展示信息: 是否开启、日志备份保留天数、PITR状态、高空间使用保护等。

8.3 Binlog开启状态 (binlog_enable_status)

  • 检查项: 检查 Binlog 是否开启。

  • 判断规则:

    • Normal (正常): Binlog 已开启。

    • Error (错误): Binlog 未开启。

  • 展示信息: Binlog 是否启用 (enabled)。

8.4 Binlog空间占用 (binlog_space_usage)

  • 检查项: 监控 Binlog 空间占用情况。

  • 判断规则:

    • Normal (正常): Binlog 占存储容量 < 20%。

    • Warning (警告): Binlog 占存储容量在 [20%, 50%) 区间。

    • Error (错误): Binlog 占存储容量 ≥ 50%。

  • 展示信息: 当前 Binlog 大小、占存储容量比例。

8.5 Binlog备份策略 (binlog_backup_policy)

  • 检查项: 检查 Binlog 备份策略配置。

  • 判断规则:

    • Normal (正常): 已开启,保留天数在 (3, 30) 天,且自动清理已开启。

    • Warning (警告): 保留天数 ≤ 3 天或 ≥ 30 天,或自动清理未开启。

    • Error (错误): 未开启,或保留天数 ≤ 1 天或 ≥ 60 天。

  • 展示信息: Binlog 保留天数、自动清理是否启用、高空间使用保护。

8.6 Binlog文件列表 (binlog_file_list)

  • 检查项: 统计 Binlog 文件数量和大小。

  • 判断规则:

    • Normal (正常): 文件总数 < 100 且总大小 < 10GB。

    • Warning (警告): 文件总数在 [100, 500) 或总大小在 [10GB, 50GB)。

    • Error(错误): 文件总数 ≥ 500 或总大小 ≥ 50GB。

  • 展示信息: 文件总数、总大小、TOP N 文件列表。

8.7 备份记录历史分析 (backup_history_analysis)

  • 检查项: 分析备份记录的成功率和最近一次备份状态。

  • 判断规则:

    • Normal (正常): 最近一次备份成功且失败率 < 10%。

    • Warning (警告): 最近一次备份失败,或失败率在 [10%, 30%)。

    • Error (错误): 无成功备份,或失败率 ≥ 30%。

  • 展示信息: 总数、成功/失败次数、成功率、最近一次备份信息。

9. 高可用与容灾

核心检查项(5项)

  • 主从复制状态: 检查主从延迟、IO线程状态、SQL线程状态、复制错误。

  • 复制中断统计: 从错误日志中统计复制相关错误频率。

  • HA切换记录: 分析异常HA切换记录(过滤正常手动操作)。

  • Crash重启记录: 从错误日志中识别MySQL Crash重启记录。

  • 跨可用区部署: 检查主备节点是否跨可用区部署。

主要价值

  • 评估高可用配置,保障业务连续性。

  • 监控主从复制状态,确保数据同步正常。

  • 识别HA切换异常,评估高可用稳定性。

  • 检查容灾配置,提升容灾能力。

详细规则说明

9.1 主从复制状态分析 (replication_status_analysis)

  • 检查项: 检查主从复制状态。

  • 判断规则:

    • Normal (正常): 复制未中断且延迟 ≤ 60 秒。

    • Warning (警告): 复制未中断但延迟在 (60, 300] 秒。

    • Error(错误): 复制中断或延迟 > 300 秒。

  • 展示信息: 主从延迟、IO/SQL 线程状态、是否有 IO/SQL 错误。

9.2 复制中断次数统计 (replication_interruption_analysis)

  • 检查项: 从错误日志中统计复制相关错误。

  • 判断规则:

    • Normal (正常): 错误总数 ≤ 5 且频率 ≤ 1 次/小时。

    • Warning (警告): 错误总数 > 5 或频率 > 1 次/小时。

    • Error(错误): 错误总数 > 10 或频率 > 2 次/小时。

  • 展示信息: 错误总数、频率、单小时最大错误数。

9.3 HA异常切换记录分析 (ha_switch_analysis)

  • 检查项: 分析 HA 异常切换记录。

  • 判断规则:

    • Normal (正常): 异常切换次数 < 2。

    • Warning (警告): 异常切换次数在 [2, 6) 区间。

    • Error(错误): 异常切换次数 ≥ 6。

  • 展示信息: 异常切换次数 (abnormal_switch_count)。

9.4 Crash重启记录分析 (restart_stop_analysis)

  • 检查项: 从错误日志中识别 MySQL Crash 重启记录。

  • 判断规则:

    • Normal (正常): Crash 次数 < 2。

    • Warning (警告): Crash 次数在 [2, 6) 区间。

    • Error (错误): Crash 次数 ≥ 6。

  • 展示信息: Crash 次数、Crash 记录列表(错误信息、时间、类型)。

9.5 跨可用区部署分析 (cross_az_deployment_analysis)

  • 检查项: 检查主备节点是否跨可用区部署。

  • 判断规则:

    • Normal (正常): 仅做信息展示,不进行等级判断。

  • 展示信息: 主节点可用区、备节点可用区、是否跨可用区。

10. 安全配置

核心检查项(5项)

  • IP白名单分析: 检查IP白名单配置,识别0.0.0.0/0等安全风险。

  • 账号权限分析: 统计账号类型和状态,识别Super账号过多或Unavailable账号。

  • 密码策略分析: 评估密码策略安全级别(低/中/高)。

  • SSL/TLS状态: 检查SSL/TLS加密连接是否启用。

  • 安全组配置: 检查安全组配置情况。

主要价值

  • 识别安全风险,加强数据安全防护。

  • 检查访问控制配置,防止未授权访问。

  • 评估账号权限配置,遵循最小权限原则。

  • 建议启用SSL加密,保障数据传输安全。

详细规则说明

10.1 IP白名单分析 (ip_whitelist_analysis)

  • 检查项: 检查 IP 白名单配置。

  • 判断规则:

    • Normal (正常): 未配置或配置正常(不含 0.0.0.0/0)。

    • Error(错误): 白名单中包含 0.0.0.0/0

  • 展示信息: 白名单组数量、总/外部/内部 IP 数、是否包含 0.0.0.0/0

10.2 账号权限分析 (account_permission_analysis)

  • 检查项: 分析账号权限配置情况。

  • 判断规则:

    • Normal (正常): Super 账号 ≤ 2 且无 Unavailable 状态账号。

    • Warning (警告): Super 账号 > 2,或存在 Unavailable 状态账号。

  • 展示信息: 总账号数、Normal/Super 类型数、Available/Unavailable 状态数。

10.3 密码策略分析 (password_policy_analysis)

  • 检查项: 分析密码策略配置。

  • 判断规则:

    • Normal (正常): 仅做信息展示,不进行等级判断。

  • 展示信息: 安全级别(低/中/高)。

10.4 SSL/TLS状态 (ssl_tls_status)

  • 检查项: 检查 SSL/TLS 加密连接是否启用。

  • 判断规则:

    • Normal (正常): 仅做信息展示,不进行等级判断。

  • 展示信息: SSL 是否启用 (ssl_enabled)。

10.5 安全组分析 (security_group_analysis)

  • 检查项: 检查安全组配置。

  • 判断规则:

    • Normal (正常): 仅做信息展示,不进行等级判断。

  • 展示信息: 安全组数量、安全组列表(ID、名称、网络类型等)。

11. 存储引擎

核心检查项(5项)

  • 引擎分布分析: 统计用户表中InnoDB、MyISAM等引擎的表数量和总大小。

  • 系统表引擎检查: 检查mysql系统库的表是否使用InnoDB引擎。

  • 事务支持能力分析: 基于MyISAM表占比评估事务支持能力。

  • 表碎片分析: 分析表碎片情况(仅统计碎片超过100MB的表)。

  • InnoDB运行状态: 分析InnoDB运行状态和活跃事务数。

主要价值

  • 优化存储结构,提升数据安全性和性能。

  • 识别MyISAM表风险,建议迁移到InnoDB。

  • 分析表碎片,建议清理碎片释放空间。

  • 监控InnoDB状态,确保存储引擎正常运行。

详细规则说明

11.1 引擎分布分析 (engine_distribution_analysis)

  • 检查项: 分析存储引擎分布情况。

  • 判断规则:

    • Normal (正常): MyISAM 表数量 = 0。

    • Warning (警告): 存在 MyISAM 表。

    • Error(错误): MyISAM 表占比 > 30%。

  • 展示信息: 总表数/大小、各引擎(MyISAM, InnoDB, 其他)表数量和大小。

11.2 系统表引擎检查 (system_table_engine_check)

  • 检查项: 检查 mysql 系统库的表是否使用 InnoDB 引擎。

  • 判断规则:

    • Normal (正常): 所有系统表均使用 InnoDB。

    • Warning (警告): 存在非 InnoDB 引擎的系统表。

  • 展示信息: 非 InnoDB 系统表数量及列表。

11.3 事务支持能力分析 (transaction_support_analysis)

  • 检查项: 基于 MyISAM 表占比评估事务支持能力。

  • 判断规则:

    • Normal (正常): MyISAM 表占比 ≤ 10%。

    • Warning (警告): MyISAM 表占比在 (10%, 50%] 区间。

    • Error (错误): MyISAM 表占比 > 50%。

  • 展示信息: MyISAM 表占比 (myisam_ratio)。

11.4 表碎片分析 (table_fragment_analysis)

  • 检查项: 分析表碎片情况(仅统计碎片 > 100MB 的表)。

  • 判断规则:

    • Normal (正常): 总碎片大小 ≤ 5GB 且占磁盘空间 ≤ 30%。

    • Warning (警告): 总碎片大小在 (5GB, 10GB] 或占磁盘空间在 (30%, 50%]。

    • Error (错误): 总碎片大小 > 10GB 或占磁盘空间 > 50%。

  • 展示信息: 碎片表数量、总碎片大小、占磁盘比例、TOP 碎片表列表。

11.5 InnoDB运行状态 (innodb_runtime_status)

  • 检查项: 分析 InnoDB 运行状态。

  • 判断规则:

    • Normal (正常): InnoDB 健康运行且活跃事务数 ≤ 200。

    • Warning (警告): 无法获取健康状态,或活跃事务数 > 200。

  • 展示信息: 是否健康、活跃事务数。

12. Schema与对象

核心检查项(4项)

  • 大表监控分析: 分析大表情况(仅统计大小超过100MB的表),包含主键和TEXT/BLOB字段信息。

  • 无主键表风险分析: 检查无主键表数量。

  • TEXT/BLOB字段分析: 统计TEXT/BLOB字段数量和涉及表的大小。

  • 自增主键溢出风险分析: 检查自增主键的剩余空间(高风险:0-5%,中风险:5-20%)。

主要价值

  • 优化表结构设计,预防数据溢出风险。

  • 识别大表分布,优化存储和查询性能。

  • 检查主键设计,提升数据完整性。

  • 预防自增主键溢出,避免数据写入失败。

详细规则说明

12.1 大表监控分析 (large_table_analysis)

  • 检查项: 分析大表情况(大小 > 100MB)。

  • 判断规则:

    • Normal (正常): 前 5 张大表总大小占磁盘空间 ≤ 50%。

    • Warning (警告): 前 5 张大表总大小占磁盘空间 > 50%。

  • 展示信息: 大表数量、前 5 张表总大小及占比、大表列表(名称、大小、行数)、第一大表分析。

12.2 无主键表风险分析 (no_primary_key_analysis)

  • 检查项: 检查无主键表。

  • 判断规则:

    • Normal (正常): 无主键表数量 ≤ 10。

    • Warning (警告): 无主键表数量 > 10。

  • 展示信息: 无主键表数量及列表。

12.3 TEXT/BLOB字段分析 (text_blob_field_analysis)

  • 检查项: 分析 TEXT/BLOB 字段情况。

  • 判断规则:

    • Normal (正常): TEXT/BLOB 字段总数 ≤ 50。

    • Warning (警告): TEXT/BLOB 字段总数 > 50。

  • 展示信息: 字段总数、涉及表的总大小和数量、字段数量最多的表列表。

12.4 自增主键溢出风险分析 (auto_increment_overflow_analysis)

  • 检查项: 检查自增主键的剩余空间。

  • 判断规则:

    • Normal (正常): 无中、高风险表。

    • Warning (警告): 存在中风险表(剩余空间 5-20%)。

    • Error (错误): 存在高风险表(剩余空间 0-5%)。

  • 展示信息: 高/中风险表数量及列表。