在 WMB中生成用於事務監控和審計的事件

CloudSpace發表於2010-03-02

轉自:http://www.ibm.com/developerworks/cn/websphere/library/techarticles/0911_fan/0911_fan.html

簡介

監控事件是 IBM® WebSphere® Message Broker V6.1.0.3 或更新版本(此後稱作 Message Broker)中的新特性。此特性允許您配置訊息流以生成監控事件,而不需要編寫任何程式碼。當經過配置的事件出現在訊息流中之後,託管訊息流的代理會生成 XML 文件並將其作為預定義的主題釋出。這些事件可以由 WebSphere Business Monitor 等應用程式讀取和使用,用於跟蹤和報告訊息流的事務級效能資料,以及支援事務監控、事務審計和業務流程監控,如圖 1 所示:


圖 1. 監控事件的概念檢視
圖 1. 監控事件的概念檢視

讀者應該具備一定的 Message Broker 經驗,並且知道如何建立和部署訊息流。

什麼是監控事件?

可以在節點級配置訊息流以生成監控事件。監控事件的表示形式是符合 監控事件模式 的 XML 文件。每個事件都包含以下資訊:

  • 事件源 (eventSourceAddress)
  • 事件名稱 (eventName)
  • 建立時間 (creationTime)
  • 相同事務或工作單元生成的事件的關聯 ID (localTransactionId、parentTransactionId 和 globalTransactionId)
  • 訊息流的詳細資訊 (messageFlowData)

或者,監控事件還可以包含以下資訊:

  • 從訊息中提取的應用程式資料 (applicationData)
  • 訊息位元流的部分或全部 (bitstream)

Message Broker 事件模式

預定義的 Message Broker 事件模式 WMBEvent.xsd 用於定義監控事件的結構。要檢索 WMBEvent.xsd 檔案:

  1. 在 Message Broker Toolkit 的 Application Development 透檢視中,右鍵單擊訊息集專案下的訊息集(如果沒有,可以建立一個新的訊息集),並選擇 New => Message Definition File From => IBM Supplied Message
  2. 在開啟的視窗中,向下滾動 IBM 提供的訊息列表並選擇 Message Broker Monitoring Event,然後單擊 Finish。您應該可以在 com.ibm.www.xmlns.prod.websphere.messagebroker._610.monitoring.event 包下看到 WMBEvent.mxsd 檔案。
  3. 再次右鍵單擊訊息集並選擇 Generate => XML Schemas
  4. 在 Generate XML Schemas 視窗中,選擇希望將模式檔案匯出到其中的外部目錄。
  5. 單擊 Finish。該目錄中將建立一個包含 WMBEvent.xsd 檔案的 zip 檔案。

事件型別

您可以配置訊息流來生成兩種事件:事務事件和終端事件。共有三種型別的事件:start、end 和 rollback。事務事件僅由輸入節點生成,比如說 MQInput 和 HTTPInput。終端事件可由任意節點的任意終端生成。

事件輸出

監控事件特性將利用 Message Broker 的釋出/訂閱 (pub/sub) 機制。事件訊息將被髮布到特定的主題,可以通過訂閱應用程式來註冊它。主題名稱的形式如下:

$SYS/Broker//Monitoring//

主題層次結構支援通過訂閱應用程式來過濾事件。舉例來說,一個應用程式可以從部署在代理中的所有執行分組中的所有訊息流接收事件,而另一個應用程式只能接收單個執行分組中的所有訊息流的事件。

配置訊息流以生成事件

如前所述,您可以進行配置,使監控事件的生成不需要編寫任何程式碼。本節將通過一個示例來演示如何配置和監控訊息流中的事件,以及如何使用這些事件。要執行此示例,您需要部署訊息流 Message Broker V6.1.0.3 或更新版本。在本文中,所有命令都使用代理名 BRK1 和執行組名 default。本節中的高階步驟如下:

  1. 建立訊息流
  2. 設定監控屬性
  3. 部署訊息流
  4. 啟用事件源
  5. 啟用事件
  6. 訂閱事件

1. 建立訊息流

