Share via


使用計量、警示和診斷來監視 Azure Digital Twins

Azure Digital Twins 與 Azure 監視器 整合,提供可用來監視 Azure Digital Twins 資源的計量和診斷資訊。 計量預設啟用,可提供 Azure 訂用帳戶中 Azure Digital Twins 資源狀態的相關資訊。 警示可在計量資料中發現特定條件時,主動通知您。 您也可收集服務執行個體的診斷記錄,以監視其效能、存取情形和其他資料。

這些監視功能可協助您評定 Azure Digital Twins 服務的整體健康狀態,以及與其連線的資源。 您可使用這些功能來瞭解 Azure Digital Twins 執行個體中發生的情況並分析問題的根本原因,而無須聯絡 Azure 支援。

您可從 Azure 入口網站存取這些功能,其功能集位於 Azure Digital Twins 資源的 [監視] 標題下。

Screenshot of the Azure portal showing the Monitoring options.

計量與警示

如需檢視 Azure 資源計量的一般資訊,請參閱 Azure 監視器文件中的開始使用計量瀏覽器。 如需設定 Azure 計量警示的一般資訊,請參閱建立新的警示規則

本捷個其餘部分描述每個 Azure Digital Twins 執行個體可追蹤的計量,以及每個計量與執行個體的整體狀態有何關聯。

追蹤服務限制的計量

您可以設定這些計量,以追蹤何時接近解決方案某些層面的已發佈服務限制

若要設定追蹤,請使用 Azure 監視器中的警示功能。 您可以定義這些計量的閾值,以便在計量達到其發佈限制的特定百分比時收到警示。

計量 計量顯示名稱 單位 彙總類型 描述 維度
TwinCount 對應項計數 (預覽) 計數 總數 Azure Digital Twins 執行個體中的對應項總數。 使用此計量來判斷您是否接近每個執行個體所允許對應項數目上限的服務限制
ModelCount 模型計數 (預覽) 計數 總數 Azure Digital Twins 執行個體中的模型總數。 使用此計量來判斷您是否接近每個執行個體所允許模型數目上限的服務限制

API 要求計量

計量與 API 要求有關:

計量 計量顯示名稱 單位 彙總類型 描述 維度
ApiRequests API 要求 計數 總數 針對 Digital Twins 讀取、寫入、刪除及查詢作業所提出的 API 要求數目。 驗證、
作業、
通訊協定、
狀態碼、
狀態碼類別、
狀態文字
ApiRequestsFailureRate API 要求失敗率 Percent 平均 針對 Digital Twins 讀取、寫入、刪除及查詢作業給予內部錯誤 (500) 回應碼的執行個體,服務所接收 API 要求的百分比。 驗證、
作業、
通訊協定、
狀態碼、
狀態碼類別、
狀態文字
ApiRequestsLatency API 要求延遲 毫秒 平均 API 要求的回應時間。 此值是指從 Azure Digital Twins 收到要求的時間,直到服務傳送 Digital Twins 讀取、寫入、刪除及查詢作業的成功/失敗結果為止。 驗證、
作業、
通訊協定

計費計量

計量與計費有關:

計量 計量顯示名稱 單位 彙總類型 描述 維度
BillingApiOperations 計費 API 作業 計數 總數 針對 Azure Digital Twins 服務所提出的所有 API 要求計數的計費計量。 計量識別碼
BillingMessagesProcessed 已處理的計費訊息 計數 總數 從 Azure Digital Twins 傳送至外部端點的訊息數目計費計量。

若要針對計費用途視為單一訊息,承載不得大於 1 KB。 大於此限制的承載會以 1 KB 遞增計算為額外的訊息 (因此 1 KB 到 2 KB 之間的訊息會計算為 2 則訊息,介於 2 KB 到 3 KB 之間則會是 3 則訊息,依此類推)。
這項限制也適用於回應,因此在回應本文中傳回 1.5 KB 的呼叫會以 2 個作業計費。
計量識別碼
BillingQueryUnits 計費查詢單位 計數 總數 查詢單位數目,這是服務資源使用量的內部計算量值,在執行查詢時會受到取用。 還有一個協助程式 API 可用來測量查詢單位:QueryChargeHelper 類別 計量識別碼

如需 Azure Digital Twins 計費方式的詳細資訊,請參閱 Azure Digital Twins 價格

輸入計量

計量與資料輸入有關:

