パフォーマンスを自己モニターするためのノードの構成
統合サーバーのパフォーマンス・モニターおよびアラートを有効にして構成します。 メッセージ・フロー・ノードは、設定された数の処理済みメッセージに対して確立された独自のベースラインの下で実行されている場合に、アラートを出します。
始める前に
- トピック「 メッセージ・フロー統計およびアカウンティング・データ 」および「 メッセージ・フローのアカウンティングおよび統計データの収集の構成」をお読みください。
- server.conf.yaml ファイルの変更による統合サーバーの構成の説明に従って、統合サーバーを構成します。
- メッセージ・フローを作成して統合サーバーにデプロイします。 詳しくは、 メッセージ・フローの作成 および 実稼働環境への統合ソリューションのデプロイを参照してください。
このタスクの概要
ノードの自己モニター機能を使用して、実行に時間がかかりすぎているが、パフォーマンスの低いバックエンド・システムが原因である可能性があるフローとして示される問題の診断を高速化します。 統合サーバーでパフォーマンス・アラートを有効にすると、各ノードがメッセージの処理に要する平均時間を設定するためのトレーニング・フェーズとして、初期メッセージ数が使用されます。 このフェーズの後、定義された時間制限まで、各ノードのベースライン時間からの逸脱が警告メッセージとして報告されます。
潜在的なパフォーマンス低下のアラートを設定できるように、警告メッセージ BIP8514W がシステム・ログに記録されます。 警告メッセージには、メッセージ・フローに関する情報と、パフォーマンスが低下しているメッセージ・フロー内のノードに関する情報が含まれています。 BIP メッセージには、そのベースラインに対するノードの現在の経過時間に関する情報も含まれています。
server.conf.yaml ファイルを変更することで、パフォーマンスを自己モニターするようにノードを構成できます。 統合サーバーを再始動すると、定義した新しい設定が有効になります。 server.conf.yaml ファイルの Statistics セクションの PerformanceAlert 部分に、以下の属性の値を設定します。
- alertOn
- パフォーマンス・アラートを有効にするかどうかを制御します。 有効な値は true または false です。 デフォルトは false です。
- alertInterval
- メッセージ・フロー・ノードのパフォーマンス・アラート・イベント・メッセージがログに記録される間隔を秒単位で設定します。 デフォルト値は 300 です。
- warmupMessageCount
- 入力メッセージの初期数をウォームアップ・フェーズとして設定し、スレッド・レベルごとにメッセージ・フロー・ノードの平均経過時間のベースラインを設定します。 デフォルト値は 200 です。
- alertMinNodeElapsedTime
- メッセージ・フロー・ノードがパフォーマンス・アラートに適格となるまでの経過時間の最小レベルをミリ秒単位で設定します。 デフォルト値は 1000 です。
- alertMinNodeElapsedTimeDeviation
- パフォーマンス警告メッセージをログに記録するために、メッセージ・フロー・ノードの偏差をパーセンテージとして設定します。デフォルト値は 50 です。
- startMessageFlowStatistics
- パフォーマンス偏差に応じて、メッセージ・フロー統計およびアカウンティング・データ収集の自動開始を制御します。 有効な値は true および false です。 デフォルト値は false です。
- statisticsCollectionDuration
- startMessageFlowStatistics が「true」に設定されている場合に、メッセージ・フロー統計およびアカウンティング・データを収集する期間を分単位で設定します。 この間隔を過ぎると、統計は自動的に使用不可になります。 デフォルト値は 10 です。
以下のステップを使用して、最初の 5000 件のメッセージに対するノードの平均処理時間を判別するためのノード設定の例を構成します。 モニター対象のノードの経過時間が 800 ミリ秒を超えています。 偏差が 50% を超えると、60 秒ごとにシステム・ログでアラートが生成されます。 以下のようにプロパティーを設定します。
手順
例
PerformanceAlert:
alertOn: true # choose 1 of : true|false, explicitly set 'true' to activate performance alerts in syslog. If unset will default to 'false'
alertInterval: 60 # Sets the interval in seconds at which performance alert event messages are logged
warmupMessageCount: 5000 # Sets the initial number of input messages as the warmup phase to calculate the average elapsed time of a message flow node at per thread level
alertMinNodeElapsedTime: 800 # Sets the minimum level for the elapsed time in milli seconds for a message flow node to qualify for performance alerts.
# The message flow nodes that consume less than this threshold value are not monitored for performance.
alertMinNodeElapsedTimeDeviation: 50 # Sets the deviation in percentage for a message flow node to log performance alert event messages
startMessageFlowStatistics: true # choose 1 of : true|false, explicitly set 'true' to activate statistics collection automatically upon performance deviation. If unset will default to 'false'
statisticsCollectionDuration: 10 # Sets the duration in minutes to collect the message flow snapshot statistics. After this interval statistics will be disabled automatically.