圖 2 顯示了 Message Broker Project Interchange 檔案 MonitoringEvents_PI.zip 所提供的預建訊息流,您可以 從此處下載該檔案,其中還包括其他一些工件,比如訊息集、BAR 檔案、監控事件模式和測試訊息。這個簡單的訊息流並未包含錯誤處理例程,用於演示如何配置和生成監控事件。它將在一個輸入佇列中接收 XML 訊息,用於請求溫度換算服務。該服務提供在 Web 上: Visual DataFlex 溫度換算 Web 服務。它會根據輸入訊息的內容使用 HTTP Request 節點 HTTP_Request_C2F 呼叫從 Celsius 到 Fahrenheit 的換算服務,或者使用節點 HTTP_Request_F2C 呼叫從 Fahrenheit 到 Celsius 的換算服務。服務請求的響應將返回在一個輸出佇列中。有關更多資訊,請參閱 Message Broker 資訊中心中的 建立訊息流


圖 2. 訊息流 MonitoringEvents_MF
圖 2. 訊息流 MonitoringEvents_MF

表 1 描述了節點連線:


表 1. 訊息流上的節點連線的詳細資訊

NodeName NodeType Terminal To NodeName NodeType Terminal
QIN MQInput Out => Build_HTTP_Request_Msg Compute In
Build_HTTP_Request_Msg Compute Out => HTTP_Request_C2F HTTPRequest In
Build_HTTP_Request_Msg Compute Out1 => HTTP_Request_F2C HTTPRequest In
HTTP_Request_C2F HTTPRequest Out => Build_MQ_Response_Msg Compute In
HTTP_Request_F2C HTTPRequest Out => Build_MQ_Response_Msg Compute In
Build_MQ_Response_Msg Compute Out => QOUT MQOutput In

2. 設定監控事件

