CandleMonitor 節點


CandleMonitor 節點圖示

CandleMonitor 節點是 IBM Tivoli OMEGAMON XE for Messaging: WebSphere Message Broker Monitoring 產品的一部份。它會收集有關訊息流程效能的統計資料,並針對 OMEGAMON XE 偵測選擇性地產生事件訊息。該節點是一種簡式透通節點,具有一個輸入端 ("in") 及一個輸出端 ("out")。CandleMonitor 節點無需從輸入端變更至輸出端,即可傳送訊息。

定位 CandleMonitor 節點以監視統計資料

CandleMonitor 節點的主要用途是產生統計資料。將節點正確放置在訊息流程中很重要,這可使監視產品統計資料報告包含有用的資料。若要取得最佳的統計資料,應在設計訊息流程時,將 CandleMonitor 節點置於 MQInput 節點之後。還應將置於此位置的節點 "type" 屬性變更為 "input"。如果您只想將一個 CandleMonitor 節點置於訊息流程,則 "input" 位置是最佳的選擇,因為大部分統計資料都產生自此位置。然而,若要容許計算輸出速率,則放置節點的另一個關鍵位置應在任何輸出節點 (如 MQOutput、MQReply 或 Publication 節點) 之前。此時應將節點的 "type" 屬性變更為 "output"。

監視子流程

您可以選擇性地針對部分訊息流程 (此處稱為子流程) 產生統計資料。子流程可以是主要訊息流程內含的個別訊息流程 (Type I),或只是流程內使用 CandleMonitor 節點,將一或多個節點的群組定義為子流程 (Type II)。

若要監視 Type I 子流程,應將一個 CandleMonitor 節點置於流程的「輸入端」之後,並將另一個 CandleMonitor 節點置於流程的「輸出端」或其他輸出之前。對於所有這些節點,都應指定相同的 "subFlowName" 屬性值。輸入位置的節點類型應為 "subFlowInput"。輸出位置的節點類型應為 "subFlowOutput",或如果輸出實際上是一個節點 (如 MQOutput),且代表訊息流程 (訊息以該特定路徑傳送) 的結尾,則應為 "output"。

若要監視 Type II 子流程,應將一個 CandleMonitor 節點置於所需子流程的開頭,將其類型設為 "subFlowInput",並指定 "subFlowName" 屬性。然後,應將另一個 CandleMonitor 節點置於子流程的結尾,將其類型設為 "subFlowOutput",並指定與輸入節點相同的 subFlowName 屬性值。如果要監視的訊息流程區段有多個輸入連接器或多個輸出連接器,則需要以相同方式新增多個具有相同 "subFlowName" 的 CandleMonitor 節點。

流程的輸入及輸出必須以 CandleMonitor 節點標示,才能計算有效的統計資料。在子流程中,"subFlowOutput" 類型的 CandleMonitor 節點是必要的。對於目前的狀況而言,即主要訊息流程的節點類型為 "output",它並不是選用的。如果 "subFlowName" 屬性與值為 "input" 的 "type" 屬性一起設定,則會假設節點行為是類型 "input" 與類型 "subFlowInput" 的組合。如果 "subFlowName" 屬性與值為 "output" 的 "type" 屬性一起設定,則會假設該節點行為是類型 "output" 與類型 "subFlowOutput" 的組合。

監視訊息流程中的單一點

如果您只想在訊息流程中的某個單一點收集統計資料,並在「CandleMonitor 節點統計資料」報告檢視畫面中檢視它們,則可將 CandleMonitor 節點置於訊息流程中的任何其他位置。當以此方式放置節點時,節點的 "type" 屬性應為 "other"。若為 "type" 屬性為 "other" 的節點,則可設定 "subFlowName" 屬性,但其作用僅是將節點識別為子流程的一部分,而不會影響已經產生的子流程統計資料。

產生訊息流程事件

CandleMonitor 節點的第二個用途是產生使用者定義的訊息流程事件,這些事件可透過「OMEGAMON XE 訊息流程事件」狀況及報告進行偵測。當出於此目的放置節點時,"type" 屬性應為 "other",且應將 "eventMessage" 屬性設為您希望在每次進入此節點後報告及/或偵測狀況時顯示的訊息文字。CandleMonitor 節點還會擷取事件中的其他相關資訊,以協助識別受影響的訊息流程部分,以及事件發生時所處理的訊息。

出於產生訊息流程事件目的而使用的節點放置方式,完全由使用者自行決定,但 IBM 建議不要出於此目的,將節點置於被視為正常處理程序的部分訊息流程中。建議您應在處理失敗或其他不被視為正常及應按警示狀況處理之情況的訊息流程路徑中使用此功能。例如,可以出於此目的將節點置於 MQInput 節點上的 "failure" 端之後。不建議為任何 "input" 或 "output" 類型節點設定 "eventMessage" 屬性。同樣地,應只為不屬於正常狀況之處理程序 (例如,在錯誤處理子流程中) 的 "subFlowInput" 或 "subFlowOutput" 類型節點,設定 "eventMessage" 屬性。任何 CandleMonitor 節點都會自動為節點偵測到的訊息流程異常狀況產生事件。請注意,因為 CandleMonitor 節點只是個透通節點,所以並不會更正任何錯誤動作。就此功能而言,它只屬於一種警示機制。

