关于 MySQL Enterprise Monitor 必知必会的几件事

关于 MySQL Enterprise Monitor 必知必会的几件事

ShawnYan Lv.6

MySQL Enterprise Monitor(以下简称 MEM) 是一款由 MySQL 官方提供的企业级监控工具,作为 MySQL Enterprise 订阅的一部分,它能够对 MySQL 数据库实例及其主机进行实时监控、分析和管理。通过在 MySQL 服务器上安装代理程序,收集服务器的性能指标、状态信息等,并将数据发送到监控服务器进行分析和展示,从而帮助企业及时发现数据库运行中的潜在问题,优化数据库性能,确保数据库的稳定运行。

MEM 组件构成

  1. MySQL Enterprise Monitor Agent

安装在要监控的 MySQL 服务器上的代理程序,负责与主机和 MySQL 服务器通信,收集变量、状态和健康信息等,并将数据发送到 MySQL Enterprise Service Manager。它以低开销的方式运行,对数据库服务器的性能影响较小。

  1. MySQL Enterprise Service Manager

单个服务管理器,用于整理来自多个代理的信息,对收集的数据进行分析和处理,并与合理的值进行比较。当达到设定阈值时,会触发事件,如警报和通知。它还内置了一个 Web 服务器,提供用户界面供用户与之交互。

  1. MySQL Enterprise Monitor 用户界面

即 Service Manager 提供的 Web 接口,用户可通过任何 Web 浏览器访问。在此界面上,用户可以查看代理收集的所有信息,以组或单个服务器的方式查看所有服务器及其当前状态,并且能够控制和配置服务的所有方面,如设置告警规则、查看性能报表、分析查询等。

MEM 安装过程

从 Oracle 官方网站下载最新版本的 MySQL Enterprise Monitor 安装包(下载 .zip 格式的压缩包,解压缩之后得到 .bin 格式的安装包),并上传至目标服务器。

直接执行 bin 文件即可执行安装。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
[root@el7 ~]# ./mysqlmonitor-8.0.39.1555-linux-x86_64-installer.bin
Language Selection

Please select the installation language
[1] English - English
[2] Japanese - 日本語
[3] Simplified Chinese - 简体中文
Please choose an option [1] :
Info: During the installation process you will be asked to enter usernames and
passwords for various pieces of the Enterprise Monitor. Please be sure to make
note of these in a secure location so you can recover them in case they are
forgotten.
Press [Enter] to continue:
----------------------------------------------------------------------------
Welcome to the setup wizard for the MySQL Enterprise Monitor

----------------------------------------------------------------------------
Please specify the directory where the MySQL Enterprise Monitor will be
installed

Installation directory [/opt/mysql/enterprise/monitor]:

...

Info: To configure the MySQL Enterprise Monitor please visit the following page:
https://localhost:18443
Press [Enter] to continue:
[root@el7 ~]#

Service Manager 安装成功后,访问 https://localhost:18443 即可登录,第一次登录时需要配置管理员和 agent 用户、密码。

1.png

接下来,还需要在 MySQL 实例节点安装 mysqlmonitoragent。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
[root@el7 ~]# ./mysqlmonitoragent-8.0.39.1555-linux-x86-64bit-installer.bin
Language Selection

Please select the installation language
[1] English - English
[2] Japanese - 日本語
[3] Simplified Chinese - 简体中文
Please choose an option [1] :
----------------------------------------------------------------------------
Welcome to the MySQL Enterprise Monitor Agent Setup Wizard.

----------------------------------------------------------------------------
Installation directory


Please specify the directory where MySQL Enterprise Monitor Agent will be
installed


Installation directory [/opt/mysql/enterprise/agent]:


How will the agent connect to the database it is monitoring?


[1] TCP/IP
[2] Socket
...

安装时,需要配置 Service Manager 相关信息,agent 启动后会自行与控制台相连接。

更多内容参考官方文档:

http://dev.mysql.com/doc/mysql-monitor/8.0/en/mem-install-server.html

MEM 主要功能

  1. 性能监控