您可以使用監控屬性或監控配置檔案來設定監控事件。在本節中,您將使用監控屬性來配置訊息流的監控事件,如下所示。使用監控配置檔案配置事件源 小節詳細討論了監控配置檔案。要配置的監控事件包括所有事務事件,MQInput 節點 QIN 上的 Start、End 和 Rollback,以及各個 HTTP Request 節點上的終端事件 In 和 Out。

  1. 在 Message Broker Toolkit 的 Broker Application Development 透檢視中,使用 Message Flow Editor 開啟 MonitoringEvents_MF 訊息流。
  2. 在 MQInput 節點 QIN 的屬性的 Monitoring 選項卡中,單擊 Add 配置事件流,如圖 3 所示:

    圖 3. 監控 MQInput 節點 QIN 的屬性
    圖 3. 監控 MQInput 節點 QIN 的屬性

  3. 從事件源列表中選擇 Transaction Start。當訊息經過流的輸入節點時會觸發此事件。將事件的字面名稱從預設的 QIN.TransactionStart 更改為 FlowStart,如圖 4 所示。當然,可以選擇訊息集合中的訊息樹中的字元欄位作為事件名稱。

    圖 4. 在 MQInput 節點 QIN 上新增一個事務事件
    圖 4. 在 MQInput 節點 QIN 上新增一個事務事件

  4. 對於 Event Payload,單擊 Add 從輸入訊息樹的簡單或複雜欄位中選擇性地獲取資料。如下面的圖 5 所示,對資料位置單擊 Edit 之後將開啟 XPath Expression Builder 頁面,您可以向輸入訊息新增資料型別。為了能夠在 Data Type Viewer 中看到它,本例中的輸入訊息 TemperatureConversion 必須內建在訊息集 (MRM) 中。如果不是這樣,則需要手動將值鍵入到 XPath Expression 中。

    圖 5. 向輸入訊息新增資料型別
    圖 5. 向輸入訊息新增資料型別

  5. 如下面的圖所示,為便於演示,我們使用 XPath 表示式同時選擇了訊息主體中的複雜欄位 TemperatureConversion 以及 MQMD 頭部中的簡單欄位 MsgID。有效負荷位元流資料還包含在監控事件中。請記住,新增較大的有效負荷和位元流會降低效能。

    圖 6. 事務事件 FlowStart 的事件有效負荷資料
    圖 6. 事務事件 FlowStart 的事件有效負荷資料

  6. 選擇 Correlation 選項卡定義關聯器,監控應用程式將使用它匹配流事務中生成的多個事件。本地事務關聯器將連結單一訊息流呼叫生成的事件。父事務關聯器將訊息流中的事件連結到父訊息流或外部應用程式。全域性事務關聯器將訊息流中的事務連結到一個或多個相關訊息流或外部應用程式。為所有關聯器接受預設值 Automatic,這會讓 Message Broker 生成一個惟一的 36 字元長的關聯器(各級別事務中的事件均與此相同)。

    圖 7. 事件關聯
    圖 7. 事件關聯

  7. 選擇 Sequence 選項卡。監控應用程式將使用事件序列重新對事件訊息排序,因為事件將以不可預測的順序釋出。在 Message Broker V6.1.0.3 中,使用建立時間以 yyyy-mm-ddThh:mm:ss.fff 格式設定事件序列。

    圖 8. 事件序列
    圖 8. 事件序列

  8. 重複上面的步驟 3 到步驟 7,新增事務事件 Transaction 結束和 Transaction 回滾,併為 HTTP_Request_C2F 和 HTTP_Request_F2C 節點新增 in 和 out 終端事件。僅 MQMD 頭部中的 MsgID 被新增到這些事件的有效負荷資料中。事件設定的彙總如下表所示:

    NodeName EventName EventSource Payload Bitstream TransactionCorrelator Sequence
    QIN FlowStart Transaction.start $Root/MQMD/MsgId $Body/Temperature Conversion All(base64Binary) Local - AutomaticParent - AutomaticGlobal - Automatic Creation time
    QIN FlowEnd Transaction.end $Root/MQMD/MsgId - Local - AutomaticParent - AutomaticGlobal - Automatic Creation time
    QIN FlowRollback Transaction.rollback $Root/MQMD/MsgId - Local - AutomaticParent - AutomaticGlobal - Automatic Creation time
    HTTP_Request_C2F In_C2F In.terminal $Root/MQMD/MsgId - Local - AutomaticParent - AutomaticGlobal - Automatic Creation time
    HTTP_Request_C2F Out_C2F Out.terminal $Root/MQMD/MsgId - Local - AutomaticParent - AutomaticGlobal - Automatic Creation time
    HTTP_Request_F2C In_F2C In.terminal $Root/MQMD/MsgId - Local - AutomaticParent - AutomaticGlobal - Automatic Creation time
    HTTP_Request_F2C Out_F2C Out.terminal $Root/MQMD/MsgId - Local - AutomaticParent - AutomaticGlobal - Automatic Creation time


  9. 在 Message Flow Editor 的 Message Flow 屬性視窗中單擊監控選項卡。所有配置的事件都將被列出,如下面的圖 9 所示。這些事件全部預設為啟用:

    圖 9. 已配置的監控事件列表
    圖 9. 已配置的監控事件列表

3. 部署訊息流

使用代理存檔 (BAR) 檔案將訊息流預設部署到代理 BRK1 上的執行分組。在此代理上執行下節描述的所有命令。如果您 下載了下面的示例解決方案,並將它部署到了具有不同執行分組和代理名稱的環境中,則需要做一些更改。有關更多資訊,請閱讀 Message Broker 資訊中心上的 將訊息流部署到代理上的執行分組

4. 啟用事件源

如上所述,預設情況下,訊息流中所有經過配置的事件都將啟用。您可以在 Message Flow Editor 中使用 Message Broker Toolkit 啟用或禁用這些事件。如果訊息流已經被部署到某執行分組中,則必須重新部署流以便讓監控事件更改生效。您可以使用命令 mqsichangeflowmonitoring 來啟用或禁用事件,而不需要重新部署訊息流。更改將在執行時立即生效。比如,

mqsichangeflowmonitoring BRK1 -e default -f MonitoringEvents_MF -s 
"QIN.transaction.start,QIN.transaction.end,QIN.transaction.rollback" -i enable

