启用和管理 Azure 存储分析日志(经典)

Azure 存储分析提供 Blob、队列和表的日志。 可以使用 Azure 门户来配置要为帐户记录的日志。 本文介绍了如何启用和管理日志。 要了解如何启用指标,请参阅转换到 Azure Monitor 中的指标。 在 Azure 门户中检查和存储监视数据会产生相关的费用。 有关详细信息,请参阅存储分析

注意

建议你使用 Azure Monitor 中的 Azure 存储日志,而不是存储分析日志。 请参阅以下任一文章:

启用日志

可以指示 Azure 存储保存针对 Blob、表和队列服务发出的读取、写入和删除请求的诊断日志。 设置的数据保留策略也适用于这些日志。

注意

Azure 文件存储目前支持存储分析指标,但尚不支持存储分析日志记录。

  1. Azure 门户中选择“存储帐户”,然后单击存储帐户的名称打开存储帐户边栏选项卡。

  2. 在菜单边栏选项卡的“监视(经典)”部分中选择“诊断设置(经典)”。

    Azure 门户中“监视”下面的诊断菜单项。

  3. 确保“状态”设置为“打开”,选择要为其启用日志记录的服务。

    在 Azure 门户中配置日志记录。

  4. 若要保留日志,请确保选中“删除数据”复选框。 然后,通过移动复选框下方的滑块控件或直接修改显示在滑块控件旁边的文本框中的值,来设置要将日志数据保留的天数。 新存储帐户的默认保留期为 7 天。 如果不想设置保留策略,请取消选中“删除数据”复选框。 如果没有保留策略,则由用户自行决定是否删除日志数据。

    警告

    日志作为数据存储在你的帐户中。 日志数据会随着时间的推移在你的帐户中累积,这可能会增加存储成本。 如果只需要一小段时间的日志数据,则可以通过修改数据保留策略来降低成本。 陈旧的日志数据(超出保留策略的数据)将被系统删除。 建议根据要将帐户的日志数据保留多长时间来设置保留策略。 有关详细信息,请参阅按存储指标计费

  5. 单击“ 保存”。

    诊断日志保存在存储帐户下名为 $logs 的 Blob 容器中。 可以使用 Microsoft Azure 存储资源管理器等存储资源管理器来查看日志数据,也可以使用存储客户端库或 PowerShell 以编程方式这样做。

    有关如何访问 $logs 容器的信息,请参阅存储分析日志记录

    注意

    对于经典存储帐户,$logs 容器仅显示在 Azure 存储资源管理器中。 $logs 容器在存储浏览器或 Azure 门户中提供的容器视图中不可见。

修改日志数据保留期

日志数据会随着时间的推移在你的帐户中累积,这可能会增加存储成本。 如果只需要一小段时间的日志数据,则可以通过修改日志数据保留期来降低成本。 例如,如果只需要三天的日志,请将日志数据保留期设置为值 3。 这样一来,日志将在 3 天后自动从你的帐户中删除。 本部分介绍了如何查看当前的日志数据保留期,以及需要时如何更新该时间段。

  1. Azure 门户中选择“存储帐户”,然后单击存储帐户的名称打开存储帐户边栏选项卡。

  2. 在菜单边栏选项卡的“监视(经典)”部分中选择“诊断设置(经典)”。

    Azure 门户中“监视”下面的诊断菜单项

  3. 确保选中“删除数据”复选框。 然后,通过移动复选框下方的滑块控件或直接修改显示在滑块控件旁边的文本框中的值,来设置要将日志数据保留的天数。

    在 Azure 门户中修改保留期

    新存储帐户的默认保留天数为 7 天。 如果不想设置保留策略,请取消选中“删除数据”复选框。 如果没有保留策略,则由用户自行决定是否删除监视数据。

  4. 单击“ 保存”。

    诊断日志保存在存储帐户下名为 $logs 的 Blob 容器中。 可以使用 Microsoft Azure 存储资源管理器等存储资源管理器来查看日志数据,也可以使用存储客户端库或 PowerShell 以编程方式这样做。

    有关如何访问 $logs 容器的信息,请参阅存储分析日志记录

验证是否正在删除日志数据

可以通过查看存储帐户的 $logs 容器的内容来验证是否正在删除日志。 下图显示了 $logs 容器中某个文件夹的内容。 该文件夹对应于 2021 年 1 月,并且每个文件夹包含一天的日志。 如果今天的日期为 2021 年 1 月 29 日,并且你的保留策略设置为仅一天,则该文件夹应当仅包含一天的日志。

Azure 门户中的日志文件夹列表

查看日志数据

要查看和分析日志数据,应该将包含你感兴趣的日志数据的 blob 下载到本地计算机。 你可以使用很多存储浏览工具从存储帐户下载 blob;你还可以使用 Azure 存储团队提供的命令行 Azure 复制工具 (AzCopy) 下载日志数据。

注意

$logs 容器未与事件网格集成,因此在写入日志文件时不会收到通知。

要确保下载你感兴趣的日志数据,并避免多次下载相同的日志数据,请执行以下操作:

  • 对包含日志数据的 blob 使用日期和时间命名约定,以跟踪已下载用于分析的 blob,从而避免多次重新下载相同的数据。

  • 使用包含日志数据的 blob 中的元数据来确定特定期限,在该期限内,blob 会保留日志数据以标识需要下载的确切 blob。

要开始使用 AzCopy,请参阅 AzCopy 入门

下面的示例显示如何下载队列服务的日志数据,时间从 2014 年 5 月 20 日上午 9 点、10 点和 11 点开始。

azcopy copy 'https://mystorageaccount.blob.core.chinacloudapi.cn/$logs/queue' 'C:\Logs\Storage' --include-path '2014/05/20/09;2014/05/20/10;2014/05/20/11' --recursive

若要详细了解如何下载特定文件,请参阅使用 AzCopy v10 从 Azure Blob 存储下载 blob

下载日志数据后,可以查看文件中的日志条目。 这些日志文件使用带分隔符的文本格式,许多日志读取工具都可以分析此格式(有关详细信息,请参阅对 Azure 存储进行监视、诊断和故障排除指南)。 不同的工具提供不同的功能用于筛选、排序和搜索日志文件的内容及设置其格式。 有关存储日志记录日志文件格式和内容的详细信息,请参阅存储分析日志格式存储分析记录的操作和状态消息

后续步骤