啟用事件方格資源的診斷記錄
本文提供啟用事件方格資源診斷設定的逐步指示。 這些設定可讓您擷取和檢視診斷資訊,以針對任何失敗進行疑難排解。 下表顯示不同類型的事件方格資源可用的設定:自訂主題、系統主題和網域。
診斷設定 | 事件方格主題 | 事件方格系統主題 | 事件網域 | 事件方格合作夥伴命名空間 |
---|---|---|---|---|
DeliveryFailures | Yes | .是 | .是 | No |
PublishFailures | 是 | 無 | .是 | Yes |
DataPlaneRequests | 是 | 無 | .是 | 是 |
重要
如需傳遞失敗、發佈失敗和資料平面要求的結構描述,請參閱診斷記錄。
必要條件
- 已佈建的事件方格資源
- 用於擷取診斷記錄的已佈目的地:
- Log Analytics 工作區
- 儲存體帳戶
- 事件中樞
- 合作夥伴解決方案
啟用事件方格主題和網域的診斷記錄
注意
下列程序提供啟用主題診斷記錄的逐步指示。 啟用網域診斷記錄的步驟非常類似。 在步驟 2 中,導覽至 Azure 入口網站中的事件方格 [網域]。
登入 Azure 入口網站。
導覽至您想要啟用診斷記錄設定的事件方格主題。
在頂端的搜尋列中,搜尋 [事件方格主題]。
從清單中,選取您想要設定診斷設定的 [主題]。
在左側功能表中,選取 [監視] 下的 [診斷設定]。
在 [診斷設定] 頁面上,選取 [新增診斷設定]。
指定診斷設定的 [名稱]。
選取 [記錄] 區段中的 [allLogs] 選項。
為記錄啟用一或多個擷取目的地,然後選取先前建立的擷取資源對其進行設定。
如果您選取 [傳送至 Log Analytics],則請選取 Log Analytics 工作區。
如果您選取 [封存至儲存體帳戶],則請選取 [儲存體帳戶 -設定],然後選取 Azure 訂用帳戶中的儲存體帳戶。
如果您選取 [串流至事件中樞],則請選取 [事件中樞 - 設定],然後選取事件中樞命名空間、事件中樞和存取原則。
選取 [儲存]。 然後,選取右上角的 X 以關閉頁面。
現在,回到 [診斷設定] 頁面,確認您在 [診斷設定] 資料表中看到新的項目。
您也可以啟用收集主題的所有計量。
啟用事件方格系統主題的診斷記錄
- 登入 Azure 入口網站。
- 導覽至您想要啟用診斷記錄設定的系統主題。
- 在頂端的搜尋列中,搜尋 [事件方格系統主題]。
- 從清單中,選取您想要設定診斷設定的 [系統主題]。
- 在左側功能表上,選取 [監視] 下的 [診斷設定],然後選取 [新增診斷設定]。
- 指定診斷設定的 [名稱]。
- 選取 [記錄] 區段中的 [allLogs] 選項。
- 為記錄啟用一或多個擷取目的地,然後選取先前建立的擷取資源對其進行設定。
- 如果您選取 [傳送至 Log Analytics],則請選取 Log Analytics 工作區。
- 如果您選取 [封存至儲存體帳戶],則請選取 [儲存體帳戶 -設定],然後選取 Azure 訂用帳戶中的儲存體帳戶。
- 如果您選取 [串流至事件中樞],則請選取 [事件中樞 - 設定],然後選取事件中樞命名空間、事件中樞和存取原則。
- 選取 [儲存]。 然後,選取右上角的 X 以關閉頁面。
- 現在,回到 [診斷設定] 頁面,確認您在 [診斷設定] 資料表中看到新的項目。
您也可以啟用收集系統主題的所有「計量」。
在 Azure 儲存體中檢視診斷記錄
啟用儲存體帳戶作為擷取目的地之後,事件方格就會開始發出診斷記錄。 您應該會在儲存體帳戶中看到名為 insights-logs-deliveryfailures 和 insights-logs-publishfailures 的新容器。
當您導覽至其中一個容器時,最後會出現 JSON 格式的 Blob。 此檔案包含傳遞失敗或發佈失敗的記錄項目。 導覽路徑代表事件方格主題的 ResourceId,以及發出記錄項目時的時間戳記 (分鐘層級)。 Blob/JSON 檔案可供下載,而且最後會遵守下節中所述的結構描述。
您應該會在 JSON 檔案中看到與下列範例類似的內容:
{ "time": "2019-11-01T00:17:13.4389048Z", "resourceId": "/SUBSCRIPTIONS/SAMPLE-SUBSCTIPTION-ID /RESOURCEGROUPS/SAMPLE-RESOURCEGROUP-NAME/PROVIDERS/MICROSOFT.EVENTGRID/TOPICS/SAMPLE-TOPIC-NAME ", "eventSubscriptionName": "SAMPLEDESTINATION", "category": "DeliveryFailures", "operationName": "Deliver", "message": "Message:outcome=NotFound, latencyInMs=2635, id=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx, systemId=xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx, state=FilteredFailingDelivery, deliveryTime=11/1/2019 12:17:10 AM, deliveryCount=0, probationCount=0, deliverySchema=EventGridEvent, eventSubscriptionDeliverySchema=EventGridEvent, fields=InputEvent, EventSubscriptionId, DeliveryTime, State, Id, DeliverySchema, LastDeliveryAttemptTime, SystemId, fieldCount=, requestExpiration=1/1/0001 12:00:00 AM, delivered=False publishTime=11/1/2019 12:17:10 AM, eventTime=11/1/2019 12:17:09 AM, eventType=Type, deliveryTime=11/1/2019 12:17:10 AM, filteringState=FilteredWithRpc, inputSchema=EventGridEvent, publisher=DIAGNOSTICLOGSTEST-EASTUS.EASTUS-1.EVENTGRID.AZURE.NET, size=363, fields=Id, PublishTime, SerializedBody, EventType, Topic, Subject, FilteringHashCode, SystemId, Publisher, FilteringTopic, TopicCategory, DataVersion, MetadataVersion, InputSchema, EventTime, fieldCount=15, url=sb://diagnosticlogstesting-eastus.servicebus.windows.net/, deliveryResponse=NotFound: The messaging entity 'sb://diagnosticlogstesting-eastus.servicebus.windows.net/eh-diagnosticlogstest' could not be found. TrackingId:c98c5af6-11f0-400b-8f56-c605662fb849_G14, SystemTracker:diagnosticlogstesting-eastus.servicebus.windows.net:eh-diagnosticlogstest, Timestamp:2019-11-01T00:17:13, referenceId: ac141738a9a54451b12b4cc31a10dedc_G14:" }
使用 Azure Resource Manager 範本
以下是範例 Azure Resource Manager 範本,可啟用事件方格主題的診斷設定。 當您部署此範例範本時,會建立下列資源。
- 事件方格主題
- Log Analytics 工作區
然後,其會建立主題的診斷設定,以將診斷資訊傳送至 Log Analytics 工作區。
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"topic_name": {
"defaultValue": "spegrid0917topic",
"type": "String"
},
"log_analytics_workspace_name": {
"defaultValue": "splogaw0625",
"type": "String"
},
"location": {
"defaultValue": "eastus",
"type": "String"
},
"sku": {
"defaultValue": "Free",
"type": "String"
}
},
"variables": {},
"resources": [
{
"type": "Microsoft.EventGrid/topics",
"apiVersion": "2020-10-15-preview",
"name": "[parameters('topic_name')]",
"location": "[parameters('location')]",
"sku": {
"name": "Basic"
},
"kind": "Azure",
"identity": {
"type": "None"
},
"properties": {
"inputSchema": "EventGridSchema",
"publicNetworkAccess": "Enabled"
}
},
{
"apiVersion": "2017-03-15-preview",
"name": "[parameters('log_analytics_workspace_name')]",
"location": "[parameters('location')]",
"type": "Microsoft.OperationalInsights/workspaces",
"properties": {
"sku": {
"name": "[parameters('sku')]"
}
}
},
{
"type": "Microsoft.EventGrid/topics/providers/diagnosticSettings",
"apiVersion": "2017-05-01-preview",
"name": "[concat(parameters('topic_name'), '/', 'Microsoft.Insights/', parameters('log_analytics_workspace_name'))]",
"location": "[parameters('location')]",
"dependsOn": [
"[resourceId('Microsoft.EventGrid/topics', parameters('topic_name'))]",
"[resourceId('Microsoft.OperationalInsights/workspaces', parameters('log_analytics_workspace_name'))]"
],
"properties": {
"workspaceId": "[resourceId('Microsoft.OperationalInsights/workspaces', parameters('log_analytics_workspace_name'))]",
"metrics": [
{
"category": "AllMetrics",
"enabled": true
}
],
"logs": [
{
"category": "DeliveryFailures",
"enabled": true
},
{
"category": "PublishFailures",
"enabled": true
}
]
}
}
]
}
啟用稽核追蹤的診斷記錄
事件方格可以發佈資料平面作業的稽核追蹤。 若要啟用此功能,請選取 [類別群組] 區段中的 [稽核],或選取 [類別] 區段中的 [DataPlaneRequests]。
稽核追蹤可以用來確保僅允許資料存取以供授權之用。 其會收集安全性控制的相關資訊,例如資源名稱、作業類型、網路存取、層級、區域等。 如需如何啟用診斷設定的詳細資訊,請參閱事件方格主題和事件網域中的診斷記錄。
重要
如需 DataPlaneRequests
結構描述的詳細資訊,請參閱診斷記錄。
下一步
如需主題或網域診斷記錄的記錄結構描述和和其他概念資訊,請參閱診斷記錄。