mqsichangeflowmonitoring BRK1 -e default -f MonitoringEvents_MF -s 
"HTTP_Request_C2F.terminal.in,HTTP_Request_C2F.terminal.out" -i disable

5. 啟用事件

配置了事件源之後,執行以下命令以便啟用監控引擎並生成事件訊息:

mqsichangeflowmonitoring BRK1 -e default -f MonitoringEvents_MF -c active

相反,要禁用訊息流監控流程,使用引數 -c inactive 執行相同的命令。

停止並重新啟動代理之後,事件啟用狀態不會更改。要檢查監控的狀態,包括節點啟用狀態,可以使用以下命令:

mqsireportflowmonitoring BRK1 -e default -f MonitoringEvents_MF -a

6. 訂閱事件

當所配置的監控事件發生時,會發布採用以下主題格式的事件訊息:

$SYS/Broker//Monitoring//

在本例中為

$SYS/Broker/BRK1/Monitoring/default/MonitoringEvents_MF

主題是區分大小寫的。在接收事件訊息之前,需要訂閱主題,這可以通過使用 rfhutil 工具和訊息流來實現。

使用 rfhutil 工具

您可以從 IBM Message Broker SupportPac 站點下載免費的 Message Broker 顯示、測試和效能工具 rfhutil,並使用它訂閱事件。要使用該工具訂閱主題:

  1. 開啟 rfhutil 工具並單擊 Pub/Sub 選項卡。
  2. 為 Request Type 選擇 Sub
  3. 在 Topic(s) 欄位中鍵入 $SYS/Broker/BRK1/Monitoring/default/MonitoringEvents_MF
  4. 在 Subscription Queue Manager 欄位中鍵入 WMBQM
  5. 在 Subscription Queue 欄位中鍵入 QSUB
  6. 單擊 Write Msg

    圖 10. 使用 rfhutil 工具訂閱事件主題
    圖 10. 使用 rfhutil 工具訂閱事件主題

通過與訂閱相似的流程,您可以使用 rfhutil 工具取消對主題的訂閱,惟一的不同是在上面的第 2 步中需要為 Type 選擇 Unsub,而不是 Sub

使用訊息流

您可以建立一個簡單的訊息流,如圖 11 所示,用於通過程式設計的方式訂閱或取消訂閱主題:


圖 11. 用於訂閱主題的訊息流
圖 11. 用於訂閱主題的訊息流

一條包含如下所示的訂閱和取消訂閱資料的輸入 XML 訊息將被髮送給佇列 QSUB。使用 Compute 節點根據輸入訊息在 MQRFH2 頭部下建立一個 pub/sub 命令。該命令將傳送給系統佇列 SYSTEM.BROKER.CONTROL.QUEUE,而 Message Broker pub/sub 引擎將處理該列表中的命令訊息來生成主題訂閱。


清單 1. 訂閱訊息

				

RegSub
$SYS/Broker/BRK1/Monitoring/default/MonitoringEvents_MF
WMBQM
QEVENT


要取消訂閱一個主題,將以上 XML 訊息的 Command 元素從 RegSub 更改為 DeregSub。要檢查主題訂閱,在 Message Broker Toolkit 的 Broker Administration 透檢視左下角的 Domains 皮膚中單擊 Subscriptions。單擊 Query 顯示主題列表,其中包括所訂閱的主題:


圖 12. 訂閱主題列表
圖 12. 訂閱主題列表

生成監控事件

以下場景用於生成訊息流上配置的監控事件。要執行測試,應確保 Message Broker 伺服器所在的機器具備 internet 連線,並且可以使用 用於溫度換算的 Visual DataFlex Web 服務

  • 使用正確輸入訊息的成功事務如下面的清單 2 或 3 所示。
  • 清單 4 顯示了一個未完成的事務,無效輸入訊息造成了一個異常。


清單 2. 測試訊息 C2F.xml

				


  
  Celsius
  28.5
  
  
  
  
  



清單 3. 測試訊息 F2C.xml
				


  
  Fahrenheit
  80
  
  
  
  
  



