監視Azure 服務匯流排資料參考

如需收集和分析Azure 服務匯流排監視資料的詳細資訊,請參閱 監視Azure 服務匯流排

注意

Azure 監視器不包含傳送至目的地的匯出計量資料維度,例如Azure 儲存體、Azure 事件中樞、Log Analytics 等。

度量

本節列出針對 Azure 服務匯流排 收集的所有自動收集平臺計量。 這些計量的資源提供者是 Microsoft.ServiceBus/namespaces

要求計量

計算資料和管理作業要求的數目。

標準名稱 可透過診斷設定匯出 Unit 彙總類型 描述 維度
傳入要求 Yes 計數 總數 在指定期間內對服務匯流排服務提出的要求數目。 EntityName
成功的要求 No 計數 總數 在指定期間內對服務匯流排服務提出的成功要求數目。 實體名稱
OperationResult
伺服器錯誤 No 計數 總數 由於指定期間內服務匯流排服務發生錯誤,因此未處理的要求數目。 實體名稱
OperationResult
User Errors No 計數 總數 由於使用者錯誤在指定期間內未處理的要求數目。 實體名稱
節流要求 No 計數 總數

因為已超過使用量而節流的要求數目。

MessagingErrorSubCode 維度具有下列可能的值:

  • CPU: CPU 節流
  • 儲存體: 它表示因為擱置的檢查點作業而進行節流
  • Namespace: Namespace 作業節流。
  • 未知: 其他資源節流。
