13.2.4 ヘルスチェック機能に関する注意事項

ヘルスチェック機能に関する注意事項を説明します。

<この項の構成>
(1) ヘルスチェック機能と監視ポーリング間隔の関係について
(2) 指定した間隔で監視ポーリングが完了しない場合の処理
(3) ヘルスチェック結果の保存とアラーム評価について

(1) ヘルスチェック機能と監視ポーリング間隔の関係について

ヘルスチェック機能は,各エージェントホストに対してポーリングを実施して,起動状態を確認します。ポーリング間隔が適切に設定されていないと,PFM - AgentまたはPFM - RMが停止したと判断される確率が高くなったり,すべてのエージェントホストに対するポーリングが設定した間隔で完了しなかったりといった問題が生じます。ここでは,現在設定されている監視ポーリング間隔を確認し,不適切な場合は,改めて適切なポーリング間隔を設定する方法について説明します。

注※
すべてのエージェントホストに対するポーリングが設定した間隔で完了しなかった場合の処理については,「(2) 指定した間隔で監視ポーリングが完了しない場合の処理」および「(3)(b) 指定した間隔で監視ポーリングが完了しない場合のデータ保存とアラーム評価のタイミング」も参照してください。

(a) 監視ポーリング間隔を適切に設定する上で考慮すべき項目

監視ポーリング間隔を適切に設定するには,各エージェントホストに対するポーリング実施間隔と,ポーリングのタイムアウト時間を考慮する必要があります。次に,各エージェントホストに対するポーリング実施間隔と,ポーリングのタイムアウト時間を確認する方法を説明します。

●各エージェントホストに対するポーリング実施間隔

各ホストに対してポーリングが実施される間隔は,PFM - Managerに接続するエージェントホストの数に応じて,ヘルスチェックエージェントが自動的に算出します。なお,同一のホスト上に複数のPFM - AgentまたはPFM - RMが存在する場合も,ポーリングはホスト単位に集約されて実施されます。

各ホストに対するポーリング実施間隔の算出式を次に示します。運用中のシステムで,各エージェントホストに対するポーリング実施間隔を確認する際は,この算出式を使用してください。

各ホストに対するポーリング実施間隔(単位:秒)=
↓(0.7*Polling Intervalの値※1) / 全ホスト数※2

(凡例)
↓…↓:小数点以下切り捨て
注※1
ヘルスチェックエージェントのHealth Check Configurationsフォルダ配下のPolling Intervalプロパティに表示される値です。
注※2
PFM - Managerに接続するPFM - AgentまたはPFM - RMが動作するホスト数です。1台のホストに複数のPFM - AgentまたはPFM - RMがインストールされていたり,複数のインスタンス環境が存在したりする場合でも,ホスト数は1としてカウントします。

なお,各ホストに対するポーリング実施間隔は最小で2秒です。上記の算出式での算出結果が2秒未満の場合,2秒間隔でポーリングが実施されます。

参考
ヘルスチェック機能の監視レベルの設定値(ヘルスチェックエージェントのHealth Check Configurationsフォルダ配下のMonitoring Levelプロパティに指定した値)は,ポーリング実施間隔には影響しません。よって,各エージェントホストに対するポーリング実施間隔を確認する際に,この値を考慮する必要はありません。

●ポーリングのタイムアウト時間

ヘルスチェック機能でポーリングを実施する際の通信先は,起動状態を確認するホスト上のStatus Serverサービスです。ヘルスチェック機能は,Status Serverサービスからの応答を基にしてエージェントの状態を監視します。接続先のStatus Serverサービスからの応答がない場合,タイムアウトが生じます。タイムアウト時間はポーリング実施間隔によって決まります。運用中のシステムで,タイムアウト時間を確認する際は,次の条件を使用してください。

なお,タイムアウト時間は最小で2秒です。

●監視ポーリング間隔の適否を判断する基準

設定されている監視ポーリング間隔が適切かどうかを判断するには,「● 各エージェントホストに対するポーリング実施間隔」に示した各ホストに対するポーリング実施間隔と,「● ポーリングのタイムアウト時間」に示したポーリングのタイムアウト時間を踏まえ,次の点を確認してください。

一般に,エージェントホストの数が増加するにつれ,各ホストに対するポーリング実施間隔およびタイムアウトが生じるまでの時間は短くなります。タイムアウト時間が短くなるほど,PFM - AgentまたはPFM - RMが停止したと判断される確率が高くなります。また,監視ポーリング間隔を短く設定した場合,すべてのエージェントホストに対するポーリングが,設定した間隔で完了しなくなります。このため,監視ポーリング間隔は,各エージェントホストに対するポーリング実施間隔が10秒以上になるように設定してください。

次に,各ホストに対するポーリング実施間隔と,タイムアウト時間を確認し,その適否を判断する例を示します。

前提条件
  • PFM - AgentまたはPFM - RMが動作するホスト数:50
  • Polling Intervalの値:300
各ホストに対するポーリング実施間隔の算出