計量 計量顯示名稱 單位 彙總類型 描述 維度
IngressEvents 輸入事件 計數 總數 傳入 Azure Digital Twins 的裝置遙測事件數目。 結果
IngressEventsFailureRate 輸入事件失敗率 Percent 平均 服務傳回內部錯誤 (500) 回應碼的傳入裝置遙測事件百分比。 結果
IngressEventsLatency 輸入事件延遲 毫秒 平均 事件準備好由 Azure Digital Twins 輸出的抵達時間,此時服務會傳送成功/失敗的結果。 結果

大量作業計量 (來自作業 API)

必須從作業 API 進行大量作業的計量:

計量 計量顯示名稱 單位 彙總類型 描述 維度
ImportJobLatency 匯入作業延遲 毫秒 平均 完成匯入作業所花費的總時間。 作業、
驗證、
通訊協定
ImportJobEntityCount 匯入作業實體計數 計數 總數 匯入作業所處理的對應項、模型或關聯性數目。 作業、
結果
DeleteJobLatency 刪除作業延遲 毫秒 平均 完成刪除作業所花費的總時間。 作業、
驗證、
通訊協定
DeleteJobEntityCount 刪除作業實體計數 計數 總數 在刪除作業過程中刪除的模型、對應項和/或關聯性數目。 作業、
結果

路由計量

計量與路由有關:

計量 計量顯示名稱 單位 彙總類型 描述 維度
MessagesRouted 路由的訊息 計數 總數 路由至端點 Azure 服務 (例如事件中樞、服務匯流排或事件方格) 的訊息數目。 端點類型、
結果
RoutingFailureRate 路由失敗率 Percent 平均 事件從 Azure Digital Twins 路由傳送至端點 Azure 服務 (例如事件中樞、服務匯流排或事件方格) 時,導致錯誤的事件百分比。 端點類型、
結果
RoutingLatency 路由延遲 毫秒 平均 將事件從 Azure Digital Twins 路由傳送至將事件張貼至端點 Azure 服務 (例如事件中樞、服務匯流排或事件方格) 之間的時間。 端點類型、
結果

載入計量維度

可協助識別更多有關計量詳細資料的維度。 某些路由計量會提供每個端點的資訊。 下表列出這些維度的可能值。

維度
驗證 OAuth
作業 (API 要求) Microsoft.DigitalTwins/digitaltwins/delete、
Microsoft.DigitalTwins/digitaltwins/write、
Microsoft.DigitalTwins/digitaltwins/read、
Microsoft.DigitalTwins/eventroutes/read、
Microsoft.DigitalTwins/eventroutes/write、
Microsoft.DigitalTwins/eventroutes/delete、
Microsoft.DigitalTwins/models/read、
Microsoft.DigitalTwins/models/write、
Microsoft.DigitalTwins/models/delete、
Microsoft.DigitalTwins/query/action
端點類型 事件方格、
事件中樞、
服務匯流排
通訊協定 HTTPS
結果 成功、
失敗
狀態碼 200、404、500 等等。
狀態碼類別 2xx、4xx、5xx 等等。
狀態文字 內部伺服器錯誤、找不到等等。

診斷記錄

如需 Azure 診斷設定的一般資訊 (包含如何啟用),請參閱 Azure 監視器中的診斷設定。 如需使用 Log Analytics 查詢診斷記錄的詳細資訊,請參閱 Azure 監視器中 Log Analytics 的概觀

本節的其餘部分說明 Azure Digital Twins 可收集的診斷記錄類別和其結構描述。

記錄類別

以下是 Azure Digital Twins 所收集各種記錄的詳細資料。

記錄類別 描述
ADTModelsOperation 記錄與模型相關的所有 API 呼叫
ADTQueryOperation 記錄與查詢相關的所有 API 呼叫
ADTEventRoutesOperation 記錄與事件路由相關的所有 API 呼叫和從 Azure Digital Twins 到端點服務的輸出事件,例如事件方格、事件中樞和服務匯流排
ADTDigitalTwinsOperation 記錄與個別對應項相關的所有 API 呼叫

每個記錄類別都包含寫入、讀取、刪除和動作的操作。 這些類別都可對應到 REST API 呼叫,如下所示:

事件類型 REST API 操作
寫入 PUT 和 PATCH
參閱 GET
刪除 DELETE
動作 POST

以下完整清單是每個類別中所記錄的操作,以及對應的 Azure Digital Twins REST API 呼叫

注意

每個記錄類別都包含數個操作/REST API 呼叫。 在下表中,每個記錄類別都會對應至其底下的所有作業/REST API 呼叫,直到列出下一個記錄類別為止。