清單 4. 測試訊息 Invalid.xml
				


  
  Wrong
  80
  
  
  
  
  


使用 rfhutil 工具傳送一條訊息到輸入佇列 QIN 中。

  • 開啟 rfhutil 並選擇佇列管理器,比如 WMBQM,以及佇列 QIN
  • 單擊 Open File 匯入測試訊息檔案,比如 C2F.xml。在選擇 Data 選項卡時應該可以看到測試訊息。
  • 選擇 Main 選項卡並選擇 Write Q。測試訊息將傳送給佇列 QIN,以呼叫訊息流。
  • 在生成的 QEVENT 中檢查用於監控事件的訊息。

通過成功的事務生成監控事件

將用於從 Celsius 到 Fahrenheit 的溫度換算的測試訊息傳送給輸入 QIN。和預期一樣,事務生成了 FlowStart 和 FlowEnd 兩個事務事件,以及 In_C2F 和 Out_C2F 兩個終端事件。訂閱佇列 QEVENT 將接收這些事件訊息。各訊息的本地事務 ID 相同,父事務及全域性事務的 ID 也是如此。有效負荷資料及其位元流包含在事務 FlowStart 的 XML 訊息中,如清單 5 所示:


清單 5. FlowStart 的事件訊息

				

  
    
      
      
      
    
    
      
      
      
        
       
  
  
    
  
  
    TUQgIAIAAAAAAAAACAAAAP////8AAAAAIgIAALUBAAA
      gICAgICAgIAAAAAAAAAAAQU1RIFdNQlFNICAgICAgIL5WykogL+ESAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
      AAAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdNQlFNICAgICA
      gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNmYW4gICAgICAgIBYBBRUAAACEYU++63/
      PV2Bwonj0AQAAAAAAAAAAAAALICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICALAAAAQzpcTXlCaW5
      ccmZodXRpbFxyZmh1dGlsLmV4ZTIwMDkxMDA4MDIxNjE0NTEgICAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
      AAQAAAAAAAAAAAAAA/////zw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+DQo8VGVtcGV
      yYXR1cmVDb252ZXJzaW9uPg0KICA8SW5wdXQ+DQogICAgPFVuaXQ+Q2Vsc2l1czwvVW5pdD4NCiAgICA8RGV
      ncmVlPjI4LjU8L0RlZ3JlZT4NCiAgPC9JbnB1dD4NCiAgPE91dHB1dD4NCiAgICA8VW5pdD48L1VuaXQ+DQo
      gICAgPERlZ3JlZT48L0RlZ3JlZT4NCiAgPC9PdXRwdXQ+DQogIDxFcnJvcj4NCiAgICA8Q29kZT48L0NvZGU
      +DQogICAgPERlc2M+PC9EZXNjPg0KICA8L0Vycm9yPg0KPC9UZW1wZXJhdHVyZUNvbnZlcnNpb24+DQo=/>
  



清單 6. FlowEnd 的事件訊息
				

  
    
      
      
      
    
    
      
      
      
        
       
  
  
    
  



清單 7. In_C2F 的事件訊息
				

  
    
      
      
      
    
    
      
      
      
        
     
    
      
      
  



清單 8. Out_C2F 的事件訊息
				

  
    
      
      
      
    
    
      
      
      
        
    
    
      
        
  


將從 Fahrenheit 到 Celsius 的溫度換算的測試訊息傳送給輸入佇列 QIN。事務將生成 FlowStart 和 FlowEnd 兩個事務事件以及 In_F2C 和 Out_F2C 兩個終端事件,該事務將在訂閱佇列 QEVENT 中生成四條訊息。

生成監控事件,並生成一個異常

