啟用事件方格資源的診斷記錄

本文提供啟用事件方格資源診斷設定的逐步指示。 診斷設定會擷取發佈與傳遞失敗的資訊,讓您能診斷並排除事件網格資源的問題。 下表顯示不同類型事件網格資源的設定:自訂主題、系統主題及領域。

診斷設定 事件方格主題 事件方格系統主題 事件網域 事件方格合作夥伴命名空間
DeliveryFailures Yes Yes Yes 否
發佈失敗 Yes 否 Yes Yes
DataPlaneRequests Yes 否 Yes Yes

重要

如需傳遞失敗、發佈失敗和資料平面要求的結構描述,請參閱診斷記錄。

必要條件

  • 已佈建的事件方格資源
  • 用於擷取診斷日誌的已佈建目的地:
    • Log Analytics 工作區
    • 儲存體帳戶
    • 事件中樞
    • 合作夥伴解決方案

啟用事件方格主題和網域的診斷記錄

注意

下列程序提供啟用主題診斷記錄的逐步指示。 啟用網域診斷日誌的步驟類似。 在步驟 2 中,前往 Azure 入口網站中的 Event Grid 網域。

  1. 登入 Azure 入口網站。

  2. 導覽至您想要啟用診斷記錄設定的事件方格主題。

    1. 在頂端的搜尋列中,搜尋 [事件方格主題]。

      顯示 Azure 入口網站的螢幕擷取畫面,其中搜尋方塊中顯示 Event Grid 主題。

    2. 從清單中,選取您想要設定診斷設定的 [主題]。

  3. 在左側功能表中,選取 [監視] 下的 [診斷設定]。

  4. 在 [診斷設定] 頁面上,選取 [新增診斷設定]。

    這張截圖顯示了自訂主題的診斷設定頁面。

  5. 輸入診斷設定的名稱。

  6. 在記錄區段中,選取allLogs選項。

    顯示已選取 [所有記錄] 的 [診斷設定] 頁面的螢幕擷取畫面。

  7. 啟用一個或多個日誌的擷取目的地,然後選擇先前建立的擷取資源來設定。

    • 如果您選取 [傳送至 Log Analytics],則請選取 Log Analytics 工作區。

      顯示已選取 [傳送至 Log Analytics] 的 [診斷設定] 頁面螢幕擷取畫面。

    • 如果您選取 [封存至儲存體帳戶],則請選取 [儲存體帳戶 -設定],然後選取 Azure 訂用帳戶中的儲存體帳戶。

      顯示 [診斷設定] 頁面的螢幕擷取畫面,其中已勾選 [封存至 Azure 儲存體帳戶],並已選取一個儲存體帳戶。

    • 如果您選取 [串流至事件中樞],則請選取 [事件中樞 - 設定],然後選取事件中樞命名空間、事件中樞和存取原則。

      顯示已選取 [串流到事件中心] 的 [診斷設定] 頁面的螢幕擷取畫面。

  8. 選取儲存。 接著,在右上角選擇 X 鍵關閉頁面。

  9. 回到 診斷設定 頁面,確認你在 診斷設定 表看到新項目。

    顯示診斷設定頁面的截圖,並在診斷設定表格中標示出新條目。

您也可以啟用收集此主題的所有指標。

