監視 Azure IoT 中樞資料參考

若要開始使用 Azure 監視,請參閱監視 Azure IoT 中樞,以了解如何收集和分析Azure IoT 中樞的監視資料。

本文是實作 Azure 監視的參考。

本參考文章中的主要章節:

計量

本節列出為 Azure IoT 中樞自動收集的所有平台計量。 IoT 中樞計量的資源提供者命名空間是 Microsoft.Devices,而命名空間類型為 IoTHubs

下列子區段會依一般類別顯示IoT 中樞平台計量,並依 Azure 入口網站中指派的顯示名稱列出計量。

您也可以在 Azure 監視器文件中的 Microsoft.Devices/IotHubs 底下依計量名稱列出所有 IoT 中樞平台計量的單一資料表。 此資料表並未提供所有資訊,例如在本文中某些計量支援的彙總

如要深入了解 Azure 入口網站中支援的計量,請參閱 Azure 監視器所支援的計量

本節主題

選取主題以跳至此頁面上的資訊。

支援的彙總

每個資料表中的 [彙總類型] 資料行會對應至選取圖表或警示計量時所使用的預設彙總。

顯示計量彙總的螢幕擷取畫面

對於大部分的計量而言,所有匯總類型皆為有效;不過,對於單位資料行值為計數的計數計量,只有一些彙總有效。 計數計量可以是下列兩種類型之一:

  • 針對單一點計數計量,IoT 中樞每次測量作業時,都會註冊單一資料點 (基本上是 1 個)。 接著,Azure 監視器會將這些資料點加總至指定的細微性。 單一點計量的範例包括已傳送的「遙測」訊息,以及 已完成的 C2D 訊息傳遞。 對於這些計量,唯一相關的匯總類型為 Total (Sum)。 入口網站可讓您選擇最小值、最大值和平均值;不過,這些值一律為 1。

  • 針對快照集計數計量,IoT 中樞在測量作業發生時註冊總計計數。 目前,IoT 中樞發出的快照集計量有三個:使用的訊息總數裝置總計,以及連線裝置。 由於這些計量會在每次發出時呈現「總計」數量,因此在指定的資料細微性上加總它們並無意義。 Azure 監視器會限制您為這些計量選取匯總類型的平均、最小值和最大值。

雲端傳送至裝置命令計量

計量顯示名稱 計量 單位 彙總類型 描述 維度
已過期的 C2D 訊息 C2DMessagesExpired Count 總計 已過期的雲端到裝置訊息數目
已完成的 C2D 訊息傳遞 c2d.commands.egress.complete.success Count 總計 裝置成功完成的雲端到裝置訊息傳遞數目
已放棄的 C2D 訊息 c2d.commands.egress.abandon.success Count 總計 裝置放棄的雲端到裝置訊息數目
已拒絕的 C2D 訊息 c2d.commands.egress.reject.success Count 總計 裝置拒絕的雲端至裝置訊息數目

對於 [計數] 值為 [單位] 的計量,只有總計 (總和) 彙總為有效。 最小值、最大值和平均彙總一律會傳回 1。 如需詳細資訊,請參閱 支援的彙總

雲端傳送至裝置直接方法計量

計量顯示名稱 計量 單位 彙總類型 描述 維度
失敗直接方法叫用 c2d.methods.failure Count 總計 所有失敗直接方法呼叫的計數。
直接方法叫用的要求大小 c2d.methods.requestSize 位元組 Average 所有成功直接方法要求的計數。
直接方法叫用的回應大小 c2d.methods.responseSize 位元組 Average 所有成功直接方法回應的計數。
成功直接方法叫用 c2d.methods.success Count 總計 所有成功直接方法呼叫的計數。

對於 [計數] 值為 [單位] 的計量,只有總計 (總和) 彙總為有效。 最小值、最大值和平均彙總一律會傳回 1。 如需詳細資訊,請參閱 支援的彙總

雲端傳送至裝置對應項作業計量

計量顯示名稱 計量 單位 彙總類型 描述 維度
後端的失敗對應項讀取 c2d.twin.read.failure Count 總計 後端起始的所有失敗對應項讀取的計數。
後端的失敗對應項更新 c2d.twin.update.failure Count 總計 後端起始的所有失敗對應項更新的計數。
後端的對應項讀取回應大小 c2d.twin.read.size 位元組 Average 後端起始的所有成功對應項讀取的計數。
後端的對應項更新大小 c2d.twin.update.size 位元組 Average 後端起始的所有成功對應項更新的總大小。
後端的成功對應項讀取 c2d.twin.read.success Count 總計 後端起始的所有成功對應項讀取的計數。
後端的成功對應項更新 c2d.twin.update.success Count 總計 後端起始的所有成功對應項更新的計數。

