你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
Azure Monitor 活动日志是来自 Azure 资源的控制平面事件的平台日志。 它包括诸如修改资源的时间或发生部署错误时等信息。 使用活动日志查看或审核所监视的资源的此信息,或创建警报,以便在创建事件时主动通知。
小窍门
如果您是由于部署操作错误而被重定向到本文,请参阅 排查常见 Azure 部署错误。
活动日志条目
活动日志中的条目默认收集,无需配置。 它们是系统生成的,无法更改或删除。 条目通常是更改(创建、更新、删除操作)或某项操作已启动的结果。 通常不会捕获那些侧重于读取资源详细信息的操作。 有关活动日志类别的说明,请参阅 Azure 活动日志事件架构。
注释
控制平面之上的操作会记录在Azure 资源日志中。 默认情况下不会收集这些数据,只有设置了诊断设置后才会收集。
保留期
活动日志事件在 Azure 中保留 90 天,然后被删除。 在此期间,日志项都是免费存储的,与卷无关。 有关更多功能(例如更长的保留期),请创建诊断设置,并根据需求 将条目路由到另一个位置 。
查看和检索活动日志
可以通过 Azure 门户中的大多数菜单访问活动日志。 你从中打开的菜单决定了它的初始筛选条件。 如果从 “监视 ”菜单打开它,则唯一的筛选器位于订阅上。 如果从某个资源的菜单打开它,则筛选器将设置为该资源。 始终可以更改筛选器来查看所有其他条目。 选择“添加筛选器”可向筛选器添加更多属性。
还可以使用以下方法来访问活动日志事件:
- 在 PowerShell 中使用 Get-AzLog cmdlet 检索活动日志。 请参阅 Azure Monitor PowerShell 示例。
- 在 CLI 中使用 az monitor activity-log 检索活动日志。 请参阅 Azure 监视器 CLI 示例。
- 在 REST 客户端中使用 Azure Monitor REST API 检索活动日志。
查看更改历史记录
对于某些事件,可以查看“更改历史记录”,其中显示了该事件期间进行的更改。 从活动日志中选择要更深入地查看的事件。 选择“更改历史记录”选项卡,查看在操作时间的30分钟前至30分钟后对资源所做的任何更改。
如果有与事件关联的任何更改,你将看到可选择的更改列表。 选择一项更改可打开“更改历史记录”页。 此页显示对资源所做的更改。 在以下示例中,可以看到已更改的 VM 大小。 该页在更改之前和更改后显示 VM 大小。 若要了解有关更改历史记录的详细信息,请参阅 “获取资源更改”。
活动日志见解
活动日志见解是一个工作簿,它提供一组仪表板,用于监视订阅中资源和资源组的更改。 仪表板还显示有关哪些用户或服务在订阅中执行了活动以及活动状态的数据。
若要启用活动日志见解,请将活动日志导出到 Log Analytics 工作区,如 导出活动日志中所述。 这会将事件发送到活动日志洞察所用的 AzureActivity
表。
可以在订阅或资源级别打开活动日志洞察。 要获取订阅,请在“监视”菜单中的“工作簿”部分选择“活动日志见解”。
对于单个资源,请从资源菜单的“工作簿”部分选择“活动日志见解”。
导出活动日志
创建一个诊断设置,用于将活动日志条目发送到其他目标,以获取额外的保留时间和功能。
在 Azure 门户中,在 Azure Monitor 菜单上选择“活动日志”,然后选择“导出活动日志”。 有关创建诊断设置的其他详细信息和其他方法,请参阅 Azure Monitor 中的 诊断设置。 请确保 禁用活动日志的任何旧配置。
以下信息提供有关可将资源日志发送到的不同目标的更多详细信息。
注释
导出活动日志的旧方法是日志配置文件。 请参阅 旧集合方法。
将活动日志发送到 Log Analytics 工作区 以获取以下功能:
活动日志的默认保留期为 90 天,需要收取数据引入或保留费用。 可将 保留期增加到 最多 12 年。
Log Analytics 工作区中的活动日志数据存储在名为 AzureActivity 的表中。 此表的结构因日志条目类别而异。
例如,若要查看每个类别的活动日志记录计数,请使用以下查询:
AzureActivity
| summarize count() by CategoryValue
若要检索管理类别中的所有记录,请使用以下查询:
AzureActivity
| where CategoryValue == "Administrative"
导出为 CSV
选择“ 下载为 CSV ”,使用 Azure 门户将活动日志导出到 CSV 文件。
重要
如果存在大量日志条目,导出可能需要过多的时间。 若要提高性能,请减少导出的时间范围。 在 Azure 门户中,这是通过 Timespan 设置完成的。
还可以使用 PowerShell 或 Azure CLI 将活动日志导出到 CSV 文件,如以下示例所示。
az monitor activity-log list --start-time "2024-03-01T00:00:00Z" --end-time "2024-03-15T23:59:59Z" --max-items 1000 > activitylog.json
Get-AzActivityLog -StartTime 2021-12-01T10:30 -EndTime 2022-01-14T11:30 | Export-csv operations_logs.csv
以下示例 PowerShell 脚本每隔一小时将活动日志导出到 CSV 文件,每个文件都保存到单独的文件中。
# Parameters
$subscriptionId = "Subscription ID here" # Replace with your subscription ID
$startTime = [datetime]"2025-05-08T00:00:00" # Adjust as needed
$endTime = [datetime]"2025-05-08T12:00:00" # Adjust as needed
$outputFolder = "\Logs" # Change path as needed
# Ensure output folder exists
if (-not (Test-Path $outputFolder)) {
New-Item -Path $outputFolder -ItemType Directory
}
# Set subscription context
Set-AzContext -SubscriptionId $subscriptionId
# Loop through 1-hour intervals
$currentStart = $startTime
while ($currentStart -lt $endTime) {
$currentEnd = $currentStart.AddHours(1)
$timestamp = $currentStart.ToString("yyyyMMdd-HHmm")
$csvFile = Join-Path $outputFolder "ActivityLog_$timestamp.csv"
Write-Host "Fetching logs from $currentStart to $currentEnd..."
Get-AzActivityLog -StartTime $currentStart -EndTime $currentEnd |
Export-Csv -Path $csvFile -NoTypeInformation
$currentStart = $currentEnd
}
Write-Host "Export completed. Files saved to $outputFolder."
后续步骤
了解有关以下方面的详细信息: