本文详细说明了RDS MySQL实例各项巡检的核心检查项、主要价值以及具体的判断规则与展示信息,旨在为用户提供一份全面的技术参考。
巡检项概览
实例状态 | 资源使用情况 | 性能指标 |
慢查询分析 | 错误日志分析 | 锁等待与死锁 |
连接与会话 | 备份与恢复 | 高可用与容灾 |
安全配置 | 存储引擎 | Schema与对象 |
目前RDS实例巡检项仅支持MySQL引擎。
1. 实例状态
核心检查项(5项)
运行状态检查: 检测实例当前运行状态(
RUNNING、STOPPED、CREATING等),识别异常状态。锁定状态检查: 检查实例是否被锁定及锁定原因。
到期续费检查: 检查包年包月实例的到期时间和自动续费状态。
版本信息检查: 展示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 (正常): 实例未锁定,
LockMode为Unlock(未锁定)。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秒以上)。
TOP慢SQL分析: 分析执行时间最长的TOP N慢SQL。
高频慢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 N慢SQL分析 (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项)
活跃会话状态: 监控
ActiveSession和ThreadsRunning的平均值和峰值。长时间运行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%)。
展示信息: 高/中风险表数量及列表。