MySQL 监控
监控您的 MySQL 操作和数据库属性,并通过即时告警接收数据库性能峰值的通知。MySQL 服务器可以使用 Site24x7 服务器监控代理进行监控。代理成功安装后,服务器上运行的 MySQL 服务器将被自动发现并添加到监控中。
支持的版本:
- MySQL 5.6 及以上版本
- Site24x7 Linux 服务器监控代理版本 19.0.0 及以上
- MariaDB 监控仅在 Site24x7 Linux 服务器监控代理版本为 19.4.0 或以上时才受支持。
添加 MySQL 监视器
前提条件
您需要在每台 MySQL 服务器上为 Site24x7 代理创建一个 MySQL 用户。按照以下说明,您可以创建一个用户并使用 'username'@'hostname' 的格式授予该 MySQL 用户从任意主机登录的权限。
您也可以选择使用 'username'@'localhost' 将用户限制为仅从本地主机登录。
CREATE USER 'username'@'localhost' IDENTIFIED BY '<PASSWORD>';
示例:
CREATE USER 'site24x7'@'localhost' IDENTIFIED BY 'Monitoring@123';
使用以下所示的原生密码哈希方法创建用户(适用于 MySQL 8.0 及以上版本):
CREATE USER 'username'@'hostname' IDENTIFIED WITH mysql_native_password by '<PASSWORD>';
示例:
CREATE USER 'site24x7'@'localhost' IDENTIFIED WITH mysql_native_password by 'Monitoring@123';
Site24x7 代理需要一些权限来收集指标。您需要为 MySQL 用户提供以下有限权限:
GRANT REPLICATION CLIENT ON *.* TO 'username'@'hostname';
GRANT REPLICATION SLAVE ON *.* TO 'username'@'hostname';
GRANT PROCESS ON *.* TO 'username'@'hostname';
GRANT SHOW DATABASES ON *.* TO 'username'@'hostname';
此外,授予用户对 performance_schema 数据库的 SELECT 权限,以收集平均查询运行时间、已执行的查询、错误计数、警告计数等指标。
GRANT SELECT ON performance_schema.* TO 'username'@'hostname';
授予 sys 数据库以下权限,以收集每个已发现数据库的深度指标,如总延迟、执行的扫描次数、错误语句、输入输出(IO)活动等。
GRANT SELECT ON sys.* TO 'username'@'hostname';
GRANT EXECUTE ON sys.* TO 'username'@'hostname';
如果实例属于 MariaDB 10.5 或以上版本,请授予以下权限:
GRANT SLAVE MONITOR ON *.* TO '<username>'@'<hostname>';
如果有多个 MySQL 实例,请对每个 MySQL 实例重复上述步骤。提供所需权限后,您可以按照以下步骤添加 MySQL 服务器监视器:
Linux 系统
- 在您的 Linux 服务器上安装 Site24x7 Linux 服务器监控代理。
- Site24x7 服务器监控代理会自动发现服务器中的 MySQL 实例,并在首页选项卡中添加 MySQL 监视器的示例视图。要开始监控,请按照以下说明对 Site24x7 进行身份验证以收集指标。

- 在终端中执行以下命令以对 MySQL 监控进行身份验证和配置:
/opt/site24x7/monagent/scripts/AgentManager.sh mysql --add_instance
-
输入您的 MySQL 实例的用户凭据,包括主机名、要监控的 MySQL 实例的端口,以及之前为 Site24x7 代理创建的用户名和密码。
-
如果要配置 SSL,请回复 Y;否则回复 N。提供必要的证书(CA 证书或客户端证书——公钥和私钥)以建立安全连接。

- 登录 Site24x7 后,单击右侧导航窗格上的服务器 > MySQL。
- 您可以查看已添加监控的自动检测到的 MySQL 实例或集群列表。
- 在 MySQL 实例下,单击数据库以查看所选实例中的数据库列表。
- 您提供的用户名和密码将在代理中进行安全加密,不会存储在任何 Site24x7 数据库中。
- 如果您不希望应用程序被自动发现并添加到监控中,请在设置页面(管理 > 服务器监视器 > 设置)中将自动发现服务器上的应用程序选项切换为否。
- 默认情况下,每个 MySQL 实例将自动发现十个数据库。
性能指标
从统一控制台跟踪和测量 MySQL 和 MySQL 数据库的关键性能指标,例如尝试连接数、中止连接数、缓冲池利用率、运行线程数、慢查询等。
仪表板与视图
健康仪表板
成功添加 MySQL 服务器监视器后,您将被引导至健康仪表板,在那里您可以查看和分析 MySQL 服务器环境的性能并检测性能中断。

- 在一个视图中查看所有 MySQL 服务器的总数。
- 以独立 NOC 仪表板的形式查看所有 MySQL 服务器的当前状态。单击 NOC 框可转到该特定资源的摘要页面。
- 通过查看服务器的状态(宕机、严重或故障)更快地识别问题。
- 分析 CPU 和内存利用率最高的实例,以便即时排除性能问题并避免未来的性能降级。
拓扑视图
MySQL 服务器监视器的拓扑视图让您能够探索复制组中关联服务器之间的关系,即您可以轻松找到与特定主服务器关联的从服务器,反之亦然。

要进入拓扑视图,请转到服务器 > MySQL,并选择总体实例下列出的复制组 > 拓扑视图。
您可以通过将鼠标悬停在特定实例上,获取该实例所有重要指标、状态和详细信息的概述。
实例
属于特定复制组的所有受监控 MySQL 实例列表显示在拓扑图下方的实例选项卡中(服务器 > MySQL > 选择总体实例下列出的复制组 > 实例)。

您还可以查看这些实例的状态,并通过单击实例旁边的汉堡包图标执行编辑、暂停和删除实例等操作。
数据库

要查看与特定复制组关联的数据库列表,请导航至服务器 > MySQL,并选择总体实例下列出的复制组 > 数据库。
报表
单击报表 > MySQL > 要查看的报表,即可查看 MySQL 数据库的报表。

授权许可
每个 MySQL 实例消耗一个高级监视器许可证,并包含对二十五个数据库的监控。每增加一个数据库,将消耗一个基础监视器许可证。
MySQL 监控常见问题
- 为什么我的 MySQL 监视器未被发现?
- 如何添加/更新 MySQL 数据库的凭据?
- 我的 MySQL 监视器显示"无数据"。
- 我只能看到添加了数量有限的 MySQL 数据库监视器。如何添加新数据库进行监控?
- 我可以将 MySQL 服务器中的所有数据库添加为监视器吗?
- 提示"注册 MySQL 实例失败"。如何进行故障排除?
- 如何为 MySQL 数据库设置阈值?
- Site24x7 如何添加 MySQL 进行监控?
- 其他常见问题