實體名稱
MessagingErrorSubCode
擱置的檢查點作業計數 No 計數 平均 命名空間上的擱置檢查點作業數目。 當擱置的檢查點計數超過 (500,000 + (500,000 * 傳訊單位) 作業的限制時,服務就會開始節流。 此計量僅適用于使用 進階層 的命名空間。 MessagingErrorSubCode
伺服器傳送延遲 No milliseconds 平均 服務匯流排服務完成要求所花費的時間。 實體名稱

下列兩種類型的錯誤會分類為 使用者錯誤

  1. 用戶端錯誤(HTTP 中為 400 個錯誤)。
  2. 處理訊息時發生的錯誤,例如 MessageLockLostException

訊息計量

標準名稱 可透過診斷設定匯出 Unit 彙總類型 描述 維度
傳入訊息 Yes 計數 總數 在指定期間內傳送至服務匯流排的事件或訊息數目。 針對基本和標準層,傳入的自動轉送訊息會包含在此計量中。 而且,針對進階層,它們不包含在內。 實體名稱
外送訊息 Yes 計數 總數 在指定期間內從服務匯流排接收的事件或訊息數目。 此計量中未包含傳出自動轉寄訊息。 實體名稱
訊息 No 計數 平均 佇列/主題中的訊息計數。 此計量包含所有不同狀態的訊息,例如使用中、寄不出的信件、已排程等。 實體名稱
使用中訊息 No 計數 平均 佇列/主題中的作用中訊息計數。 作用中訊息是處於作用中狀態且可供傳遞之佇列或訂用帳戶中的訊息。 訊息可供接收。 實體名稱
寄不出的信件訊息 No 計數 平均 佇列/主題中的寄不出的信件訊息計數。 實體名稱
排定的訊息 No 計數 平均 佇列/主題中的排程訊息計數。 實體名稱
已完成的訊息 Yes 計數 總數 在指定期間內完成的訊息數目。 實體名稱
已放棄的郵件 Yes 計數 總數 在指定期間內放棄的訊息數目。 實體名稱
大小 No Bytes 平均 以位元組為單位的實體大小(佇列或主題)。 實體名稱

重要

訊息、使用中、寄不出的信件、已排程、已完成和已放棄訊息的值都是時間點值。 在該時間點之後立即取用的傳入訊息可能不會反映在這些計量中。

注意

當用戶端嘗試取得佇列或主題的相關資訊時,服務匯流排服務會傳回一些靜態資訊,例如名稱、上次更新時間、建立時間、需要會話或否等,以及某些動態資訊,例如訊息計數。 如果要求受到節流處理,服務會傳回靜態資訊和空的動態資訊。 這就是為什麼當命名空間受到節流時,訊息計數會顯示為 0。 這是設計的行為。

計量連線

標準名稱 可透過診斷設定匯出 Unit 彙總類型 描述 維度
使用中的連線數 No 計數 總數 命名空間和命名空間中實體的作用中連接數目。 此計量的值是時間點值。 在該時間點之後立即作用中的連線可能不會反映在計量中。
連線已開啟 No 計數 平均 已開啟的連接數目。 此計量的值是匯總,並包含匯總時間範圍中開啟的所有連線。 實體名稱
已關閉連線 No 計數 平均 已關閉的連接數目。 此計量的值是匯總,並包含匯總時間範圍中開啟的所有連線。 實體名稱

資源使用量計量

注意

下列計量僅適用于 進階層

監視進階層命名空間任何中斷狀況的重要計量包括: 每個命名空間的 CPU 使用量和 每個命名空間 的記憶體大小。 使用 Azure 監視器設定這些計量的警示

您可以監視的另一個計量是: 節流要求 。 只要命名空間停留在其記憶體、CPU 和代理連線限制內,就不應該發生問題。 如需詳細資訊,請參閱 Azure 服務匯流排 進階版層中的節流

標準名稱 可透過診斷設定匯出 Unit 彙總類型 描述 維度
每個命名空間的 CPU 使用量 No CPU 百分比 命名空間的 CPU 使用量百分比。 複本
每個命名空間的記憶體大小使用量 No 記憶體使用量 百分比 命名空間的記憶體使用量百分比。 複本

錯誤指標

標準名稱 可透過診斷設定匯出 Unit 彙總類型 描述 維度
伺服器錯誤 No 計數 總數 由於指定期間內服務匯流排服務發生錯誤,因此未處理的要求數目。 實體名稱

作業結果
User Errors No 計數 總數 由於使用者錯誤在指定期間內未處理的要求數目。 實體名稱

作業結果

計量維度

Azure 服務匯流排支援 Azure 監視器中計量的下列維度。 將維度新增至計量是選擇性的。 如果您未新增維度,則會在命名空間層級指定計量。

維度名稱 描述
實體名稱 服務匯流排支援 命名空間下的傳訊實體。 使用 「傳入要求」計量時,除了所有佇列和主題之外,機構名稱維度還會有 '-NamespaceOnlyMetric-' 的值。 這表示在命名空間層級所做的要求。 範例包括列出命名空間下所有佇列/主題的要求,或要求失敗驗證或授權的實體。

資源記錄

本節列出您可以針對Azure 服務匯流排收集的資源記錄類型。

  • 作業記錄
  • 虛擬網路和 IP 篩選記錄
  • 執行時間稽核記錄

Azure 服務匯流排現在能夠將記錄分派至兩個目的地資料表的其中之一 - Azure 診斷或 Log Analytics 中的資源特定資料表 。 您可以使用Azure 入口網站上可用的切換來選擇目的地資料表。

Screenshot of dialog box to set destination table.

作業記錄

作業記錄專案包含下表所列的專案:

名稱 描述 AzureDiagnostics 中支援 AZMSOperationalLogs 中支援 (資源特定資料表)
ActivityId 用來識別指定活動的內部識別碼 Yes Yes
EventName 作業名稱 Yes Yes
ResourceId Azure Resource Manager 資源識別碼 Yes Yes
SubscriptionId 訂閱識別碼 Yes Yes
EventtimeString 作業時間 No
TimeGenerated [UTC] 執行作業的時間(UTC) No Yes
EventProperties 作業屬性 Yes Yes
Status 作業狀態 Yes Yes
Caller 作業呼叫者(Azure 入口網站或管理用戶端) Yes Yes
Provider 發出記錄的服務名稱,例如 ServiceBus No Yes
Type 發出的記錄類型 No Yes
Category 記錄類別 No

以下是作業記錄 JSON 字串的範例:

AzureDiagnostics:


{
  "ActivityId": "0000000000-0000-0000-0000-00000000000000",
  "EventName": "Create Queue",
  "resourceId": "/SUBSCRIPTIONS/<AZURE SUBSCRPTION ID>/RESOURCEGROUPS/<RESOURCE GROUP NAME>/PROVIDERS/MICROSOFT.SERVICEBUS/NAMESPACES/<SERVICE BUS NAMESPACE NAME>",
  "SubscriptionId": "0000000000-0000-0000-0000-00000000000000",
  "EventTimeString": "9/28/2016 8:40:06 PM +00:00",
  "EventProperties": "{\"SubscriptionId\":\"0000000000-0000-0000-0000-00000000000000\",\"Namespace\":\"mynamespace\",\"Via\":\"https://mynamespace.servicebus.windows.net/f8096791adb448579ee83d30e006a13e/?api-version=2016-07\",\"TrackingId\":\"5ee74c9e-72b5-4e98-97c4-08a62e56e221_G1\"}",
  "Status": "Succeeded",
  "Caller": "ServiceBus Client",
  "category": "OperationalLogs"
}


資源特定的資料表專案:


{

  "ActivityId": "0000000000-0000-0000-0000-00000000000000",
  "EventName": "Retrieve Queue",
  "resourceId": "/SUBSCRIPTIONS/<AZURE SUBSCRPTION ID>/RESOURCEGROUPS/<RESOURCE GROUP NAME>/PROVIDERS/MICROSOFT.SERVICEBUS/NAMESPACES/<SERVICE BUS NAMESPACE NAME>",
  "SubscriptionId": "0000000000-0000-0000-0000-00000000000000",
  "TimeGenerated(UTC)": "9/28/2023 8:40:06 PM +00:00",
  "EventProperties": "{\"SubscriptionId\":\"0000000000-0000-0000-0000-00000000000000\",\"Namespace\":\"mynamespace\",\"Via\":\"https://mynamespace.servicebus.windows.net/f8096791adb448579ee83d30e006a13e/?api-version=2016-07\",\"TrackingId\":\"5ee74c9e-72b5-4e98-97c4-08a62e56e221_G1\"}",
  "Status": "Succeeded",
  "Caller": "ServiceBus Client",
  "type": "AZMSOperationalLogs",
  "Provider" : "SERVICEBUS"

}

作業記錄中擷取的事件和作業

作業記錄會擷取Azure 服務匯流排命名空間上執行的所有管理作業。 不會擷取資料作業,因為Azure 服務匯流排上執行的大量資料作業。

注意

為了協助您更妥善地追蹤資料作業,建議您使用用戶端追蹤。

下列管理作業會在作業記錄中擷取:

範圍 作業
Namespace - 建立命名空間
- 更新命名空間
- 刪除命名空間
- 更新命名空間
- 擷取命名空間
- SharedAccess 原則
佇列 - 建立佇列
- 更新佇列
- 刪除佇列
- 自動刪除刪除佇列
- 擷取佇列
主題 - 建立主題
- 更新主題
- 刪除主題
- 自動刪除刪除主題
- 擷取主題
訂用帳戶 - 建立訂用帳戶
- 更新訂閱
- 刪除訂用帳戶
- 自動刪除刪除訂閱
- 擷取訂用

注意

目前, 作業記錄中不會追蹤讀取 作業。

虛擬網路和 IP 篩選記錄

服務匯流排虛擬網路 (VNet) 線上活動 JSON 包含下表所列的元素:

名稱 描述 Azure 診斷 中支援 在 AZMSVnet 中支援連線ionEvents (資源特定資料表)
SubscriptionId Azure 訂用帳戶識別碼 Yes Yes
NamespaceName 命名空間名稱 Yes Yes
IPAddress 連線至服務匯流排服務的用戶端 IP 位址 Yes Yes
AddressIP 連線至服務匯流排的用戶端 IP 位址 Yes Yes
TimeGenerated [UTC] 執行作業的時間(UTC) Yes Yes
Action 評估連線要求時,服務匯流排服務完成的動作。 支援的動作為 Accept 連線ion Deny 連線ion Yes Yes
Reason 提供動作完成的原因 Yes Yes
Count 指定動作的出現次數 Yes Yes
ResourceId Azure Resource Manager 資源識別碼。 Yes Yes
Category 記錄類別 No
Provider 發出記錄的服務名稱,例如 ServiceBus No Yes
Type 發出的記錄類型 No .是

注意

只有在命名空間允許從選取的網路或特定 IP 位址存取時,才會產生虛擬網路記錄(IP 篩選規則)。

以下是虛擬網路記錄 JSON 字串的範例:

AzureDiagnostics;

{
    "SubscriptionId": "0000000-0000-0000-0000-000000000000",
    "NamespaceName": "namespace-name",
    "IPAddress": "1.2.3.4",
    "Action": "Accept Connection",
    "Reason": "IP is accepted by IPAddress filter.",
    "Count": 1,
    "ResourceId": "/SUBSCRIPTIONS/<AZURE SUBSCRIPTION ID>/RESOURCEGROUPS/<RESOURCE GROUP NAME>/PROVIDERS/MICROSOFT.SERVICEBUS/NAMESPACES/<SERVICE BUS NAMESPACE NAME>",
    "Category": "ServiceBusVNetConnectionEvent"
}

資源特定的資料表專案:

{
    "SubscriptionId": "0000000-0000-0000-0000-000000000000",
    "NamespaceName": "namespace-name",
    "AddressIp": "1.2.3.4",
    "Action": "Accept Connection",
    "Message": "IP is accepted by IPAddress filter.",
    "Count": 1,
    "ResourceId": "/SUBSCRIPTIONS/<AZURE SUBSCRIPTION ID>/RESOURCEGROUPS/<RESOURCE GROUP NAME>/PROVIDERS/MICROSOFT.SERVICEBUS/NAMESPACES/<SERVICE BUS NAMESPACE NAME>",
    "Provider" : "SERVICEBUS",
    "Type": "AZMSVNetConnectionEvents"
}

執行時間稽核記錄

執行時間稽核記錄會擷取服務匯流排中各種資料平面存取作業的匯總診斷資訊(例如傳送或接收訊息)。

注意

執行時間稽核記錄目前僅適用于 進階層

執行時間稽核記錄包含下表所列的元素:

名稱 描述 Azure 診斷 中支援 AZMSRuntimeAuditLogs 中支援 (資源特定資料表)
ActivityId 隨機產生的 UUID,可確保稽核活動的唯一性。 Yes Yes
ActivityName 執行時間作業名稱。 Yes Yes
ResourceId 與活動相關聯的資源。 Yes Yes
Timestamp 匯總時間。 No
time Generated (UTC) 匯總時間 No Yes
Status 活動的狀態(成功或失敗)。 Yes Yes
Protocol 與作業相關聯的通訊協定類型。 Yes Yes
AuthType 驗證類型(Microsoft Entra ID 或 SAS 原則)。 Yes Yes
AuthKey 用來向資源驗證的 Microsoft Entra 應用程式識別碼或 SAS 原則名稱。 Yes Yes
NetworkType 網路存取的類型: PublicPrivate Yes
ClientIP 用戶端應用程式的 IP 位址。 Yes Yes
Count 在匯總期間 1 分鐘期間執行的作業總數。 Yes Yes
Properties 資料平面作業特有的中繼資料。 Yes
Category 記錄類別 No
Provider 發出記錄的服務名稱,例如 ServiceBus No Yes
Type 發出的記錄類型 No Yes

以下是執行時間稽核記錄專案的範例:

AzureDiagnostics:

{
    "ActivityId": "<activity id>",
    "ActivityName": "ConnectionOpen | Authorization | SendMessage | ReceiveMessage | PeekLockMessage",
    "ResourceId": "/SUBSCRIPTIONS/xxx/RESOURCEGROUPS/<Resource Group Name>/PROVIDERS/MICROSOFT.SERVICEBUS/NAMESPACES/<Service Bus namespace>/servicebus/<service bus name>",
    "Time": "1/1/2021 8:40:06 PM +00:00",
    "Status": "Success | Failure",
    "Protocol": "AMQP | HTTP | SBMP", 
    "AuthType": "SAS | AAD", 
    "AuthKey": "<AAD Application Name| SAS policy name>",
    "NetworkType": "Public | Private", 
    "ClientIp": "x.x.x.x",
    "Count": 1, 
    "Category": "RuntimeAuditLogs"
 }

資源特定的資料表專案:

{
    "ActivityId": "<activity id>",
    "ActivityName": "ConnectionOpen | Authorization | SendMessage | ReceiveMessage | PeekLockMessage",
    "ResourceId": "/SUBSCRIPTIONS/xxx/RESOURCEGROUPS/<Resource Group Name>/PROVIDERS/MICROSOFT.SERVICEBUS/NAMESPACES/<Service Bus namespace>/servicebus/<service bus name>",
    "TimeGenerated (UTC)": "1/1/2021 8:40:06 PM +00:00",
    "Status": "Success | Failure",
    "Protocol": "AMQP | HTTP | SBMP", 
    "AuthType": "SAS | AAD", 
    "AuthKey": "<AAD Application Name| SAS policy name>",
    "NetworkType": "Public | Private", 
    "ClientIp": "x.x.x.x",
    "Count": 1, 
    "Provider": "SERVICEBUS",
    "Type"   : "AZMSRuntimeAuditLogs"
 }

在 2026 年 9 月 30 日,我們將淘汰Azure 服務匯流排 SBMP 通訊協定的支援,因此您將無法在 2026 年 9 月 30 日之後再使用此通訊協定。 使用 AMQP 通訊協定移轉至最新的Azure 服務匯流排 SDK 程式庫,該通訊協定會在該日期之前提供重要的安全性更新和改進功能。

如需詳細資訊,請參閱 支援淘汰公告

Azure 監視器記錄資料表

Azure 服務匯流排使用來自 Azure 監視器記錄的 Kusto 資料表。 您可以使用 Log Analytics 查詢這些資料表。 如需服務所使用的 Kusto 資料表清單,請參閱 Azure 監視器記錄資料表參考

下一步