啟用事件方格系統主題的診斷記錄

  1. 登入 Azure 入口網站。

  2. 前往您要啟用診斷記錄設定的系統主題。

    1. 在頂端的搜尋列中,搜尋 [事件方格系統主題]。

      顯示 Azure 入口網站的螢幕擷取畫面,其中搜尋方塊中顯示「Event Grid 系統主題」。

    2. 選擇你想設定診斷設定的 系統主題 。

      截圖顯示事件網格系統主題列表。

  3. 在左側功能表上,選取 [監視] 下的 [診斷設定],然後選取 [新增診斷設定]。

    顯示系統主題之 [診斷設定] 頁面的螢幕擷取畫面,其中包含 [新增診斷設定] 按鈕。

  4. 輸入診斷設定的名稱。

  5. 在記錄區段中,選取allLogs選項。

    顯示系統主題的 [診斷設定] 頁面並已選取 [所有記錄] 的螢幕擷取畫面。

  6. 啟用一個或多個日誌的擷取目的地,然後選擇先前建立的擷取資源來設定。

    • 如果您選取 [傳送至 Log Analytics],則請選取 Log Analytics 工作區。

      顯示系統主題的 [診斷設定] 頁面並已選取 [傳送至 Log Analytics] 的螢幕擷取畫面。

    • 如果您選取 [封存至儲存體帳戶],則請選取 [儲存體帳戶 -設定],然後選取 Azure 訂用帳戶中的儲存體帳戶。

      顯示系統主題的 [診斷設定] 頁面並已選取 [封存到儲存體帳戶] 的螢幕擷取畫面。

    • 如果您選取 [串流至事件中樞],則請選取 [事件中樞 - 設定],然後選取事件中樞命名空間、事件中樞和存取原則。

      截圖顯示系統主題的診斷設定頁面,並選擇「串流到事件中心」。

  7. 選取儲存。 接著,在右上角選擇 X 鍵關閉頁面。

  8. 回到 診斷設定 頁面,確認你在 診斷設定 表看到新項目。

    截圖顯示系統主題的診斷設定頁面,表格中新增了新條目。

你也可以啟用系統主題的所有指標收集功能。

截圖顯示系統主題的診斷設定頁面,所有指標都已選取。

在 Azure 儲存體中檢視診斷記錄

  1. 當你啟用儲存帳號作為擷取目的地時,Event Grid 會開始發送診斷日誌。 你會在儲存體帳戶中看到兩個名為 insights-logs-deliveryfailures 和 insights-logs-publishfailures 的新容器。

    截圖顯示診斷日誌的儲存帳號容器。

  2. 當你在其中一個容器中瀏覽時,會看到一個 JSON 格式的 blob。 此檔案包含傳遞失敗或發佈失敗的記錄項目。 導航路徑代表事件網格主題的 ResourceId ,以及事件網格發出日誌條目時的時間戳(分鐘級)。 你可以下載的 blob/JSON 檔案,遵循下一節描述的結構。

    截圖顯示儲存帳號裡有一個 JSON 的 blob 檔案。

  3. 你在 JSON 檔案中看到的內容,類似以下範例:

    {
        "time": "2019-11-01T00:17:13.4389048Z",
        "resourceId": "/SUBSCRIPTIONS/SAMPLE-SUBSCRIPTION-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=SAMPLE-TOPIC-NAME.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://sample-namespace.servicebus.windows.net/, deliveryResponse=NotFound: The messaging entity 'sb://sample-namespace.servicebus.windows.net/sample-eventhub' could not be found. TrackingId:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx_G14, SystemTracker:sample-namespace.servicebus.windows.net:sample-eventhub, Timestamp:2019-11-01T00:17:13, referenceId: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx_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
                    }
                ]
            }
        }
    ]
}

為稽核追蹤啟用診斷記錄

Event Grid 可以發佈資料平面作業的稽核追蹤記錄。 若要啟用此功能,請選取 [類別群組] 區段中的 [稽核],或選取 [類別] 區段中的 [DataPlaneRequests]。

利用稽核追蹤確保資料存取僅允許用於授權用途。 它收集有關安全控制的資訊,例如資源名稱、操作類型、網路存取、層級及區域。 欲了解更多如何啟用診斷設定的資訊,請參閱「 啟用事件網格主題與領域診斷日誌」。

顯示已選取「稽核」之 [診斷設定] 頁面的螢幕擷取畫面。

重要

如需 DataPlaneRequests 結構描述的詳細資訊,請參閱診斷記錄。

下一步

如需主題或網域診斷記錄的記錄結構描述和和其他概念資訊,請參閱診斷記錄。