各ホストに対するポーリング実施間隔
=↓0.7*300 / 50↓
=↓4.2↓
=4(単位:秒)

(凡例)
↓…↓:小数点以下切り捨て
タイムアウト時間
各ホストに対するポーリング実施間隔が「4秒」なので,タイムアウト時間は「4秒」。
適否の判断
  • 「各ホストに対するポーリング実施間隔」が「4秒」:10秒未満のため,短過ぎる
  • タイムアウト時間が「4秒」:運用環境によって判断する
したがって,この場合は監視ポーリング間隔を見直し,適切な値を再設定する必要があることがわかります。

●適切な監視ポーリング間隔を算出する手順

適切な監視ポーリング間隔は,次に示す手順で算出します。算出した監視ポーリング間隔は,Polling Intervalの値と連動する,ヘルスチェックエージェントのHealth Check Detail(PD_HC)レコードのCollection Intervalプロパティに設定してください。

  1. 各エージェントホストに対するポーリング実施間隔からPolling Intervalの値を逆算する。
  2. 監視ポーリング間隔は60秒の倍数で設定する必要があるため,求めたPolling Intervalの値を60秒の倍数に丸める。

次に,「● 各エージェントホストに対するポーリング実施間隔」に示した算出式を使用して,適切な監視ポーリング間隔を見積もる例を示します。

前提条件
  • PFM - AgentまたはPFM - RMが動作するホスト数:50
  • 各ホストに対するポーリング実施間隔:10秒
監視ポーリング間隔の算出

10=(0.7*Polling Interval) / 50
Polling Interval=50*10 / 0.7
               =714.2
               ≒720(60秒の倍数に丸める)

よって,監視ポーリング間隔としてHealth Check Detail(PD_HC)レコードのCollection Intervalプロパティに指定する値は「720」。

(2) 指定した間隔で監視ポーリングが完了しない場合の処理

監視ポーリング間隔を短く設定した場合,すべてのエージェントホストに対するポーリングが,設定した間隔で完了しない場合があります。この場合,すべてのエージェントに対するポーリングが完了するまで,ポーリング動作が継続され,継続中に実施が予定されていた次回のポーリングはスキップされます。

事例を次の図に示します。この例では,設定した監視ポーリング間隔は300秒ですが,実際のポーリングには390秒掛かっています。

図13-6 指定した間隔で監視ポーリングが完了しない場合の処理

[図データ]

「ポーリング開始予定時刻(1)」で開始したポーリングが「ポーリング開始予定時刻(2)」の時刻を経過しても完了しないため,2回目に予定されていたポーリング動作はスキップされます。次のポーリングが開始されるのは,1回目のポーリング完了後である「ポーリング開始予定時刻(3)」の時刻になります。

(3) ヘルスチェック結果の保存とアラーム評価について

ヘルスチェック機能では,通常のPFM - AgentやPFM - RMと同様に,ヘルスチェック結果の履歴データの保存やアラーム評価を実行できます。ここでは,ヘルスチェックエージェントの履歴データの保存およびアラーム評価に関する注意事項を説明します。

(a) データ保存とアラーム評価のタイミング

ヘルスチェック結果の履歴データを保存するには,ヘルスチェックエージェントのレコード収集設定を有効にします。また,ヘルスチェックエージェントに対してアラームを定義することで,アラーム評価を実行できます。履歴データの保存とアラーム評価は,ヘルスチェックの対象となっているすべてのエージェントホストに対するポーリングが完了したあと,次のポーリングの開始時に実行されます。このため,ポーリング完了時刻からタイムラグが生じます。

事例を次の図に示します。この例では,Host Availability(PI_HAVL)レコードを収集します。また,監視ポーリング間隔は300秒で,実際のポーリングには180秒掛かっています。

図13-7 データ保存とアラーム評価のタイミング

[図データ]

ポーリングが完了した時刻は,1回目が「10:03:00」,2回目が「10:08:00」ですが,それぞれ次回のポーリングが開始されていないため,この時点では履歴データの保存とアラーム評価は実行されません。履歴データの保存とアラーム評価は,次のポーリングが開始される「10:05:00」と「10:08:00」にそれぞれ実行されます。

(b) 指定した間隔で監視ポーリングが完了しない場合のデータ保存とアラーム評価のタイミング

監視ポーリング間隔の間にポーリングが完了しない場合,レコードの履歴データの保存およびアラーム評価は実行されません。すべてのエージェントホストに対するポーリングが完了したあと,次回のポーリング開始時に実行されます。

事例を次の図に示します。この例では,Host Availability(PI_HAVL)レコードを収集します。また,監視ポーリング間隔は300秒ですが,実際のポーリングには390秒掛かっています。

図13-8 指定した間隔で監視ポーリングが完了しない場合のデータ保存とアラーム評価のタイミング

[図データ]

2回目のポーリング開始時刻である「10:05:00」時点では,1回目のポーリングが完了していないため,履歴データの保存とアラーム評価は実行されません。履歴データの保存とアラーム評価は,1回目のポーリングが完了し,2回目のポーリングが開始される「10:10:00」に実行されます。