共用方式為


Azure 監視器中的活動記錄

Azure 監視器活動記錄檔是來自 Azure 資源的控制平面事件的平臺記錄檔。 資訊如資源修改時間或部署錯誤發生時等都包含在內。 使用活動日誌來檢閱或稽核您監視之資源的此資訊,或建立警示,以便在建立事件時主動收到通知。

小提示

如果您已從部署作業錯誤導向本文,請參閱 針對常見的 Azure 部署錯誤進行疑難解答

活動日誌條目

依預設,會收集活動記錄檔中的項目,無需設定。 它們是系統產生的,無法變更或刪除。 項目通常是變更 (建立、更新、刪除作業) 或已起始動作的結果。 通常不會記錄集中於讀取資源詳細信息的操作。 如需活動記錄類別的描述,請參閱 Azure 活動記錄事件架構

備註

控制平面上方的作業會記錄在 Azure 資源記錄檔中。 預設不會收集這些,必須設定 診斷收集 才能進行收集。

保留期限

活動記錄事件會在 Azure 中保留「90 天」,然後予以刪除。 此期間內的登錄不會產生任何成本,不論數量多少。 如需更多功能,例如更長的保留時間,請建立診斷設定,並根據您的需求將 項目路由傳送至另一個位置

檢視和擷取活動記錄

您可以從 Azure 入口網站中的大多數功能表存取活動記錄。 您從中開啟的選單會決定它的初始篩選條件。 如果您從 [監視] 功能表加以開啟,則唯一的篩選是訂閱。 如果您從資源的功能表中開啟它,篩選條件會設定為該資源。 您可以隨時變更篩選條件,以檢視所有其他條目。 選取 [新增篩選],以將更多屬性新增至篩選。

顯示活動記錄的螢幕擷取畫面。

您也可以使用下列方法來存取活動記錄事件:

檢視變更歷程記錄

您可以檢視某些事件的 [變更記錄],以顯示該事件時間發生的變更。 從您想要更深入了解的活動記錄中選取事件。 選取 變更歷程記錄 索引標籤,以檢視在操作時間的前後各 30 分鐘內,資源上的任何變更。

顯示事件 [變更歷程記錄] 列表的螢幕快照。

如果事件有任何相關聯的變更,您將會看到一份可選取的變更清單。 選取變更會開啟 [變更歷程記錄] 頁面。 此頁面會顯示資源的變更。 在下列範例中,您可以看到 VM 已變更大小。 頁面會顯示變更之前和變更之後的 VM 大小。 若要深入瞭解變更歷程記錄,請參閱 取得資源變更

顯示 [變更歷程記錄] 頁面的螢幕快照,其中顯示出差異。

活動記錄見解

「活動日誌分析」是一本活頁簿,提供一組儀表板,用於監控訂閱中資源和資源群組的變更。 儀錶板也會呈現訂用帳戶中執行活動的使用者或服務,以及活動狀態的相關數據。

若要啟用活動記錄深入解析,請將活動記錄匯出至 Log Analytics 工作區,如 匯出活動記錄中所述。 這會將事件傳送至 AzureActivity 數據表,該數據表由活動日誌分析使用。

顯示活動記錄見解儀表板的螢幕擷取畫面。

您可以在訂用帳戶或資源層級開啟活動記錄深入解析。 針對訂用帳戶,請從 Monitor 功能表的 Workbooks 區段中選取 Activity Logs Insights

顯示如何在規模層級上尋找和開啟活動記錄分析活頁簿的螢幕快照。

針對個別資源,從資源功能表的 [活頁簿] 區段中選取 [活動記錄深入解析]

顯示如何在資源層級上定位並開啟活動記錄分析工作簿的螢幕快照。

匯出活動記錄

建立診斷設定,將活動記錄項目傳送到其他目的地,以延長保留時間並獲得其他功能。

顯示活動記錄、資源記錄和平台計量集合的圖表。

在 Azure 入口網站中,選取 [Azure 監視器] 功能表上的活動記錄,然後選取 [導出活動記錄]。 如需建立診斷設定的其他詳細數據和其他方法,請參閱 Azure 監視器中的診斷 設定。 請務必停用 活動記錄的任何舊版設定

此螢幕擷取畫面顯示 [Azure 監視器] 功能表,其中在 [監視-活動] 記錄功能表列中已選取 [活動記錄] 並已醒目提示 [診斷設定]。

下列資訊提供資源記錄可傳送至之不同目的地的進一步詳細資料。

備註

匯出活動記錄的舊版方法是記錄設定檔。 請參閱 舊版集合方法

將活動記錄傳送至 Log Analytics 工作區 ,以取得下列功能:

活動記錄不收取資料擷取費用。 活動記錄的保留費用僅適用於超過預設 90 天保留期限的延長期間。 您可以 將保留期限延長 至最長 12 年。

Log Analytics 工作區中的活動記錄資料會儲存在名為 AzureActivity 的資料表中。 此資料表的結構會根據記錄項目類別而不同。

例如,若要檢視每個類別的活動記錄計數,請使用下列查詢:

AzureActivity
| summarize count() by CategoryValue

若要擷取系統管理類別中的所有記錄,請使用下列查詢:

AzureActivity
| where CategoryValue == "Administrative"

這很重要

在某些情況下,AzureActivity 欄位中的值可能有與其他對等值不同的大小寫。 查詢 中的 AzureActivity資料時,使用不區分大小寫的運算子進行字串比較,或使用純量函數在進行任何比較之前強制欄位採用統一大小寫。 例如,在欄位上使用 tolower() 函式,強制它在執行字串比較時一律為小寫或 =~ 運算子

匯出成 CSV

選取 [下載為 CSV ] 以使用 Azure 入口網站將活動記錄匯出至 CSV 檔案。

顯示匯出至 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."

後續步驟

深入瞭解: