你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

A监视 zure Database for MySQL 灵活服务器

注意

本文包含对术语“从属”的引用,这是 Microsoft 不再使用的术语。 在从软件中删除该术语后,我们会将其从本文中删除。

Azure Database for MySQL 灵活服务器通过 Azure Monitor 提供服务器监视。 监视服务器的相关数据有助于排查工作负荷故障及优化工作负荷。

在本文中,将了解可用于灵活服务器的各种可用指标和服务器日志,以便深入了解其行为。

指标

指标是数字值,用于描述服务器资源的某方面在特定时间的状况。 通过允许监视对你最重要的内容,对服务器的资源进行监视可帮助排查工作负载问题并优化工作负荷。 监视适当的指标有助于保持服务器和应用程序的性能、可靠性和可用性。

Azure Database for MySQL 灵活服务器提供了各种指标,可帮助了解工作负载的执行情况。 根据此数据,可了解对服务器和应用程序的影响。

所有 Azure 指标的频率均为一分钟,每个指标提供 30 天的历史记录。 可针对指标配置警报。 请参阅针对 Azure Database for MySQL 灵活服务器的指标设置警报。 其他任务包括设置自动操作、执行高级分析和存档历史记录。 有关详细信息,请参阅 Azure 指标概述

排查指标问题

有时,在 Azure 指标资源管理器中创建、自定义或解释图表时可能会遇到问题。
由于各种因素,可能出现不显示数据的图表。 这些问题可能包括,没有为订阅注册 Microsoft Insights 资源提供程序,或者没有足够的权限来访问 Azure Database for MySQL 灵活服务器。 其他可能的原因包括,资源未在所选时间范围内生成指标,或者所选时间范围超过 30 天。

下面的几个原因可能会导致这种行为:

  • 未注册 Microsoft.Insights 资源提供程序:浏览指标需要已在订阅中注册 Microsoft.Insights 资源提供程序。 请按照 Azure 资源提供程序和类型中所述的步骤手动注册服务器。
  • 对资源的访问权限不足:确保对要从中浏览指标的 Azure Database for MySQL 灵活服务器拥有足够的权限。 资源在选定的时间范围内未发出指标。 将图表的时间范围更改为更大的时间范围。 在 Azure 中,使用 Azure 基于角色的访问控制 (Azure RBAC) 来控制对指标的访问。 只有监视读取者监视参与者参与者的成员才能浏览任何资源的指标。
  • 资源未在所选时间范围内发出指标:这可能是由于多种原因造成的。 一种可能性是资源未在所选时间范围内生成指标。 请将图表的时间更改为更广泛的范围,看看是否能解决问题。 有关此问题疑难解答的更多详细信息,请参阅 Azure Monitor 指标疑难解答指南
  • 时间范围大于 30 天:确认时间选取器中开始日期与结束日期之差不超过 30 天。 有关指标疑难解答的更多详细信息,请参阅 Azure Monitor 指标疑难解答指南。
  • 虚线指示:在 Azure Monitor 中,虚线表示已知时间粒度数据的两个点之间存在数据间隙(也称为“null 值”)。 这是一种深思熟虑的设计,有助于检测缺失的数据点。 如果图表显示虚线,则表示缺少数据。 可以参考文档以获取更多信息。

有关指标疑难解答的更多详细信息,请参阅 Azure Monitor 指标疑难解答指南。

注意

标记为已弃用的指标计划从 Azure 门户中删除。 在监视 Azure Database for MySQL 灵活服务器时,应忽略这些指标。

指标列表

这些指标适用于 Azure Database for MySQL 灵活服务器:

指标显示名称 指标 计价单位 说明
MySQL 运行时间 运行时间 此指标指示 MySQL 服务器运行的时长。
主机 CPU 百分比 cpu_percent 百分比 主机 CPU 百分比是所选时间段内处理服务器上的所有任务的 CPU 的总利用率。 此指标包括 Azure Database for MySQL 灵活服务器实例和 Azure MySQL 进程的工作负载。 高 CPU 百分比可以帮助你发现数据库服务器的工作负载是否超过它可以处理的工作负载。 此指标相当于总 CPU 利用率,类似于任何虚拟机上 CPU 利用率。
已用 CPU 额度 cpu_credits_consumed 计数 这仅适用于可突发层。CPU 额度将根据工作负载进行计算。 有关详细信息,请参阅 B 系列可突发虚拟机大小
剩余 CPU 额度 cpu_credits_remaining 计数 这仅适用于可突发层。剩余 CPU 将根据工作负载进行计算。 有关详细信息,请参阅 B 系列可突发虚拟机大小
主机网络流入量 network_bytes_ingress 字节 所选时间段内服务器上的传入网络流量的总和。 此指标包括发送到数据库和 Azure Database for MySQL 灵活服务器功能的流量,如监视、日志等。
主机网络流出量 network_bytes_egress 字节 所选时间段内服务器上的传出网络流量的总和。 此指标包括来自数据库以及 Azure Database for MySQL 灵活服务器功能的流量,如监视、日志等。
活动连接数 active_connection 计数 服务器的活动连接数。 活动连接是连接到服务器的线程总数,还包括来自 azure_superuser 的线程。
存储 IO 百分比 io_consumption_percent 百分比 选定时间段内使用的 IO 百分比。 IO 百分比同时适用于读取和写入 IOPS。
存储 IO 计数 storage_io_count 计数 服务器每分钟的 I/O 操作总数(读取和写入)。
内存百分比 memory_percent 百分比 此指标表示 Azure MySQL (mysqld) 服务器进程占用的内存百分比。 此指标根据 Azure Database for MySQL 灵活服务器上可用的总内存大小 (GB) 计算得出。
总连接数 total_connections 计数 客户端到 Azure Database for MySQL 灵活服务器实例的连接数。 总连接数是选定时间段内使用 TCP/IP 协议的客户端连接数的总和。
已中止的连接数 aborted_connections 计数 连接到 Azure Database for MySQL 灵活服务器实例的失败尝试总数,例如,由于凭据错误导致的连接失败。 有关已中止的连接的详细信息,请参阅此文档
查询 查询 计数 服务器上每分钟执行的查询总数。 服务器上来自数据库工作负载和 Azure MySQL 进程的每分钟查询总数。
Slow_queries slow_queries 计数 所选时间范围内服务器上的慢速查询总计数。
Active Transactions active_transactions 计数 此指标代表 MySQL 内的事务总数。 活动事务包括所有已启动但尚未提交或回滚的事务。

存储明细指标

存储明细指标提供有关 Azure Database for MySQL 灵活服务器的存储使用情况的宝贵见解。 这些指标提供了存储限制、存储百分比、使用的存储百分比、使用的数据存储、使用的 ibdata1 存储、使用的 binlog 存储、使用的其他存储以及使用的备份存储的详细明细。 通过监视这些指标,可以有效地管理存储资源、优化存储分配,并确保服务器存储容量的有效利用。 了解存储明细指标有助于做出明智的决策,以保持 Azure Database for MySQL 灵活服务器的性能和可用性。

下表列出了可用于 Azure Database for MySQL 灵活服务器的存储明细指标:

指标显示名称 指标 计价单位 说明
存储限制 storage_limit 字节 为此服务器配置的最大存储大小。
存储百分比 storage_percent 百分比 已用的存储占服务器最大可用存储的百分比。
已用的存储量 storage_used 字节 使用的存储量。 服务使用的存储可能包括数据库文件、事务日志和服务器日志。
数据已用的存储 data_storage_used 字节 用于存储数据库文件的存储量。
ibdata1 已用的存储 ibdata1_storage_used 字节 用于存储系统表空间 (ibdata1) 文件的存储量。
Binlog 已用的存储 binlog_storage_used 字节 用于存储二进制日志文件的存储量。
其他已用的存储 other_storage_used 字节 用于其他组件和元数据文件的存储量。
使用的备份存储 backup_storage_used 字节 已使用的备份存储量。