對於 [計數] 值為 [單位] 的計量,只有總計 (總和) 彙總為有效。 最小值、最大值和平均彙總一律會傳回 1。 如需詳細資訊,請參閱 支援的彙總

組態計量

計量顯示名稱 計量 單位 彙總類型 描述 維度
設定計量 組態 Count 總計 在一組目標裝置上,針對裝置組態和 IoT Edge 部署所執行的 CRUD 作業總數。 這包括因為這些設定而修改裝置對應項或模組對應項的作業數目。

對於 [計數] 值為 [單位] 的計量,只有總計 (總和) 彙總為有效。 最小值、最大值和平均彙總一律會傳回 1。 如需詳細資訊,請參閱 支援的彙總

每日配額計量

計量顯示名稱 計量 單位 彙總類型 描述 維度
裝置資料使用量總計 deviceDataUsage 位元組 總計 傳輸至任何已連線至 IotHub 之裝置或從該裝置傳出的位元組數
裝置資料使用量總計 (預覽) deviceDataUsageV2 位元組 總計 傳輸至任何已連線至 IotHub 之裝置或從該裝置傳出的位元組數
已使用的訊息總數 dailyMessageQuotaUsed Count Average 今日已使用的總訊息數。 此累計值會在每天的 00:00 UTC 重設為零。

針對使用的訊息總數,僅支援最小值、最大值和平均彙總。 如需詳細資訊,請參閱 支援的彙總

裝置計量

計量顯示名稱 計量 單位 彙總類型 描述 維度
裝置總計 (已淘汰) devices.totalDevices Count 總計 向 IoT 中樞註冊的裝置數目
連接的裝置 (已淘汰) devices.connectedDevices.allProtocol Count 總計 連接至 IoT 中樞的裝置數目
裝置總計 totalDeviceCount Count Average 向 IoT 中樞註冊的裝置數目
已連線的裝置 connectedDeviceCount Count Average 連接至 IoT 中樞的裝置數目

對於 [裝置總計 (已淘汰)][連線裝置 (已淘汰)],只有總計 (總和) 彙總為有效。 最小值、最大值和平均彙總一律會傳回 1。 如需詳細資訊,請參閱 支援的彙總

對於裝置總計連線裝置,只有最小、最大值和平均彙總為有效。 如需詳細資訊,請參閱 支援的彙總

無法透過診斷設定匯出裝置總數連線裝置

裝置遙測計量

計量顯示名稱 計量 單位 彙總類型 描述 維度
節流錯誤數目 d2c.telemetry.ingress.sendThrottle Count 總計 因裝置輸送量節流而導致的節流錯誤數目
遙測「訊息傳送」嘗試 d2c.telemetry.ingress.allProtocol Count 總計 要嘗試傳送至您 IoT 中樞的裝置到雲端遙測訊息數目
已傳送的遙測訊息 d2c.telemetry.ingress.success Count 總計 成功傳送至您 IoT 中樞的裝置到雲端遙測訊息數目

對於 [計數] 值為 [單位] 的計量,只有總計 (總和) 彙總為有效。 最小值、最大值和平均彙總一律會傳回 1。 如需詳細資訊,請參閱 支援的彙總

裝置傳送至雲端對應項作業計量

計量顯示名稱 計量 單位 彙總類型 描述 維度
裝置的失敗對應項讀取 d2c.twin.read.failure Count 總計 裝置起始的所有失敗對應項讀取的計數。
裝置的失敗對應項更新 d2c.twin.update.failure Count 總計 裝置起始的所有失敗對應項更新的計數。
裝置的對應項讀取回應大小 d2c.twin.read.size 位元組 Average 所有裝置起始的成功對應項讀取數目。
裝置的對應項更新大小 d2c.twin.update.size 位元組 Average 所有裝置起始的成功對應項更新數目。
裝置的成功對應項讀取 d2c.twin.read.success Count 總計 裝置起始的所有成功對應項讀取的計數。
裝置的成功對應項更新 d2c.twin.update.success Count 總計 裝置起始的所有成功對應項更新的計數。