記錄類別 作業 REST API 呼叫和其他事件
ADTModelsOperation Microsoft.DigitalTwins/models/write 數位對應項模型的更新 API
Microsoft.DigitalTwins/models/read 數位對應項模型的依識別碼取得和列出 API
Microsoft.DigitalTwins/models/delete 數位對應項模型的刪除 API
Microsoft.DigitalTwins/models/action 數位對應項模型的新增 API
ADTQueryOperation Microsoft.DigitalTwins/query/action 查詢對應項 API
ADTEventRoutesOperation Microsoft.DigitalTwins/eventroutes/write 事件路由新增 API
Microsoft.DigitalTwins/eventroutes/read 事件路由依識別碼取得和列出 API
Microsoft.DigitalTwins/eventroutes/delete 事件路由刪除 API
Microsoft.DigitalTwins/eventroutes/action 嘗試將事件發佈到端點服務 (而不是 API 呼叫) 時失敗
ADTDigitalTwinsOperation Microsoft.DigitalTwins/digitaltwins/write 數位對應項的新增、新增關聯性、更新、更新元件
Microsoft.DigitalTwins/digitaltwins/read 數位對應項依識別碼取得、取得元件、依識別碼取得關聯性、列出傳入關聯性、列出關聯性
Microsoft.DigitalTwins/digitaltwins/delete 數位對應項刪除、刪除關聯性
Microsoft.DigitalTwins/digitaltwins/action 數位對應項傳送元件遙測、傳送遙測

記錄結構描述

每個類別都有一個結構描述,定義該類別中的事件報告方式。 每個個別的記錄項目會儲存為文字,並格式化為 JSON Blob。 下列針對每個記錄類型提供記錄和範例 JSON 主體中的欄位。

ADTDigitalTwinsOperationADTModelsOperationADTQueryOperation 會採用一致的 API 記錄結構描述。 ADTEventRoutesOperation 會擴充結構描述,以便在屬性中包含 endpointName 欄位。

API 記錄結構描述

這個記錄結構描述是由 ADTDigitalTwinsOperationADTModelsOperationADTQueryOperation 所組成。 相同的結構描述也會用於 ADTEventRoutesOperation,但 Microsoft.DigitalTwins/eventroutes/action 作業名稱除外 (如需結構描述的詳細資訊,請參閱下一節輸出記錄結構描述)。

結構描述包含 API 對 Azure Digital Twins 執行個體呼叫的相關資訊。

以下說明 API 記錄的欄位和屬性描述。

欄位名稱 資料類型 描述
Time Datetime 發生此事件的日期和時間 (以 UTC 表示)
ResourceId String 發生事件所在資源的 Azure Resource Manager 資源識別碼
OperationName String 事件期間執行的動作類型
OperationVersion String 事件期間使用的 API 版本
Category String 要發出的資源類型
ResultType String 事件結果
ResultSignature String 事件 HTTP 狀態碼
ResultDescription String 事件的其他詳細資料
DurationMs String 執行事件所花費的時間 (以毫秒為單位)
CallerIpAddress String 事件遮罩來源 IP 位址
CorrelationId GUID 事件唯一識別碼
ApplicationId GUID 持有人授權中使用的應用程式識別碼
Level int 事件記錄嚴重性
Location String 發生事件區域
RequestUri URI 事件期間使用的端點
TraceId String TraceId,作為 W3C 追蹤內容的一部分。 整個追蹤的識別碼,用來唯一識別跨系統的分散式追蹤。
SpanId String SpanId,作為 W3C 追蹤內容的一部分。 追蹤中此要求的識別碼。
ParentId String ParentId,作為 W3C 追蹤內容的一部分。 沒有父識別碼的要求,就是追蹤的根目錄。
TraceFlags String TraceFlags,作為 W3C 追蹤內容的一部分。 控制追蹤旗標,例如取樣、追蹤層級等。
TraceState String TraceState,作為 W3C 追蹤內容的一部分。 其他廠商特定的追蹤識別資訊,可跨越不同的分散式追蹤系統。

以下是這些記錄類型的 JSON 主體範例。