向流的輸入佇列 QIN 傳送無效測試訊息,以便生成一個異常,讓事務無法成功執行。只生成事務事件 FlowStart、FlowRollback 和 FlowEnd,而 QEVENT 佇列也只接收到三條相應的 XML 訊息。由於異常是在 HTTPRequest 之前的 Compute 節點 Build_HTTP_Request_Msgare 中丟擲的,因此並未呼叫終端事件。事件並未參與到事務中 —— 換句話說,如果訊息流中發生了事務回滾,則生成的事件不會回滾,且仍然保留為釋出狀態。這正是 QEVENT 佇列接收到事務事件 FlowStart 和 FlowEnd 的原因。FlowRollback 的事件訊息如清單 9 所示:


清單 9. FlowRollback 的事件訊息

				

  
    
      
      
      
    
    
      
      
      
      
    
  
  
    
  


還可以使用輸入訊息 C2F.xml 或 F2C.xml 在流呼叫 Web 服務時生成回滾事件,而且託管 Message Broker 伺服器的機器不需要具備 Internet 連線。

動態禁用事件

當不需要事件時,可以動態禁用所配置的事件,而不需要重新部署訊息流。舉例來說,要禁用所有終端事件,可以執行以下命令:

mqsichangeflowmonitoring BRK1 -e default -f MonitoringEvents_MF -s
"HTTP_Request_C2F.terminal.in,HTTP_Request_C2F.terminal.out,HTTP_Request_F2C.terminal.in,
HTTP_Request_F2C.terminal.out" -i disable

在命令中使用事件源地址在節點級禁用各事件,假定已經為訊息流啟用了監控功能。當然,您還可以為訊息流禁用監控,從而防止訊息流生成任何事件。

使用監控配置檔案配置事件源

如果需要更改訊息流中各事件的啟用狀態或有效負荷資料,可以使用 Message Flow 編輯器中的監控屬性來配置它們。在本例中,您需要重新部署流以便覆蓋事件屬性的設定。

您還可以使用監控配置檔案來配置事件源。這樣做的優勢在於可以在執行時動態配置事件源及其相關屬性,而不需要重新部署流。監控配置檔案是一個符合 XML 模式檔案 MonitoringProfile.xsd 的 XML 文件,用於指定將生成事件的訊息流中的事件源和相關屬性。使用以下命令為訊息流建立配置了以下屬性的監控配置 XML 檔案。此監控配置檔案可用作建立新監控配置檔案的起始點。輸出檔案 MyEventMonitoringProfile.xml 如上面的清單 8 所示。

mqsireportflowmonitoring BRK1 -e default -f MonitoringEvents_MF 
-x -p C:/MyEventMonitoringProfile.xml


清單 10. MyEventMonitoringProfile.xm 的監控配置檔案
				

  
    
      
        
      
      
        
        
        
      
      
       
    
      
        
      
      
        
      
    
    
  
  
    ......
  
  
    ......
   
  
    
      
        
      
      
        
        
        
      
      
    
    
      
        
      
    
     
  
  
    ......
  
  
    ......
  
  
    ......
    
 

重新建立新監控配置檔案或者在已有基礎上修改都相當簡單。監控配置檔案必須為可以發出事件的訊息流定義事件源,以及各事件的屬性。換句話說,監控配置檔案僅適用於具備可新增相應事件的節點和終端的訊息流。舉例來說,對於 eventSourceAddress QIN.transaction.start,訊息流必須有一個名稱為 QIN 的輸入節點。

您可以使用 Broker Archive Editor 來應用監控配置檔案:

  1. 開啟 Message Broker Toolkit 中的 Broker Application Development 透檢視。
  2. 使用 Broker Archive Editor 開啟一個 BAR 檔案。
  3. 單擊 Manage 選項卡。
  4. 單擊希望設定監控配置檔案可配置服務的訊息流。
  5. 在 Monitoring Profile Name 欄位中輸入監控配置檔案的名稱。

    圖 13. 使用 BAR 檔案應用監控配置檔案
    圖 13. 使用 BAR 檔案應用監控配置檔案

  6. Save and deploy the BAR file.