复制指标

复制指标提供有关 Azure Database for MySQL 灵活服务器中复制的性能和状态的宝贵见解。 通过这些指标可以监视复制延迟、检查副本和 HA IO/SQL 线程的状态,并衡量复制延迟。 通过跟踪这些指标,可以确保复制设置的可靠性和效率,识别任何潜在问题或延迟,并采取适当的措施来维护数据一致性和可用性。 让我们探索可用于 Azure Database for MySQL 灵活服务器的不同复制指标。

下表列出了可用于 Azure Database for MySQL 灵活服务器的复制指标:

指标显示名称 指标 计价单位 说明
复制延迟时间 replication_lag 复制延迟是副本在重播从源服务器收到的事务时滞后的秒数。 此指标是根据“SHOW SLAVE STATUS”命令中的“Seconds_behind_Master”计算的,仅适用于副本服务器。 有关详细信息,请参阅“排查 Azure Database for MySQL 灵活服务器中的复制延迟问题
副本 IO 状态 replica_io_running 状态 副本 IO 状态指示复制 I/O 线程的状态。 如果 I/O 线程正在运行,则指标值为 1,否则为 0。
副本 SQL 状态 replica_sql_running 状态 副本 SQL 状态指示复制 SQL 线程的状态。 如果 SQL 线程正在运行,则指标值为 1,否则为 0。
HA IO 状态 ha_io_running State HA IO 状态指示 Azure Database for MySQL 灵活服务器中的高可用性概念的状态。 如果 I/O 线程正在运行,则指标值为 1,否则为 0。
HA SQL 状态 ha_sql_running State HA SQL 状态指示 Azure Database for MySQL 灵活服务器中的高可用性概念的状态。 如果 SQL 线程正在运行,则指标值为 1,否则为 0。
HA 复制延迟 ha_replication_lag HA 延迟是 HA 备用服务器在重播从源服务器收到的事务时滞后的秒数。 此指标是根据“SHOW SLAVE STATUS”命令中的“Seconds_behind_Master”计算的,并且仅适用于 HA 备用服务器。

增强式指标

除了 Azure Database for MySQL 灵活服务器提供的标准指标之外,增强的指标还可用于更深入地了解服务器的性能。 这些增强的指标提供有关工作负载的特定方面的更精细信息。

DML 统计信息

DML(数据操作语言)统计信息指标可帮助查看服务器上执行的 select、update、insert 和 delete 语句的数量。 通过监视这些指标,可以跟踪数据库操作的使用情况和性能,并确定任何潜在瓶颈或效率低下问题。

指标显示名称 指标 计价单位 说明
Com_select Com_select 计数 所选时间范围内在服务器上执行的 select 语句的总计数。
Com_update Com_update 计数 所选时间范围内在服务器上执行的 update 语句的总计数。
Com_insert Com_insert 计数 所选时间范围内在服务器上执行的 insert 语句的总计数。
Com_delete Com_delete 计数 所选时间范围内在服务器上执行的 delete 语句的总计数。

DDL 统计信息

DDL(数据定义语言)统计信息指标提供了有关创建数据库、删除数据库、创建表、删除表和更改服务器上执行的表语句的频率的信息。 这些指标可帮助了解数据库中架构更改的频率和影响,从而优化数据库设计并提高整体性能。

指标显示名称 指标 计价单位 说明
Com_create_db Com_create_db 计数 所选时间范围内在服务器上执行的 create database 语句的总计数。
Com_drop_db Com_drop_db 计数 所选时间范围内在服务器上执行的 drop database 语句的总计数。
Com_create_table Com_create_table 计数 所选时间范围内在服务器上执行的 create table 语句的总计数。
Com_drop_table Com_drop_table 计数 所选时间范围内在服务器上执行的 drop table 语句的总计数。
Com_Alter Com_Alter 计数 所选时间范围内在服务器上执行的 alter table 语句的总计数。