ADTDigitalTwinsOperation
{
  "time": "2020-03-14T21:11:14.9918922Z",
  "resourceId": "/SUBSCRIPTIONS/BBED119E-28B8-454D-B25E-C990C9430C8F/RESOURCEGROUPS/MYRESOURCEGROUP/PROVIDERS/MICROSOFT.DIGITALTWINS/DIGITALTWINSINSTANCES/MYINSTANCENAME",
  "operationName": "Microsoft.DigitalTwins/digitaltwins/write",
  "operationVersion": "2020-10-31",
  "category": "DigitalTwinOperation",
  "resultType": "Success",
  "resultSignature": "200",
  "resultDescription": "",
  "durationMs": 8,
  "callerIpAddress": "13.68.244.*",
  "correlationId": "2f6a8e64-94aa-492a-bc31-16b9f0b16ab3",
  "identity": {
    "claims": {
      "appId": "872cd9fa-d31f-45e0-9eab-6e460a02d1f1"
    }
  },
  "level": "4",
  "location": "southcentralus",
  "uri": "https://myinstancename.api.scus.digitaltwins.azure.net/digitaltwins/factory-58d81613-2e54-4faa-a930-d980e6e2a884?api-version=2020-10-31",
  "properties": {},
  "traceContext": {
    "traceId": "95ff77cfb300b04f80d83e64d13831e7",
    "spanId": "b630da57026dd046",
    "parentId": "9f0de6dadae85945",
    "traceFlags": "01",
    "tracestate": "k1=v1,k2=v2"
  }
}
ADTModelsOperation
{
  "time": "2020-10-29T21:12:24.2337302Z",
  "resourceId": "/SUBSCRIPTIONS/BBED119E-28B8-454D-B25E-C990C9430C8F/RESOURCEGROUPS/MYRESOURCEGROUP/PROVIDERS/MICROSOFT.DIGITALTWINS/DIGITALTWINSINSTANCES/MYINSTANCENAME",
  "operationName": "Microsoft.DigitalTwins/models/write",
  "operationVersion": "2020-10-31",
  "category": "ModelsOperation",
  "resultType": "Success",
  "resultSignature": "201",
  "resultDescription": "",
  "durationMs": "80",
  "callerIpAddress": "13.68.244.*",
  "correlationId": "9dcb71ea-bb6f-46f2-ab70-78b80db76882",
  "identity": {
    "claims": {
      "appId": "872cd9fa-d31f-45e0-9eab-6e460a02d1f1"
    }
  },
  "level": "4",
  "location": "southcentralus",
  "uri": "https://myinstancename.api.scus.digitaltwins.azure.net/Models?api-version=2020-10-31",
  "properties": {},
  "traceContext": {
    "traceId": "95ff77cfb300b04f80d83e64d13831e7",
    "spanId": "b630da57026dd046",
    "parentId": "9f0de6dadae85945",
    "traceFlags": "01",
    "tracestate": "k1=v1,k2=v2"
  }
}
ADTQueryOperation
{
  "time": "2020-12-04T21:11:44.1690031Z",
  "resourceId": "/SUBSCRIPTIONS/BBED119E-28B8-454D-B25E-C990C9430C8F/RESOURCEGROUPS/MYRESOURCEGROUP/PROVIDERS/MICROSOFT.DIGITALTWINS/DIGITALTWINSINSTANCES/MYINSTANCENAME",
  "operationName": "Microsoft.DigitalTwins/query/action",
  "operationVersion": "2020-10-31",
  "category": "QueryOperation",
  "resultType": "Success",
  "resultSignature": "200",
  "resultDescription": "",
  "durationMs": "314",
  "callerIpAddress": "13.68.244.*",
  "correlationId": "1ee2b6e9-3af4-4873-8c7c-1a698b9ac334",
  "identity": {
    "claims": {
      "appId": "872cd9fa-d31f-45e0-9eab-6e460a02d1f1"
    }
  },
  "level": "4",
  "location": "southcentralus",
  "uri": "https://myinstancename.api.scus.digitaltwins.azure.net/query?api-version=2020-10-31",
  "properties": {},
  "traceContext": {
    "traceId": "95ff77cfb300b04f80d83e64d13831e7",
    "spanId": "b630da57026dd046",
    "parentId": "9f0de6dadae85945",
    "traceFlags": "01",
    "tracestate": "k1=v1,k2=v2"
  }
}
ADTEventRoutesOperation