您還可以使用以下命令應用監控配置檔案

  1. 建立一個可配置服務:
    mqsicreateconfigurableservice BRK1 -c MonitoringProfiles -o MyMonitoringEventProfile

  2. 關聯監控配置檔案與可配置服務:
    mqsichangeproperties BRK1 -c MonitoringProfiles -o MyMonitoringEventProfile 
    -n profileProperties -p C:/MyEventMonitoringProfile.xml

  3. 將監控配置檔案可配置服務應用於一個訊息流。舉例來說,應用於執行分組 default 上的 MonitoringEvents_MF 流:
    mqsichangeflowmonitoring BRK1 -e default -f MonitoringEvents_MF 
    -m MyMonitoringEventProfile

使用監控事件

訂閱後的監控事件訊息可以被其他應用程式用於

  • 生成 PKI 資料
  • 提供統計和結算報告
  • 捕獲任何回滾事務
  • 儲存用於審計的有效負荷

舉例來說,可以根據特定時間時隔生成的 FlowEnd 事件的總數來計算成功經過訊息流的事務的數量。可以根據 In_C2F 和 Out_C2F 事件的 creationTime 差值來計算溫度換算 Web 服務請求呼叫完成所用的時間。要了解關於如何分析監控事件訊息中的資料的更多資訊,請參見 Message Broker Samples Gallery 中的示例,它展示瞭如何通過 WebSphere Business Monitor 來監控這類事件。

其他相關工具

如上所述,您可以使用監控事件來生成關於事務屬性和統計報告的有用資料。Message Broker 還提供了其他工具,比如說代理級的統計和 pub/sub 報告,以及訊息流級的統計和核算報告,用於捕捉執行時資訊。

Broker 統計報告

您可以生成 XML 格式的 代理統計報告,提供關於代理網路的效能以及代理和與之相連的客戶機之間的吞吐量的資訊。舉例來說,要在代理 BRK1 的預設執行分組上以每分鐘為間隔啟用代理統計報告,可以在 Message Broker Command Console 上執行以下命令。更改將立即生效 —— 您不需要重新啟動代理:

mqsichangeproperties BRK1 -e default -o DynamicSubscriptionEngine 
-n statsInterval -v 60000

要禁用報告,可以使用相同命令,但需要將 statsInterval 屬性設定為 0。啟用後,代理每分鐘將釋出一次如清單 11 所示的統計報告。統計報告將通過以下主題釋出給所有訂閱者:

$SYS/Broker//ExecutionGroup//Statistics

In this case:

$SYS/Broker/BRK1/ExecutionGroup/default/Statistics


清單 11. 代理統計報告的示例
				

  
    
      
      
        
        
      
    
  


訊息流核算和統計報告

訊息流核算和統計報告包含關於訊息流執行時行為的動態資訊,並且代理可以收集這些資訊以便記錄訊息流的執行效能和運作詳情,包括處理的訊息數量、訊息的大小、處理器利用率以及佔用的處理時間。有關更多資訊,請參見 Message Broker 資訊中心的 訊息流核算和統計資料

可以在訊息流或執行分組的級別上收集核算和統計資料(螢幕快照、存檔或同時使用兩者)。如果需要,您還可以收集執行緒和節點級統計資料。發起以下命令,針對 MonitoringEvents_MF 流上的 XML 格式的釋出訊息生成螢幕快照資料:

mqsichangeflowstats BRK1 -s -e default -f MonitoringEvents_MF -c active -o xml

報告可以被放到主題中:

$SYS/Broker/BRK1/StatisticsAccounting/SnapShot/default/MonitoringEvents_MF


清單 12. 流統計資料包告的示例
				

  
  
  


結束語

本文向您展示瞭如何在 WebSphere Message Broker V6.1 或更新版本中輕鬆地配置內建監控事件,以 XML 格式釋出事件訊息。事件文件可以被訂閱到預定義的主題,並由其他應用程式,比如 WebSphere Business Monitor,用於監控流事務資料、儲存審計資料、跟蹤訊息流使用情況、報告指標以及提供效能 KIP。本文還展示瞭如何在執行時隨需應變地更新監控事件配置。最後,本文討論了代理統計資料、訊息流統計資料和核算報告,您可以將它們與監控事件結合使用。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/14789789/viewspace-628346/,如需轉載,請註明出處,否則將追究法律責任。

相關文章