可以使用 PostgreSQL 服务器日志来诊断Azure Database for PostgreSQL灵活服务器中遇到的特定问题,并深入了解服务器上运行的活动。 使用主版本升级日志排查尝试将服务器升级到更高主版本的 PostgreSQL 期间可能发生的错误。
默认情况下,Azure Database for PostgreSQL 灵活服务器中用于下载的服务器日志捕获功能处于禁用状态。 但是,启用该功能后,Azure Database for PostgreSQL灵活服务器将开始将服务器日志捕获到文件,你可以下载这些文件进行详细检查。 使用Azure门户或Azure CLI命令列出和下载这些文件,这些文件可以帮助你进行任何故障排除工作。
本文介绍如何启用和禁用该功能。 它还介绍了如何列出所有可用的服务器日志,以及如何下载其中任何日志。
启用 PostgreSQL 捕获和升级日志下载的步骤
使用 Azure 门户:
选择您的“Azure Database for PostgreSQL”灵活服务器。
在资源菜单中的“监视”部分下,选择“服务器日志”。
选中“捕获日志供下载”复选框。
默认情况下,服务将日志文件保留三天,但你可以将保留期从一天调整为七天。 使用 日志保留期(以天为单位) 切片器设置所需的配置。
选择“保存”。
此时会显示一条通知,告知服务正在配置日志捕获以供下载。
操作完成后,通知会通知服务已完成日志捕获的配置以供下载。
使用 az postgres flexible-server parameter set 命令开启捕获 PostgreSQL 服务器日志和主要版本升级日志。
若要启用可供下载的日志的捕获功能,请使用以下命令:
az postgres flexible-server parameter set \
--resource-group <resource_group> \
--server-name <server> \
--name logfiles.download_enable \
--value on
若要调整捕获的可供下载的日志的保留期,请使用以下命令:
az postgres flexible-server parameter set \
--resource-group <resource_group> \
--server-name <server> \
--name logfiles.retention_days \
--value <retention_period_in_days>
参数 logfiles.retention_days 的允许值为 1 到 7 天。 如果你尝试将其设置为其他值,则会收到以下错误:
Code: ServerParameterToCMSUnAllowedParameterValue
Message: The value: [<value>] of Parameter: [logfiles.retention_days] is invalid, the allowed values are: [1-7]
禁用 PostgreSQL 捕获和升级日志下载的步骤
使用 Azure 门户:
选择您的“Azure Database for PostgreSQL”灵活服务器。
在资源菜单中的“监视”部分下,选择“服务器日志”。
清除“捕获日志以供下载”复选框。
选择“保存”。
此时会显示一条通知,告知服务正在配置日志捕获以供下载。
操作完成后,通知会通知服务已完成日志捕获的配置以供下载。
使用 az postgres flexible-server 参数集 命令禁用 PostgreSQL 服务器日志和主要版本升级日志的捕获。
若要禁用可供下载的日志的捕获功能,请使用以下命令:
az postgres flexible-server parameter \
--resource-group <resource_group> \
--server-name <server> \
--name logfiles.download_enable \
--value off
列出可供下载的捕获日志的步骤
使用 Azure 门户:
选择您的“Azure Database for PostgreSQL”灵活服务器。
在资源菜单中的“监视”部分下,选择“服务器日志”。
表显示尚未删除的所有捕获日志文件。 无法查看或访问已捕获但已删除的文件,因为它们超出了配置的保留期。 使用搜索名称中包含以下内容的文件、时间范围和日志类型框来筛选日志。 通过选择列标题,可以根据所选标题代表的属性值按升序或降序对可见日志文件列表进行排序。 在提供的每个列下,你可以看到每个文件的不同属性:
- 名称:日志文件的名称。 服务为每个日志文件分配一个符合
postgresql_yyyy_mm_dd_hh_00_00.log 模式的名称。
- 上次更新时间:每个日志文件的上次上传时间戳。 大约每 10 分钟上传一次日志文件。
- 大小:日志文件占用的字节大小。
-
日志类型: 服务器日志 指示该文件对应于 PostgreSQL 服务器日志。
升级日志 指示该文件对应于主版本升级日志。
该表不会自动更新。 若要查看最新信息,请选择“ 刷新”。
使用 az postgres flexible-server-logs list 命令列出捕获的 PostgreSQL 服务器日志和主要版本升级日志。
若要列出可用于下载在过去 72 小时内更新的所有捕获日志(默认值),请使用以下命令:
az postgres flexible-server-logs list \
--resource-group <resource_group> \
--server-name <server>
若要列出可用于下载在过去 10 小时内更新的所有捕获日志,请使用以下命令:
az postgres flexible-server server-logs list \
--resource-group <resource_group> \
--server-name <server> \
--file-last-written 10
若要列出可用于下载其大小低于 30 KiB 的所有捕获日志,请使用以下命令:
az postgres flexible-server-logs list \
--resource-group <resource_group> \
--server-name <server> \
--max-file-size 30
若要列出可供下载其名称包含 01_07的所有捕获日志,请使用以下命令:
az postgres flexible-server-logs list \
--resource-group <resource_group> \
--server-name <server> \
--filename-contains 01_07
下载捕获的日志的步骤
使用 Azure 门户:
选择您的“Azure Database for PostgreSQL”灵活服务器。
在资源菜单中的“监视”部分下,选择“服务器日志”。
表显示尚未删除的所有捕获日志文件。 无法查看或访问已捕获但已删除的文件,因为它们超出了配置的保留期。 使用搜索名称中包含以下内容的文件、时间范围和日志类型框来筛选日志。 通过选择列标题,可以根据所选标题代表的属性值按升序或降序对可见日志文件列表进行排序。 找到要下载的日志,并在 “操作 ”列下选择“ 下载”。
如果你要一次性下载多个日志文件,请选择你要下载的所有文件,然后在工具栏中选择“下载”。
该表不会自动更新。 若要查看最新信息,请选择“ 刷新”。
使用 az postgres flexible-server-logs download 命令下载捕获的 PostgreSQL 服务器日志和主要版本升级日志。
若要下载特定日志,请使用以下命令:
az postgres flexible-server-logs download \
--resource-group <resource_group> \
--server-name <server> \
--name <log_name>
若要下载特定组日志,请使用以下命令:
az postgres flexible-server-logs download \
--resource-group <resource_group> \
--server-name <server> \
--name <log1_name log2_name ...logn_name>
相关内容