瞭解布建如何與 Azure 監視器記錄整合

布建會與 Azure 監視器記錄和 Log Analytics 整合。 透過 Azure 監視,您可以執行建立活頁簿,也稱為儀錶板、儲存布建記錄 30 天,以及建立自定義查詢和警示等動作。 本文討論布建記錄如何與 Azure 監視器記錄整合。 若要深入瞭解布建記錄的一般運作方式,請參閱 布建記錄

啟用布建記錄

您應該已經熟悉 Azure 監視和 Log Analytics。 如果沒有,請跳到了解它們,然後回來瞭解應用程式布建記錄。 若要深入瞭解 Azure 監視,請參閱 Azure 監視器概觀。 若要深入瞭解 Azure 監視器記錄和 Log Analytics,請參閱 Azure 監視器中的記錄查詢概觀。

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

Access diagnostic settings

Enable application provisioning logs

注意

如果您剛布建工作區,可能需要一些時間才能將記錄傳送至工作區。 如果您收到未註冊訂閱以使用 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)。 也請確認應用程式已佈建,否則記錄中沒有任何數據。

Application provisioning workbooks

Application provisioning dashboard

自訂查詢

您可以建立自定義查詢,並在 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。

Alert when there's a spike in failures.

可能會導致布建服務停止執行的問題。 使用下列警示來偵測指定時間間隔內沒有布建事件的時間。

There may be an issue that caused the provisioning service to stop running.

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

Alert when there's a spike in disables or deletes.

社群貢獻

我們將採用以 開放原始碼和社群為基礎的方法來布建查詢和儀錶板。 建置您認為對其他人有用的查詢、警示或活頁簿,然後將它發佈至 AzureMonitorCommunity GitHub 存放庫。 用鏈接拍攝我們一封電子郵件。 我們會檢閱查詢和儀錶板併發佈至服務,讓其他人也受益。 請透過與我們連 provisioningfeedback@microsoft.com絡。

下一步