分享方式:


了解佈建如何與 Azure 監視器記錄整合

佈建會與 Azure 監視器記錄和 Log Analytics 整合。 您可以使用 Azure 監視來執行一些作業,例如建立活頁簿 (也稱為儀表板)、儲存 30+ 天的佈建記錄,以及建立自訂查詢和警示。 本文討論佈建記錄如何與 Azure 監視器記錄整合。 若要深入了解佈建記錄的一般運作方式,請參閱佈建記錄

啟用佈建記錄

您應該已熟悉 Azure 監視和 Log Analytics。 否則,請先前往以進行了解,再回來了解應用程式佈建記錄。 若要深入了解 Azure 監視,請參閱 Azure 監視器概觀。 若要深入了解 Azure 監視器記錄和 Log Analytics,請參閱 Azure 監視器中的記錄查詢概觀

設定 Azure 監視之後,您可以啟用應用程式佈建的記錄。 此選項位於 [診斷設定] 頁面上。

存取診斷設定

啟用應用程式佈建記錄

注意

如果您最近剛剛佈建工作區,則可能需要一些時間,才能將記錄傳送給它。 如果您收到錯誤,指出訂用帳戶未註冊成使用 microsoft.insights,則請在幾分鐘後回來查看。

了解資料

佈建傳送記錄檢視器的基礎資料流幾乎完全相同。 Azure 監視器記錄會取得與 Azure 入口網站 UI 和 Azure API 幾乎相同的資料流。 記錄欄位中只有一些「差異」,如下表所述。 若要深入了解這些欄位,請參閱清單 provisioningObjectSummary

Azure 監視器記錄 Azure 入口網站 UI Azure API
errorDescription reason resultDescription
status resultType resultType
activityDateTime TimeGenerated TimeGenerated

Azure 監視器活頁簿

Azure 監視器活頁簿提供彈性的畫布,以進行資料分析。 也可讓您在 Azure 入口網站內建立豐富的視覺效果報告。 若要深入了解,請參閱 Azure 監視器活頁簿概觀

應用程式佈建隨附一組預先建置的活頁簿。 您可以在 [活頁簿] 頁面上找到它們。 若要檢視資料,請確定已填入所有篩選 (timeRange、jobID、appName)。 也請確認已佈建應用程式,否則記錄中不會有任何資料。

應用程式佈建活頁簿

應用程式佈建儀表板

自訂查詢

您可以建立自訂查詢,並在 Azure 儀表板上顯示資料。 若要了解作法,請參閱建立和共用 Log Analytics 資料的儀表板。 也請務必查看 Azure 監視器中的記錄查詢概觀

以下是一些範例,可讓您開始進行應用程式佈建。

根據來源系統中的使用者識別碼,來查詢使用者的記錄:

AADProvisioningLogs
| extend SourceIdentity = parse_json(SourceIdentity)
| where tostring(SourceIdentity.Id) == "49a4974bb-5011-415d-b9b8-78caa7024f9a"

摘要說明每個 ErrorCode 的計數:

AADProvisioningLogs
| summarize count() by ErrorCode = ResultSignature

依動作摘要說明每日事件的計數:

AADProvisioningLogs
| where TimeGenerated > ago(7d)
| summarize count() by Action, bin(TimeGenerated, 1d)

取得 100 個事件和專案索引鍵屬性:

AADProvisioningLogs
| extend SourceIdentity = parse_json(SourceIdentity)
| extend TargetIdentity = parse_json(TargetIdentity)
| extend ServicePrincipal = parse_json(ServicePrincipal)
| where tostring(SourceIdentity.identityType) == "Group"
| project tostring(ServicePrincipal.Id), tostring(ServicePrincipal.Name), ModifiedProperties, JobId, Id, CycleId, ChangeId, Action, SourceIdentity.identityType, SourceIdentity.details, TargetIdentity.identityType, TargetIdentity.details, ProvisioningSteps
| take 100

因為解析參考時發生問題,所以擷取具有已略過成員的群組。

AADProvisioningLogs
| where TimeGenerated >= ago(10d)
| where JobId == "Azure2Azure.73f0883f-d67d-4af1-ac8a-45367f8982e0.5ef3be57-f45f-451g-88c4-68a7fda680bb" // Customize by adding a specific app JobId
| extend SourceIdentity = parse_json(SourceIdentity)
| extend ProvisioningSteps = parse_json(ProvisioningSteps)
| where tostring(SourceIdentity.identityType) == "Group"
| where ProvisioningSteps matches regex "UnableToResolveReferenceAttributeValue"
| parse tostring(ProvisioningSteps.[2].description) with "We were unable to assign " userObjectId " as the members of " groupDisplayName "." *
| project groupDisplayName, userObjectId,  JobId
| take 100

依應用程式來摘要動作。

AADProvisioningLogs
| where TimeGenerated > ago(30d)
| where JobId == "Azure2Azure.73f0883f-d67d-4af1-ac8a-45367f8982e0.5ef3be57-f45f-451g-88c4-68a7fda680bb" // Customize by adding a specific app JobId
| extend ProvisioningSteps = parse_json(ProvisioningSteps)
| extend eventName = tostring(ProvisioningSteps.[-1].name)
| summarize count() by eventName, JobId
| order by JobId asc
| take 5

識別特定作業中的尖峰。

AADProvisioningLogs
| where TimeGenerated > ago(30d)
| where JobId == "scim.73f0883f-d67d-4af1-ac8a-45367f8982e0.5ef3be57-f45f-451g-88c4-68a7fda680bb" // Customize by adding a specific app JobId
| extend ProvisioningSteps = parse_json(ProvisioningSteps)
| extend eventName = tostring(ProvisioningSteps.[-1].name)
| summarize count() by eventName, bin(TimeGenerated, 1d)
| render timechart

自訂警示

Azure 監視器可讓您設定自訂警示,以取得與佈建相關重要事件的通知。 例如,您可能想要接收到發生失敗尖峰的警示。 或可能發生停用或刪除尖峰。 您可能想要收到警示的另一個範例是缺少任何佈建,這指出發生問題。

若要深入了解警示,請參閱 Azure 監視器記錄警示

在發生失敗尖峰時發出警示。 將 jobID 取代為應用程式的 jobID。

在發生失敗尖峰時發出警示。

可能發生導致佈建服務停止執行的問題。 使用下列警示來偵測在指定的時間間隔期間沒有任何佈建事件的時間。

可能發生導致佈建服務停止執行的問題。

在發生停用或刪除尖峰時發出警示。

在發生停用或刪除尖峰時發出警示。

社群貢獻

我們會針對應用程式佈建查詢和儀表板,採用開放原始碼和社區型方式。 建置您認為對其他人有用的查詢、警示或活頁簿,然後將其發佈至 AzureMonitorCommunity GitHub 存放庫。 將含有連結的電子郵件傳送給我們。 我們會檢閱查詢和儀表板並將其發佈至服務,讓其他人也受益。 請透過 provisioningfeedback@microsoft.com 與我們連絡。

下一步