- 首页
- 功能手册
- MySQL 监控
MySQL 监控(mysqlmon)
功能与采集机制
- 支持多实例:每个实例独立地址、账号与阈值,可单独启用 / 停用。
- 每轮采集执行
SHOW GLOBAL STATUS、max_connections、SHOW SLAVE/REPLICA STATUS(兼容 MySQL 8.4),派生 14 项核心指标。 - 采集间隔统一由「系统设置 → 数据库监控」控制(默认 60 秒)。
- 宕机判定:连续 3 次采集失败判定实例宕机(critical 告警),恢复后再上报。
添加实例
- 「实例列表」右上点击添加实例。
- 填写基本信息与阈值(默认值见下表),保存前可点测试连接验证。
| 字段 | 默认 | 说明 |
|---|---|---|
| 实例名称 | — | 如「生产库」,用于展示与告警文案 |
| 主机 / 端口 | 127.0.0.1 / 3306 | 本机或远程实例 |
| 用户名 / 密码 / 数据库名 | — | 建议只读账号;密码 AES-256-GCM 加密落库,编辑时留空表示不修改 |
| 运行线程阈值 | 50 | threads_running 超限告警(压力核心指标) |
| 连接占比阈值 | 0.9 | 连接数 / max_connections 超限告警 |
| 慢查询阈值(/s) | 100 | 慢查询速率告警 |
| 备份配置 | 留空 = 公共 | 实例级覆盖,详见 MySQL 备份 |
实例管理与测试
| 操作 | 行为 |
|---|---|
| 编辑 | 修改连接信息与阈值(密码留空不改) |
| 停用 / 启用 | 暂停 / 恢复该实例采集 |
| 测试 | 立即采集一轮并提示「连接成功,已采集:连接 X 运行 Y QPS=Z」;若该账号权限过大(如 ALL PRIVILEGES / SUPER / FILE)会额外弹出降权提示 |
| 自动封禁 | 切换该实例的「攻击源自动封禁」开关(开 / 关) |
| 删除 | 移除实例(历史事件保留) |
14 项指标定义
| 指标 | 单位 | 含义 |
|---|---|---|
| 连接线程数 threads_connected | 个 | 当前已建立连接数 |
| 运行线程数 threads_running | 个 | 正在执行的线程数(压力核心指标) |
| 查询速率 qps | 次/秒 | 每秒执行请求数 |
| 慢查询速率 slow_queries_rate | 次/秒 | 每秒新增慢查询数 |
| 连接占用率 running_ratio | % | 当前连接数 / max_connections |
| 连接池耗尽错误 conn_errors_max | 次 | 本采集周期新增的 max_connections 打满被拒次数,>0 即异常(增量口径) |
| 缓冲池命中率 bp_hit_rate | % | 本采集周期 InnoDB 缓冲池命中率(区间增量口径),低于 99% 偏慢 |
| 行锁等待次数 row_lock_waits | 次 | 行锁累计等待(增量判定) |
| 死锁次数 deadlocks | 次 | 死锁累计发生(增量判定) |
| 下载 / 上传吞吐 bytes_recv / sent | B/s | 每秒收发流量 |
| 磁盘临时表率 tmp_disk_ratio | % | 本采集周期磁盘临时表占比(区间增量口径),偏高表示内存不足 |
| 主从复制延迟 repl_delay | 秒 | 从库落后秒数,>30s 告警 |
| 全表扫描次数 select_full_join | 次 | 无索引全表扫描累计(慢查询隐患,增量判定) |
阈值与告警判定
| 判定 | 级别 |
|---|---|
| 运行线程 > 50(默认)、连接占比 > 90%、慢查询 > 100/s、命中率 < 99%、复制延迟 > 30s、行锁 / 全表扫描增量 > 100、磁盘临时表 > 20%、认证失败突增 ≥ 30/周期、DELETE/UPDATE/TRUNCATE/ALTER 突增 ≥ 500/周期、来源 IP 认证失败新增超阈值 | warning |
| 连接池耗尽新增(conn_errors_max > 0)、死锁、实例宕机、认证失败突增 ≥ 100/周期、DROP TABLE / DROP DATABASE、来源 IP 防火墙封禁失败 | critical |
| 实例从宕机恢复 | warning |
异常/攻击防护
| 能力 | 说明 |
|---|---|
| 认证/连接失败突增 | 对 Aborted_connects / Connection_errors_*(及 MariaDB Access_denied_errors)按周期增量检测,超阈记异常并上报 |
| 破坏性语句检测 | DROP TABLE / DROP DATABASE 出现即 critical;DELETE/UPDATE/TRUNCATE/ALTER 大批量突增告警 |
| 攻击来源自动封禁 | 实例命中失败突增时查询 performance_schema.host_cache,按来源 IP 本周期新增认证失败数超阈值自动防火墙封禁;开关 / 来源阈值 / 封禁时长均在实例编辑中配置。白名单与内置 127.0.0.1 / ::1 永不封禁;无 performance_schema 权限或表不存在时静默降级为仅告警。封禁记录见「防火墙」台账(来源标记「MySQL 监控」),并可由登录监控的对账机制自动补挂规则 |
| 连接 TLS | 实例可选:不启用 / 优先(服务器支持则加密)/ 强制(校验证书)/ 强制(不校验证书),保护凭据在传输中 |
| 超阈值记异常 | 认证失败突增、破坏性语句、来源超阈均写入「MySQL 异常」(含未开启自动封禁时),看门狗上报 category 统一为 mysql;封禁失败记 ban_firewall_fail(critical) |
指标明细与趋势
- 「指标明细」面板:实例选择器 + 指标选择器(「全部指标一张图」或 14 个单项);上方 8 个当前值小卡(悬停有指标说明),下方趋势图显示最近 60 个采集点。
- 「最近异常」面板:时间 / 实例 / 指标 / 当前值 / 阈值 / 详情;完整历史在「系统日志 → MySQL 异常」。
- 本页每 60 秒自动刷新。
Qidun 启盾 v1.2.17 · 离线静态文档 · 界面基于 KuoqiUI · 返回首页