監視佇列時間

"collectQueueTime" 屬性適用於 "input" 類型節點,可容許停止收集佇列時間統計資料。佇列時間是利用訊息放入佇列中的日期與時間來進行計算的。在訊息流程的輸入佇列中,如果訊息的「將訊息放入佇列的日期與時間」未能準確反映出將訊息放入輸入佇列的時間,則在配置 CandleMonitor "input" 類型節點時,應將名為 "collectQueueTime" 的屬性設為 "no",這樣便不會為這些訊息收集佇列時間。應用程式將訊息放入輸入佇列期間,只要針對該訊息而保留原始環境定義,便無法準確指出放置日期與時間。這通常發生在應用程式是訊息移動者,且它把訊息從一個佇列移到另一個佇列,或者有任何應用程式傳送或設定訊息的源點環境定義時。特別是,如果訊息流程 B 的輸入佇列是訊息流程 A 的輸出佇列,則分配管理系統會傳送源點環境定義,這樣便無法使用訊息流程 B 中的訊息放置日期與時間來準確地計算佇列時間。訊息流程 B 中 CandleMonitor 節點的 "collectQueueTime" 屬性應設為 "no"。

啟用及停用 CandleMonitor 節點

"activateNode" 屬性容許指定 CandleMonitor 節點的啟用層次,以便您可停用它。預設值為 "yes",其指出節點在作用中 (未停用)。若為 WebSphere Business Integration 5.0 及以後的版本,則可配置 "activateNode" 屬性。這表示可在 bar 檔案配置期間設定此屬性,讓不同的 bar 檔案使用不同的設定,以用於要在測試及正式作業時部署的實例。此外,5.0 版還容許提升屬性設定,以便此屬性針對訊息流程中 CandleMonitor 節點的每個實例都具有相同的設定。該屬性的可能值集,支援部分一般規則對節點何時應在作用中的指定,例如,對於所有輸入及輸出類型節點則應在作用中,而對於其他類型則不應在作用中。一般而言,當配置訊息流程中的 CandleMonitor 節點時,請使用預設設定 "yes",以便於測試期間使用節點。然後,當部署至正式作業分配管理系統時,請將 "activateNode" 的 bar 檔案設定配置為想要的層次,並提升屬性以將流程中所有節點的這個設定自動變更為該啟用層次。若為 5.0 之前的版本 (如果需要的話含 5.0 版),CandleMonitor 節點外掛程式碼會接受對 "activateNode" 屬性之執行時期置換設定的規格,以容許對不同分配管理系統使用不同的啟用層次。如需相關資訊,請參閱產品「使用手冊」。

CandleMonitor 節點端

接受訊息以供節點處理的輸入端。
out 向其傳送訊息的輸出端。

CandleMonitor 節點內容

屬性 預設值 說明
type "other" 指定 CandleMonitor 節點的類型。有效值為:
input
收集到的統計資料用於所有報告層次 (如果未指定 subFlowName,則不包括子流程) 的大部分計算 ("output" 值除外)。
output
收集到的統計資料用於所有報告層次 (如果未指定 subFlowName,則不包括子流程) 的輸出速率及計數計算。
other
收集到的統計資料僅用於「CandleMonitor 節點統計資料」報告。此類型在與 eventMessage 屬性一起使用時很有用。
subFlowInput
收集到的統計資料用於子流程統計資料計算。必須指定 subFlowName 屬性。
subFlowOutput
收集到的統計資料用於子流程統計資料計算。必須指定 subFlowName 屬性。
eventMessage "" 如果將值設為 "" 之外的值,則會導致在進入節點時產生事件。
collectQueueTime "yes" 指定節點是否應收集佇列計時。有效值為 yesno
subFlowName "" 指定包含 CandleMonitor 節點的子流程名稱。
activateNode "yes" 指定節點的啟用層次。有效值為:
yes
CandleMonitor 節點在作用中。
no
CandleMonitor 節點在非作用中。它不會產生統計資料或訊息流程事件。
eventOnly
只有將 "" 之外的值指定給 "eventMessage" 屬性時,CandleMonitor 才會在作用中。然而,它不會產生統計資料;僅會產生訊息流程事件。
inputOutputOnly
只有 "type" 屬性為 "input" 或 "output" 時,CandleMonitor 節點才會在作用中。在這些情況下,它會產生統計資料。 如果設定了 "eventMessage" 屬性,則還會產生訊息流程事件。
inputOutputAndEventOnly
只有 "type" 屬性為 "input" 或 "output",或將 "" 之外的值指定給 "eventMessage" 屬性時,CandleMonitor 節點才會在作用中。在這些情況下,它會產生統計資料。 如果設定了 "eventMessage" 屬性,則還會產生訊息流程事件。

 

(C) IBM Corporation 2006. All Rights Reserved