Azure Database for MySQL - 灵活服务器中的错误日志(预览版)

在 Azure Database for MySQL - 灵活服务器中,用户可配置和访问错误日志。 MySQL 中的错误日志会在服务器启动和关闭期间、服务器运行时收集诊断消息,该信息有助于主动进行故障排除。 有关 MySQL 错误日志的详细信息,请参阅 MySQL 文档中的错误日志部分。
在预览阶段,错误日志仅在服务器日志下可用,错误日志无法发送Azure 诊断日志

在 Azure Database for MySQL - 灵活服务器中,在 Azure 门户的“服务器日志”下启用错误日志后,会记录使用语法 mysql-error-servername-timestamp.log 命名的多个文件中的详细信息。 在文件名中,会追加与文件生成时关联的时间戳 (GMT/UTC),用于标识记录日志条目的具体时间。 有关详细信息,请参阅服务器日志保留

启用错误日志(预览版)

用户可以通过服务器日志功能访问和配置 Azure Database for MySQL 灵活服务器中的错误日志,可以使用 Azure 门户使用 Azure CLI 列出和下载 Azure Database for MySQL 灵活服务器日志启用它。
启用该功能后,MySQL 灵活服务器将开始在活动发生时捕获事件,并将它们写入一系列保存的文件。

若要启用错误日志,请执行以下步骤。

  1. 在 Azure 门户中,导航到你的灵活服务器,然后在“监视”下选择“服务器日志”。

  2. 在“服务器日志”下,选中“启用”复选框,这会启用服务器日志功能

  3. 在“选择要启用的日志”下,选中“错误日志”复选框。

    显示“错误日志 - 启用”的门户视图的屏幕截图。

  4. 选择“保存”以继续部署。

还可以通过服务器参数窗格或使用 Azure CLI 在 Azure Database for MySQL 灵活服务器中配置服务器参数启用名为“error_server_log_file”服务器参数,从而在 Azure Database for MySQL 灵活服务器上启用错误日志。

通过选中“服务器日志”窗格中的“启用”复选框,确保激活服务器日志功能。 或者,将服务器参数“log_output”设置为 FILE 以启用服务器日志。 如果无法执行上述任一操作,则会导致 Azure Database for MySQL 灵活服务器不会启用 FILE 日志记录。

访问错误日志

可以下载错误日志,以便进一步分析你的 Azure Database for MySQL 灵活服务器。 若要下载日志,请在 Azure 门户中导航到“服务器日志”部分,然后选择“错误日志”选项卡,如下所示。

  • 在“名称”下,选择要下载的日志文件,然后在“操作”下,选择“下载”。

    显示“错误日志 - 下载”的门户视图的屏幕截图。

  • 若要一次下载多个日志文件,请在“名称”下选择要下载的文件,然后选择“下载”

    显示“错误日志 - 多个下载”的门户视图的屏幕截图。

使用 Azure CLI 访问错误日志

可以使用以下命令列出灵活服务器中的服务器日志。

az mysql flexible-server server-logs list --resource-group <myresourcegroup>  --server-name <server_name> --out table

若要将提到的服务器日志下载到当前目录,请使用以下命令:

az mysql flexible-server server-logs download --resource-group <myresourcegroup> --server-name <server_name>  --name <mysql-error-<server_name>-<timestamp>.log>

有关详细信息,请参阅如何通过 Azure 门户下载服务器日志文件,或通过 Azure CLI 下载。

服务器日志保留下的错误日志

为 Azure Database for MySQL 灵活服务器启用日志记录时,日志的最长可用期为自创建时间起的七天内。 如果可用日志的总大小超过了 7 GB,则会删除最旧的文件,直到有空间可用。 服务器日志的 7-GB 存储空间限制是免费提供的,无法扩展。 日志每 24 小时或每 500 MB 轮换一次,以先达到的条件为准。
重要的是,可以在轮换之前下载日志,确保在保留期内的任何时间点都有权访问有价值的服务器日志。 有关各种日志类型的日志轮换日程安排和存储限制的详细信息,请参阅有关服务器日志保留的文档

处理个人身份信息 (PII) 和敏感数据

在 Azure MySQL 灵活服务器中,我们优先考虑数据的安全性。 因此,由于安全原因,错误日志中的任何个人身份信息 (PII) 或敏感数据(例如主机名、IP 地址、用户名和数据库名称)都会进行哈希处理。 这意味着,虽然可以从错误日志中深入了解服务器的运行状态和潜在问题,但无法直接访问可能损害服务器安全性的特定详细信息。 但是,如果需要有关错误(例如,通常会打印用户名的“访问被拒绝”错误)的更多详细信息,可以在 Azure MySQL 灵活服务器的审核日志中找到此信息。 审核日志提供了服务器上活动和事务的更精细视图,可支持你更有效地排查和解决问题。

有关如何访问和解释审核日志的详细信息,请参阅官方文档

常见问题解答

:我的错误日志包含如下所示的备注,这意味着什么?

[Note] [Server] Access denied for user ''@'xx.xx.xx.X' (using password: NO).

:此备注表明,由于身份验证详细信息不正确或缺失,连接到你的 MySQL 服务器的尝试失败。 具体而言,提供的用户名为空 (''@'xx.xx.xx.X'),未输入密码(使用密码:否)。 此备注可能表明存在未经授权的访问数据库的尝试。 如果你的服务器可公开访问,则它将保持向 Internet 公开,并且可能是未经授权的访问尝试的目标。 要增强 Azure Database for MySQL 灵活服务器的安全性,请禁用公共访问使用防火墙规则限制访问