以下是不屬於 Microsoft.DigitalTwins/eventroutes/action 類型 ADTEventRoutesOperation 的 JSON 主體範例 (如需結構描述的詳細資訊,請參閱下一節輸出記錄結構描述)。

  {
    "time": "2020-10-30T22:18:38.0708705Z",
    "resourceId": "/SUBSCRIPTIONS/BBED119E-28B8-454D-B25E-C990C9430C8F/RESOURCEGROUPS/MYRESOURCEGROUP/PROVIDERS/MICROSOFT.DIGITALTWINS/DIGITALTWINSINSTANCES/MYINSTANCENAME",
    "operationName": "Microsoft.DigitalTwins/eventroutes/write",
    "operationVersion": "2020-10-31",
    "category": "EventRoutesOperation",
    "resultType": "Success",
    "resultSignature": "204",
    "resultDescription": "",
    "durationMs": 42,
    "callerIpAddress": "212.100.32.*",
    "correlationId": "7f73ab45-14c0-491f-a834-0827dbbf7f8e",
    "identity": {
      "claims": {
        "appId": "872cd9fa-d31f-45e0-9eab-6e460a02d1f1"
      }
    },
    "level": "4",
    "location": "southcentralus",
    "uri": "https://myinstancename.api.scus.digitaltwins.azure.net/EventRoutes/egressRouteForEventHub?api-version=2020-10-31",
    "properties": {},
    "traceContext": {
      "traceId": "95ff77cfb300b04f80d83e64d13831e7",
      "spanId": "b630da57026dd046",
      "parentId": "9f0de6dadae85945",
      "traceFlags": "01",
      "tracestate": "k1=v1,k2=v2"
    }
  },

輸出記錄結構描述

下列範例是 Microsoft.DigitalTwins/eventroutes/action 作業名稱專屬 ADTEventRoutesOperation 記錄的結構描述。 其中包含與連線至 Azure Digital Twins 執行個體的輸出端點相關的例外狀況和 API 操作的詳細資訊。

欄位名稱 資料類型 描述
Time Datetime 發生此事件的日期和時間 (以 UTC 表示)
ResourceId String 發生事件所在資源的 Azure Resource Manager 資源識別碼
OperationName String 事件期間執行的動作類型
Category String 要發出的資源類型
ResultDescription String 事件的其他詳細資料
CorrelationId GUID 客戶提供的事件唯一識別碼
ApplicationId GUID 持有人授權中使用的應用程式識別碼
Level int 事件記錄嚴重性
Location String 發生事件區域
TraceId String TraceId,作為 W3C 追蹤內容的一部分。 整個追蹤的識別碼,用來唯一識別跨系統的分散式追蹤。
SpanId String SpanId,作為 W3C 追蹤內容的一部分。 追蹤中此要求的識別碼。
ParentId String ParentId,作為 W3C 追蹤內容的一部分。 沒有父識別碼的要求,就是追蹤的根目錄。
TraceFlags String TraceFlags,作為 W3C 追蹤內容的一部分。 控制追蹤旗標,例如取樣、追蹤層級等。
TraceState String TraceState,作為 W3C 追蹤內容的一部分。 其他廠商特定的追蹤識別資訊,可跨越不同的分散式追蹤系統。
EndpointName String Azure Digital Twins 中建立的輸出端點名稱

以下是 Microsoft.DigitalTwins/eventroutes/action 類型 ADTEventRoutesOperation 的 JSON 主體範例。

{
  "time": "2020-11-05T22:18:38.0708705Z",
  "resourceId": "/SUBSCRIPTIONS/BBED119E-28B8-454D-B25E-C990C9430C8F/RESOURCEGROUPS/MYRESOURCEGROUP/PROVIDERS/MICROSOFT.DIGITALTWINS/DIGITALTWINSINSTANCES/MYINSTANCENAME",
  "operationName": "Microsoft.DigitalTwins/eventroutes/action",
  "operationVersion": "",
  "category": "EventRoutesOperation",
  "resultType": "",
  "resultSignature": "",
  "resultDescription": "Unable to send EventHub message to [myPath] for event Id [f6f45831-55d0-408b-8366-058e81ca6089].",
  "durationMs": -1,
  "callerIpAddress": "",
  "correlationId": "7f73ab45-14c0-491f-a834-0827dbbf7f8e",
  "identity": {
    "claims": {
      "appId": "872cd9fa-d31f-45e0-9eab-6e460a02d1f1"
    }
  },
  "level": "4",
  "location": "southcentralus",
  "uri": "",
  "properties": {
    "endpointName": "myEventHub"
  },
  "traceContext": {
    "traceId": "95ff77cfb300b04f80d83e64d13831e7",
    "spanId": "b630da57026dd046",
    "parentId": "9f0de6dadae85945",
    "traceFlags": "01",
    "tracestate": "k1=v1,k2=v2"
  }
},

下一步

Azure 監視器文件中深入瞭解 Azure 監視器和其功能。