Innodb 指标

Innodb 指标重点关注 InnoDB 存储引擎的性能,这是 Azure Database for MySQL 灵活服务器的默认引擎。 这些指标包括 InnoDB 行锁时间、InnoDB 行锁等待、Innodb 缓冲池读取、Innodb 缓冲池读取请求等。 通过监视这些指标,可深入了解数据库的存储和缓存机制的效率和有效性。

这些增强的指标提供了用于优化工作负载和提高 Azure Database for MySQL 灵活服务器性能的宝贵信息。 使用这些指标,可做出数据驱动的决策,以提高数据库操作的可伸缩性、可靠性和效率。

指标显示名称 指标 计价单位 说明
InnoDB 行锁时间 innodb_row_lock_time 毫秒 InnoDB 行锁时间度量 InnoDB 行级锁的持续时间(以毫秒为单位)。
InnoDB 行锁等待 innodb_row_lock_waits 计数 “InnoDB 行锁等待数”指标计算某个查询必须等待 InnoDB 行级锁的次数。
Innodb_buffer_pool_reads Innodb_buffer_pool_reads 计数 InnoDB 引擎无法通过 Innob 缓冲池满足且必须从磁盘中提取的逻辑读取的总计数。
Innodb_buffer_pool_read_requests Innodb_buffer_pool_read_requests 计数 要从 Innodb 缓冲池中读取的逻辑读取请求的总计数。
Innodb_buffer_pool_pages_free Innodb_buffer_pool_pages_free 计数 InnoDB 缓冲池中空闲页面的总计数。
Innodb_buffer_pool_pages_data Innodb_buffer_pool_pages_data 计数 InnoDB 缓冲池中包含数据的页面的总计数。 该数字包括脏页和干净页。
Innodb_buffer_pool_pages_dirty Innodb_buffer_pool_pages_dirty 计数 InnoDB 缓冲池中包含脏页的页面的总计数。
MySQL 历史记录列表长度 trx_rseg_history_len 计数 此指标计算数据库中的更改数,特别是包含以前更改的记录数。 它与导致创建新行版本的数据更改率有关。 增加的历史记录列表长度可能会影响数据库的性能。
MySQL 锁超时 lock_timeouts 计数 此指标表示查询因锁而超时的次数。 当查询等待另一个查询持有的行或表的锁的时间超过 innodb_lock_wait_timeout 设置时,通常会出现这种情况。
MySQL 锁死锁 lock_deadlock 计数 此指标表示所选时间段内 Azure Database for MySQL 灵活服务器实例上的死锁数。

服务器日志

在 Azure Database for MySQL 灵活服务器中,用户可以配置和下载服务器日志,以协助进行故障排除工作。 启用此功能后,Azure Database for MySQL 灵活服务器实例将开始捕获所选日志类型的事件并将其写入文件。 然后,可以使用 Azure 门户和 Azure CLI 下载文件来进行处理。 默认情况下,服务器日志功能处于禁用状态。 有关如何启用服务器日志的信息,请参阅为 Azure Database for MySQL 灵活服务器启用和下载服务器日志

服务器日志支持启用和下载慢速查询日志错误日志。 若要对数据执行历史分析,请在 Azure 门户中服务器的“诊断设置”窗格中,添加诊断设置以将日志发送到 Log Analytics 工作区、Azure 存储或事件中心。 有关详细信息,请参阅设置诊断

服务器日志保留期

为 Azure Database for MySQL 灵活服务器实例启用日志记录后,日志将在自创建时间起七天内可用。 如果可用日志的总大小超过了 7 GB,则会删除最旧的文件,直到有空间可用。 服务器日志的 7-GB 存储空间限制是免费提供的,无法扩展。 日志每 24 小时或每 500 MB 会轮换一次(以先到者为准)。