可监控多种性能指标,如 CPU 使用率、内存使用率、磁盘 I/O、网络带宽等主机资源指标,以及数据库的查询性能、连接数、线程池使用情况、缓存命中率、锁等待和死锁情况、主从复制状态等。通过可视化界面以图表和报表形式直观展示,方便管理员快速了解数据库运行状况。

2.png
  1. 告警系统

允许用户根据自身需求设置告警规则和阈值,当监控指标超出设定范围时,系统会立即通过邮件、短信等方式通知管理员,并提供具体的优化建议,以便及时采取措施解决问题,避免故障发生。

  1. 查询分析器(Query Analyzer)

Query Analyzer 模块通过 QRTi(Query Response Time Index)指标实现对查询服务质量的量化评估。从 Performance Schema 中获取 MySQL 服务器内部操作的详细信息,如表锁定时间、查询的行数与返回的行数、临时表创建情况、范围扫描和排序情况等,帮助用户识别慢查询和性能瓶颈,优化 SQL 查询语句。

3.png
  1. 历史数据分析

支持对历史性能数据的记录和分析,能够绘制性能趋势图表,帮助用户发现长期的性能趋势或瓶颈,为数据库的容量规划和性能优化提供依据。

  1. 自动化管理

具备自动化任务调度功能,可自动执行备份、监控检查等日常任务,提高数据库管理效率,减少人工操作失误。

  1. 多实例管理

能够同时监控多个 MySQL 实例,无论是在本地数据中心还是在云端的实例,都可在单一的管理界面上进行集中监控和管理,便于统一管理企业的数据库资源。

  1. InnoDB Cluster 集群状态实时掌控

MySQL Enterprise Monitor 通过以下维度实现对 InnoDB Cluster 的全方位监控:1. 集群成员状态:实时显示主节点、从节点的健康状态,自动检测节点宕机与故障转移。2. 复制延迟监控:精确到微秒级的复制延迟指标,结合历史趋势分析预测潜在风险。3. 流量负载均衡:可视化展示各节点的QPS、TPS分布,辅助进行读写分离策略调整。4. 事务冲突检测:通过分析 GTID,识别跨节点的锁竞争问题.

运维最佳实践

基于 MEM 我们可以对现有运维系统进行升级,完善运维管理体系。

  1. 建立分级监控体系
  • 基础监控:CPU、内存、磁盘I/O等硬件指标
  • 数据库层监控:连接数、缓冲池命中率、锁等待率
  • 业务层监控:QPS、TPS、响应时间分位数
  1. 实施预防性运维
  • 定期执行索引健康检查,定期检测表碎片率
  • 每周进行全量备份,每日进行增量备份,结合二进制日志实现 Point-in-Time Recovery
  • 定期模拟故障演练,验证 MySQL 高可用自动故障转移能力
  1. 持续性能优化
  • 每周分析QRTi趋势,建立查询优化优先级队列
  • 每季度进行 SQL 语句审计,解决慢查询
  • 结合 EXPLAIN ANALYZESHOW PROFILE 进行深度查询诊断
  1. 安全合规管理
  • 启用 MySQL Enterprise Audit 插件,监控敏感操作
  • 定期审查用户权限,实施最小特权原则
  • 对备份数据进行加密,存储于异地灾备中心

总结

MySQL Enterprise Monitor 通过深度集成 MySQL 内核特性,提供了从性能诊断到故障预防的全生命周期管理能力。通过 QRTi 指标实现查询性能量化评估,结合慢查询日志与通用日志分析定位问题根源,同时对 InnoDB Cluster 和表空间进行精细化监控。在实际应用中,通过建立分级监控体系、实施预防性运维策略,能够显著提升数据库的稳定性与性能表现。对于企业级应用,MySQL Enterprise Monitor 不仅是性能优化工具,更是构建高可用、可扩展数据库架构的核心组件。

Have a nice day ~

– / END / –

  • Title: 关于 MySQL Enterprise Monitor 必知必会的几件事
  • Author: ShawnYan
  • Created at: 2025-04-05 23:00:00
  • Updated at: 2025-04-05 23:00:00
  • Link: https://shawnyan.cn/2025/mysql/mysql-ee-monitor/
  • License: This work is licensed under CC BY-NC-SA 4.0.
 Comments