對於 [計數] 值為 [單位] 的計量,只有總計 (總和) 彙總為有效。 最小值、最大值和平均彙總一律會傳回 1。 如需詳細資訊,請參閱 支援的彙總

事件方格計量

計量顯示名稱 計量 單位 彙總類型 描述 維度
事件方格傳遞 EventGridDeliveries Count 總計 發佈至事件方格的 IoT 中樞事件數目。 針對成功和失敗的要求數目的使用「結果」維度。 EventType 維度會顯示事件類型 (https://aka.ms/ioteventgrid)。 Result,
EventType
如需詳細資訊,請參閱 計量維度
事件方格延遲 EventGridLatency 毫秒 Average 從產生 IoT 中樞事件到事件發佈至事件方格的平均延遲 (以毫秒為單位)。 此數值是所有事件類型之間的平均值。 使用 EventType 維度來查看特定事件類型的延遲。 EventType
如需詳細資訊,請參閱 計量維度

對於 [計數] 值為 [單位] 的計量,只有總計 (總和) 彙總為有效。 最小值、最大值和平均彙總一律會傳回 1。 如需詳細資訊,請參閱 支援的彙總

作業計量

計量顯示名稱 計量 單位 彙總類型 描述 維度
已完成的工作 jobs.completed Count 總計 所有已完成的作業計數。
呼叫列出作業失敗 jobs.listJobs.failure Count 總計 所有呼叫列出作業失敗的計數。
建立失敗的方法叫用作業 jobs.createDirectMethodJob.failure Count 總計 所有建立失敗的直接方法叫用作業計數。
建立失敗的對應項更新作業 jobs.createTwinUpdateJob.failure Count 總計 所有建立失敗的對應項更新作業計數。
取消作業失敗 jobs.cancelJob.failure Count 總計 所有呼叫取消作業失敗的計數。
失敗作業查詢 jobs.queryJobs.failure Count 總計 所有呼叫查詢作業失敗的計數。
失敗作業 jobs.failed Count 總計 所有失敗作業計數。
成功呼叫列出作業 jobs.listJobs.success Count 總計 所有成功呼叫列出作業的計數。
成功建立的方法叫用作業 jobs.createDirectMethodJob.success Count 總計 所有成功建立的直接方法叫用作業計數。
成功建立的對應項更新作業 jobs.createTwinUpdateJob.
成功
Count 總計 所有成功建立的對應項更新作業計數。
成功取消作業 jobs.cancelJob.success Count 總計 所有成功呼叫取消作業的計數。
成功作業查詢 jobs.queryJobs.success Count 總計 所有成功呼叫查詢作業的計數。

對於 [計數] 值為 [單位] 的計量,只有總計 (總和) 彙總為有效。 最小值、最大值和平均彙總一律會傳回 1。 如需詳細資訊,請參閱 支援的彙總

路由計量

計量顯示名稱 計量 單位 彙總類型 描述 維度
路由傳遞 (預覽) RoutingDeliveries Count 總計 路由傳遞計量。 使用維度來識別特定端點或特定路由來源的傳遞狀態。 Result,
RoutingSource,
endpointType,
FailureReasonCategory,
EndpointName
如需詳細資訊,請參閱 計量維度
路由傳遞訊息大小 (以位元組為單位) (預覽) RoutingDataSizeInBytesDelivered 位元組 總計 IoT 中樞路由傳送至自訂端點和內建端點的位元組總數。 使用維度來識別特定端點或特定路由來源的傳遞狀態。 RoutingSource,
EndpointType
EndpointName
如需詳細資訊,請參閱 計量維度
路由傳遞延遲 (預覽) RoutingDeliveryLatency 毫秒 Average 路由傳遞延遲計量。 使用維度來識別特定端點或特定路由來源的傳遞狀態。 RoutingSource,
endpointType,
EndpointName
如需詳細資訊,請參閱 計量維度
路由:傳遞至儲存體的 BLOB d2c.endpoints.egress.storage.blobs Count 總計 IoT 中樞路由將 BLOB 傳遞至儲存體端點的次數。
路由:傳遞至儲存體的資料 d2c.endpoints.egress.storage.bytes 位元組 總計 IoT 中樞路由傳遞至儲存體端點的資料量 (位元組)。
路由:事件中樞的訊息延遲 d2c.endpoints.latency.eventHubs 毫秒 Average 訊息輸入到 IoT 中樞與訊息輸入到自訂端點之間的平均延遲 (以毫秒計)。 不包括訊息路由至內建端點 (事件)。
路由:服務匯流排佇列的訊息延遲 d2c.endpoints.latency.serviceBusQueues 毫秒 Average 訊息輸入到 IoT 中樞與遙測訊息輸入到「服務匯流排」佇列端點間的平均延遲 (以毫秒計)。
路由:服務匯流排主題的訊息延遲 d2c.endpoints.latency.serviceBusTopics 毫秒 Average 訊息輸入到 IoT 中樞與遙測訊息輸入到「服務匯流排」佇列端點間的平均延遲 (以毫秒計)。
路由:訊息/事件的訊息延遲 d2c.endpoints.latency.builtIn.events 毫秒 Average 訊息輸入到 IoT 中樞與遙測訊息輸入至內建端點 (訊息/事件) 與後援路由間的平均延遲 (以毫秒計)。
路由:儲存體的訊息延遲 d2c.endpoints.latency.storage 毫秒 Average 訊息輸入到 IoT 中樞與遙測訊息輸入到儲存體端點間的平均延遲 (以毫秒計)。
路由:傳遞至事件中樞的訊息 d2c.endpoints.egress.eventHubs Count 總計 IoT 中樞路由成功將訊息傳遞至自訂端點事件中樞類型的數目。 不包括訊息路由至內建端點 (事件)。
路由:傳遞至服務匯流排佇列的訊息 d2c.endpoints.egress.serviceBusQueues Count 總計 IoT 中樞路由成功將訊息傳遞至服務匯流排佇列端點的次數。
路由:傳遞至服務匯流排主題的訊息 d2c.endpoints.egress.serviceBusTopics Count 總計 IoT 中樞路由成功將訊息傳遞至服務匯流排主題端點的次數。
路由:傳遞至後援的訊息 d2c.telemetry.egress.fallback Count 總計 IoT 中樞路由傳遞訊息至與後援路由相關聯之端點的次數。
路由:傳遞至訊息/事件的訊息 d2c.endpoints.egress.builtIn.events Count 總計 IoT 中樞路由成功將訊息傳遞至內建端點 (訊息/事件) 與後援路由間的數目。
路由:傳遞至儲存體的訊息 d2c.endpoints.egress.storage Count 總計 IoT 中樞路由成功將訊息傳遞至儲存體端點的次數。
路由:已傳遞的遙測訊息 d2c.telemetry.egress.success Count 總計 使用 IoT 中樞路由成功地將訊息傳遞到所有端點的次數。 如果將訊息路由至多個端點,這個值會為每一次成功傳遞加 1。 如果將訊息多次傳遞到同一個端點,這個值會為每一次成功傳遞加 1。
路由:已捨棄的遙測訊息 d2c.telemetry.egress.dropped Count 總計 IoT 中樞路由因為端點無效而捨棄訊息的次數。 這個值不會計算傳遞到後援路由的訊息,因為捨棄的訊息不會傳遞到那裡。
路由:不相容的遙測訊息 d2c.telemetry.egress.invalid Count 總計 IoT 中樞路由因為與端點不相容而無法傳遞訊息的次數。 當 Iot 中樞嘗試將訊息傳遞至端點時,訊息與端點不相容,並且敗於發生非暫時性錯誤。 不重試不正確訊息。 這個值不包含重試次數。
路由:已遺棄的遙測訊息 d2c.telemetry.egress.orphaned Count 總計 IoT 中樞路由因為訊息不符合任何路由查詢 (當後援路由遭停用) 而遺棄訊息的次數。

對於 [計數] 值為 [單位] 的計量,只有總計 (總和) 彙總為有效。 最小值、最大值和平均彙總一律會傳回 1。 如需詳細資訊,請參閱 支援的彙總

對應項查詢計量

計量顯示名稱 計量 單位 彙總類型 描述 維度
失敗對應項查詢 twinQueries.failure Count 總計 所有失敗對應項查詢的計數。
成功對應項查詢 twinQueries.success Count 總計 所有成功對應項查詢的計數。
對應項查詢結果大小 twinQueries.resultSize 位元組 Average 所有成功對應項查詢結果的總大小。

對於 [計數] 值為 [單位] 的計量,只有總計 (總和) 彙總為有效。 最小值、最大值和平均彙總一律會傳回 1。 如需詳細資訊,請參閱 支援的彙總

載入計量維度

Azure IoT 中樞具有下列維度,與部分路由和事件方格計量相關聯。

維度名稱 描述
EndpointName 端點名稱
EndpointType eventHubsserviceBusQueuescosmosDBserviceBusTopicsbuiltinblobStorage
EventType Microsoft.Devices.DeviceCreated. Microsoft.Devices.DeviceDeletedMicrosoft.Devices.DeviceConnectedMicrosoft.Devices.DeviceDisconnectedMicrosoft.Devices.DeviceTelemetry
如需詳細資訊,請參閱事件類型
FailureReasonCategory 下列其中一項:無效卸除孤立Null
結果 成功失敗
RoutingSource 裝置訊息
對應項變更事件
裝置生命週期事件

如要深入瞭解計量維度,請參閱多維度計量

資源記錄

本節列出針對 Azure IoT 中樞收集的所有資源記錄類別目錄類型和結構描述。 所有 IoT 中樞記錄的資源提供者和類型都是 Microsoft.Devices/IotHubs。 系統只會針對一些類別中的錯誤發出事件。

本節主題

連接

連線類別會追蹤來自 IoT 中樞的裝置連線和中斷連線事件以及錯誤。 此類別對於識別未經授權的連線嘗試,及/或在遺失裝置連線時發出警示非常有用。

如需裝置的可靠連線狀態,請參閱監視裝置連線狀態

{
   "records":
   [
        {
            "time": " UTC timestamp",
            "resourceId": "Resource Id",
            "operationName": "deviceConnect",
            "category": "Connections",
            "level": "Information",
            "properties": "{\"deviceId\":\"<deviceId>\",\"sdkVersion\":\"<sdkVersion>\",\"protocol\":\"<protocol>\",\"authType\":\"{\\\"scope\\\":\\\"device\\\",\\\"type\\\":\\\"sas\\\",\\\"issuer\\\":\\\"iothub\\\",\\\"acceptingIpFilterRule\\\":null}\",\"maskedIpAddress\":\"<maskedIpAddress>\"}",
            "location": "Resource location"
        }
    ]
}

如需使用連線記錄來監視裝置連線的詳細資訊,請參閱 監視、診斷和疑難排解裝置連線能力至 Azure IoT 中樞

裝置遙測

裝置遙測類別會追蹤在 IoT 中樞發生,且與遙測管線相關的錯誤。 此類別包括在傳送遙測事件 (例如節流) 和接收遙測事件 (例如未經授權的讀取器) 時所發生的錯誤。 這個類別無法捕捉裝置本身所執行之程式碼所造成的錯誤。

{
    "records":
    [
        {
            "time": "UTC timestamp",
            "resourceId": "Resource Id",
            "operationName": "ingress",
            "category": "DeviceTelemetry",
            "level": "Error",
            "resultType": "Event status",
            "resultDescription": "MessageDescription",
            "properties": "{\"deviceId\":\"<deviceId>\",\"batching\":\"0\",\"messageSizeInBytes\":\"<messageSizeInBytes>\",\"EventProcessedUtcTime\":\"<UTC timestamp>\",\"EventEnqueuedUtcTime\":\"<UTC timestamp>\",\"partitionId\":\"1\"}", 
            "location": "Resource location"
        }
    ]
}

雲端到裝置的命令

雲端到裝置的命令類別會追蹤在 IoT 中樞發生,且與雲端到裝置訊息管線相關的錯誤。 此類別包括發生自下列動作的錯誤:

  • 傳送雲端到裝置訊息 (例如未經授權的寄件者錯誤)、
  • 接收雲端到裝置訊息 (例如已超過傳遞計數錯誤),以及
  • 接收雲端到裝置訊息意見反應 (例如意見反應已過期的錯誤)。

當雲端到裝置訊息成功傳遞但裝置未正確處理時,此類別不會攔截錯誤。

{
    "records":
    [
        {
            "time": " UTC timestamp",
            "resourceId": "Resource Id",
            "operationName": "messageExpired",
            "category": "C2DCommands",
            "level": "Error",
            "resultType": "Event status",
            "resultDescription": "MessageDescription",
            "properties": "{\"deviceId\":\"<deviceId>\",\"messageId\":\"<messageId>\",\"messageSizeInBytes\":\"<messageSize>\",\"protocol\":\"Amqp\",\"deliveryAcknowledgement\":\"<None, NegativeOnly, PositiveOnly, Full>\",\"deliveryCount\":\"0\",\"expiryTime\":\"<timestamp>\",\"timeInSystem\":\"<timeInSystem>\",\"ttl\":<ttl>, \"EventProcessedUtcTime\":\"<UTC timestamp>\",\"EventEnqueuedUtcTime\":\"<UTC timestamp>\", \"maskedIpAddress\": \"<maskedIpAddress>\", \"statusCode\": \"4XX\"}",
            "location": "Resource location"
        }
    ]
}

裝置身分識別作業

裝置身分識別作業類別會追蹤您嘗試在其 IoT 中樞的身分識別登錄中建立、更新或刪除項目時所發生的錯誤。 佈建案例就很適合追蹤此類別。

{
    "records":
    [
        {
            "time": "UTC timestamp",
            "resourceId": "Resource Id",
            "operationName": "get",
            "category": "DeviceIdentityOperations",
            "level": "Error",
            "resultType": "Event status",
            "resultDescription": "MessageDescription",
            "properties": "{\"maskedIpAddress\":\"<maskedIpAddress>\",\"deviceId\":\"<deviceId>\", \"statusCode\":\"4XX\"}",
            "location": "Resource location"
        }
    ]
}

檔案上傳作業

檔案上傳類別會追蹤在 IoT 中樞發生且與檔案上傳功能相關的錯誤。 此類別包括︰

  • SAS URI 所發生的錯誤,例如當它在裝置通知中樞已完成上傳之前就到期時。

  • 裝置所報告的失敗上傳。

  • IoT 中樞通知訊息建立期間在儲存體中找不到檔案時所發生的錯誤。

此類別無法捕捉直接發生在裝置將檔案上傳到儲存體時的錯誤。

{
    "records":
    [
        {
            "time": "UTC timestamp",
            "resourceId": "Resource Id",
            "operationName": "ingress",
            "category": "FileUploadOperations",
            "level": "Error",
            "resultType": "Event status",
            "resultDescription": "MessageDescription",
            "durationMs": "1",
            "properties": "{\"deviceId\":\"<deviceId>\",\"protocol\":\"<protocol>\",\"authType\":\"{\\\"scope\\\":\\\"device\\\",\\\"type\\\":\\\"sas\\\",\\\"issuer\\\":\\\"iothub\\\",\\\"acceptingIpFilterRule\\\":null}\",\"blobUri\":\"http//bloburi.com\"}",
            "location": "Resource location"
        }
    ]
}

路由

訊息路由類別會在訊息路由評估期間追蹤發生的錯誤以及 IoT 中樞所認知的端點健康情況。 此類別包括下列事件,例如:

  • 規則評估為「未定義」、
  • IoT 中樞將端點標示為無效,或
  • 從端點收到的任何錯誤。

此類別不包含有關訊息本身的特定錯誤 (例如裝置節流錯誤),這些是在「裝置遙測」類別下報告。

{
    "records":
    [
        {
            "time":"2019-12-12T03:25:14Z",
            "resourceId":"/SUBSCRIPTIONS/91R34780-3DEC-123A-BE2A-213B5500DFF0/RESOURCEGROUPS/ANON-TEST/PROVIDERS/MICROSOFT.DEVICES/IOTHUBS/ANONHUB1",
            "operationName":"endpointUnhealthy",
            "category":"Routes",
            "level":"Error",
            "resultType":"403004",
            "resultDescription":"DeviceMaximumQueueDepthExceeded",
            "properties":"{\"deviceId\":null,\"endpointName\":\"anon-sb-1\",\"messageId\":null,\"details\":\"DeviceMaximumQueueDepthExceeded\",\"routeName\":null,\"statusCode\":\"403\"}",
            "location":"westus"
        }
    ]
}

以下是路由資源記錄的詳細資料:

裝置到雲端對應項作業

裝置到雲端對應項作業類別會追蹤裝置對應項上裝置起始的事件。 這些作業可能包括取得對應項更新回報的屬性,以及訂閱所需的屬性

{
    "records":
    [
        {
            "time": "UTC timestamp",
            "resourceId": "Resource Id",
            "operationName": "update",
            "category": "D2CTwinOperations",
            "level": "Information",
            "durationMs": "1",
            "properties": "{\"deviceId\":\"<deviceId>\",\"protocol\":\"<protocol>\",\"authenticationType\":\"{\\\"scope\\\":\\\"device\\\",\\\"type\\\":\\\"sas\\\",\\\"issuer\\\":\\\"iothub\\\",\\\"acceptingIpFilterRule\\\":null}\"}",
            "location": "Resource location"
        }
    ]
}

雲端到裝置對應項作業

雲端到裝置對應項作業類別會追蹤裝置對應項上服務起始的事件。 這些作業可能包括取得對應項、更新或取代標記,以及更新或取代所需的屬性。

{
    "records":
    [
        {
            "time": "UTC timestamp",
            "resourceId": "Resource Id",
            "operationName": "read",
            "category": "C2DTwinOperations",
            "level": "Information",
            "durationMs": "1",
            "properties": "{\"deviceId\":\"<deviceId>\",\"sdkVersion\":\"<sdkVersion>\",\"messageSize\":\"<messageSize>\"}",
            "location": "Resource location"
        }
    ]
}

對應項查詢

對應項查詢類別會針對在雲端中起始之裝置對應項的查詢要求,進行回報。

{
    "records":
    [
        {
            "time": "UTC timestamp",
            "resourceId": "Resource Id",
            "operationName": "query",
            "category": "TwinQueries",
            "level": "Information",
            "durationMs": "1",
            "properties": "{\"query\":\"<twin query>\",\"sdkVersion\":\"<sdkVersion>\",\"messageSize\":\"<messageSize>\",\"pageSize\":\"<pageSize>\", \"continuation\":\"<true, false>\", \"resultSize\":\"<resultSize>\"}",
            "location": "Resource location"
        }
    ]
}

作業的操作

作業操作類別會針對用來更新裝置對應項或對多部裝置叫用直接方法的作業要求,進行回報。 這些要求是在雲端中起始的。

{
    "records":
    [
        {
            "time": "UTC timestamp",
            "resourceId": "Resource Id",
            "operationName": "jobCompleted",
            "category": "JobsOperations",
            "level": "Information",
            "durationMs": "1",
            "properties": "{\"jobId\":\"<jobId>\", \"sdkVersion\": \"<sdkVersion>\",\"messageSize\": <messageSize>,\"filter\":\"DeviceId IN ['1414ded9-b445-414d-89b9-e48e8c6285d5']\",\"startTimeUtc\":\"Wednesday, September 13, 2017\",\"duration\":\"0\"}",
            "location": "Resource location"
        }
    ]
}

直接方法

直接方法類別會追蹤傳送給個別裝置的「要求-回應」互動。 這些要求是在雲端中起始的。

{
    "records":
    [
        {
            "time": "UTC timestamp",
            "resourceId": "Resource Id",
            "operationName": "send",
            "category": "DirectMethods",
            "level": "Information",
            "durationMs": "1",
            "properties": "{\"deviceId\":<messageSize>, \"RequestSize\": 1, \"ResponseSize\": 1, \"sdkVersion\": \"2017-07-11\"}",
            "location": "Resource location"
        }
    ]
}

分散式追蹤 (預覽)

分散式追蹤類別會追蹤相互關聯識別碼,以尋找帶有追蹤內容標頭的訊息。 為完全啟用這些記錄,用戶端的程式碼必須更新,方法請遵循 使用 IoT 中樞分散式追蹤 (預覽版) 對 IoT 應用程式進行端對端分析和診斷

correlationId 符合 W3C 追蹤內容提議,也就是會包含 trace-id 以及 span-id

IoT 中樞 D2C (裝置到雲端) 記錄

當包含有效追蹤屬性的訊息抵達 IoT 中樞,IoT 中樞便會記下這個記錄。

{
    "records":
    [
        {
            "time": "UTC timestamp",
            "resourceId": "Resource Id",
            "operationName": "DiagnosticIoTHubD2C",
            "category": "DistributedTracing",
            "correlationId": "00-8cd869a412459a25f5b4f31311223344-0144d2590aacd909-01",
            "level": "Information",
            "resultType": "Success",
            "resultDescription":"Receive message success",
            "durationMs": "",
            "properties": "{\"messageSize\": 1, \"deviceId\":\"<deviceId>\", \"callerLocalTimeUtc\": : \"2017-02-22T03:27:28.633Z\", \"calleeLocalTimeUtc\": \"2017-02-22T03:27:28.687Z\"}",
            "location": "Resource location"
        }
    ]
}

在這裡,durationMs 不會進行計算,因為 IoT 中樞的時鐘可能未與裝置的時鐘同步,因此計算持續時間可能會產生誤導。 建議您使用 properties 區段中的時間戳記來撰寫邏輯,以擷取暴增的裝置到雲端延遲。

屬性 類型 Description
messageSize 整數 裝置到雲端訊息的大小 (以位元組為單位)
deviceId 由 ASCII 7 位元英數字元組成的字串 裝置的身分識別
callerLocalTimeUtc UTC 時間戳記 裝置本機時鐘所報告的訊息建立時間
calleeLocalTimeUtc UTC 時間戳記 IoT 中樞服務端時鐘所報告、訊息抵達 IoT 中樞閘道的時間

IoT 中樞輸入記錄

當包含有效追蹤屬性的訊息寫入到內部或內建的事件中樞時,IoT 中樞便會記下這個記錄。

{
    "records":
    [
        {
            "time": "UTC timestamp",
            "resourceId": "Resource Id",
            "operationName": "DiagnosticIoTHubIngress",
            "category": "DistributedTracing",
            "correlationId": "00-8cd869a412459a25f5b4f31311223344-349810a9bbd28730-01",
            "level": "Information",
            "resultType": "Success",
            "resultDescription":"Ingress message success",
            "durationMs": "10",
            "properties": "{\"isRoutingEnabled\": \"true\", \"parentSpanId\":\"0144d2590aacd909\"}",
            "location": "Resource location"
        }
    ]
}

在記錄的properties區段中,包含關於訊息輸入的其他資訊。

屬性 類型 Description
isRoutingEnabled String 可為 true 或 false,會指出 IoT 中樞是否已啟用訊息路由
parentSpanId String 父代訊息的範圍識別碼,在此案例中會是 D2C 訊息追蹤

IoT 中樞輸出記錄

路由已啟用且有訊息寫入到端點時,IoT 中樞便會記下這個記錄。 如果路由未啟用,IoT 中樞則不會記下這個記錄。

{
    "records":
    [
        {
            "time": "UTC timestamp",
            "resourceId": "Resource Id",
            "operationName": "DiagnosticIoTHubEgress",
            "category": "DistributedTracing",
            "correlationId": "00-8cd869a412459a25f5b4f31311223344-98ac3578922acd26-01",
            "level": "Information",
            "resultType": "Success",
            "resultDescription":"Egress message success",
            "durationMs": "10",
            "properties": "{\"endpointType\": \"EventHub\", \"endpointName\": \"myEventHub\", \"parentSpanId\":\"349810a9bbd28730\"}",
            "location": "Resource location"
        }
    ]
}

在記錄的properties區段中,包含關於訊息輸入的其他資訊。

屬性 類型 Description
endpointName String 路由端點的名稱
endpointType String 路由端點的類型
parentSpanId String 父代訊息的範圍識別碼,在此案例中會是 IoT 中樞輸入訊息追蹤

設定

IoT 中樞組態記錄會追蹤自動裝置管理功能集的事件和錯誤。

{
    "records":
    [
         {
             "time": "2019-09-24T17:21:52Z",
             "resourceId": "Resource Id",
             "operationName": "ReadManyConfigurations",
             "category": "Configurations",
             "resultType": "",
             "resultDescription": "",
             "level": "Information",
             "durationMs": "17",
             "properties": "{\"configurationId\":\"\",\"sdkVersion\":\"2018-06-30\",\"messageSize\":\"0\",\"statusCode\":null}",
             "location": "southcentralus"
         }
    ]
}

裝置串流 (預覽版)

裝置串流類別會追蹤傳送至個別裝置「要求-回應」的互動。

{
    "records":
    [
         {
             "time": "2019-09-19T11:12:04Z",
             "resourceId": "Resource Id",
             "operationName": "invoke",
             "category": "DeviceStreams",
             "resultType": "",
             "resultDescription": "",    
             "level": "Information",
             "durationMs": "74",
             "properties": "{\"deviceId\":\"myDevice\",\"moduleId\":\"myModule\",\"sdkVersion\":\"2019-05-01-preview\",\"requestSize\":\"3\",\"responseSize\":\"5\",\"statusCode\":null,\"requestName\":\"myRequest\",\"direction\":\"c2d\"}",
             "location": "Central US"
         }
    ]
}

Azure 監視器記錄資料表

本節參考所有與 IoT 中樞相關的 Azure 監視器記錄 Kusto 資料表,並可供 Log Analytics 查詢。 如需這些資料表的清單,以及 IoT 中樞資源類型詳細資訊的連結,請參閱 Azure 監視器記錄資料表參考中的 IoT 中樞

如需所有 Azure 監視器記錄/Log Analytics 資料表的參考,請參閱 Azure 監視器記錄資料表參考

另請參閱