16.2.4 ヘルスチェック機能に関する注意事項
ヘルスチェック機能に関する注意事項を説明します。
- (凡例)
-
↓…↓:小数点以下切り捨て
- 〈この項の構成〉
(1) ヘルスチェック機能と監視ポーリング間隔の関係について
ヘルスチェック機能は,各エージェントホストに対してポーリングを実施して,起動状態を確認します。ポーリング実施時の,ポーリング実施間隔,タイムアウト時間については,次に示すとおり決定されます。
チューニングパラメーター |
10-00 以降で並列確認モードが有効 |
09-50以前または10-00以降で並列確認モードが無効 |
---|---|---|
並列確認ホスト数 |
基本的に設定の必要なし プロパティ(Parallel Confirmation Count)で設定できる デフォルト:10(ホスト数) |
1(変更不可) |
ポーリング実施間隔 |
基本的に設定の必要なし プロパティ(Minimum Period per Host)で設定できる デフォルト:0(秒) |
Collection Intervalおよびシステム内のホスト数から自動計算される(最小2秒) チューニングする場合は,Collection Intervalを調整する必要がある |
タイムアウト時間 |
基本的に設定の必要なし プロパティ(Timeout Period per Host)で設定できる デフォルト:30(秒) |
ポーリング実施間隔から自動計算される(2〜10秒) チューニングする場合は,Collection Intervalを調整する必要がある |
タイムアウト時間については,並列確認モードが有効の場合,システム内の監視ホスト数に関わらず十分な時間が確保されていますが,並列確認モードが無効の場合,Collection Intervalとシステム内の監視ホスト数によって自動計算されるため,システム内の監視ホスト数に対して十分なCollection Intervalを設定する必要があります。
ポーリング間隔が適切に設定されていないと,PFM - AgentまたはPFM - RMが停止したと判断される確率が高くなったり,すべてのエージェントホストに対するポーリングが設定した間隔で完了しなかったり※などの問題が生じます。ここでは,現在設定されている監視ポーリング間隔を確認し,不適切な場合は,改めて適切なポーリング間隔を設定する方法について説明します。
- 注※
-
すべてのエージェントホストに対するポーリングが設定した間隔で完了しなかった場合の処理については,「16.2.4(2) 指定した間隔で監視ポーリングが完了しない場合の処理について」および「16.2.4(3)(b) 指定した間隔で監視ポーリングが完了しない場合のデータ保存とアラーム評価のタイミング」も参照してください。
(a) 並列確認モードが有効の場合
並列確認モードが有効の場合,次の表に示すパラメーターを設定できます。基本的に変更の必要はありませんが,稼働状態の誤検知が頻発する場合や,Collection Interval内にポーリングが完了しない場合などに変更することで,動作のチューニングができます。
プロパティ |
説明 |
チューニングの考え方 |
---|---|---|
Parallel Confirmation Count |
並列確認モードの場合の,並列確認ホスト数(ホスト数) |
システム内の監視ホストが多い場合に,システム全体の確認完了時間を短縮したいときに,大きな値に設定します。ここで設定したホスト数だけ並行で確認が実施されるため,大きな値を設定することで,システム全体の確認完了までの時間を短縮できます。 確認のための通信負荷を減らしたい場合,小さな値を設定します。並行で実施される通信が減少するため,単位時間当たりの通信量を減らすことができます。 |
Minimum Period per Host |
並列確認モードの場合の,1ホスト当たりの最低確認間隔(秒) |
確認のための通信が一定時間帯に集中することを避けたい場合に,あるホストのポーリングを開始後,次のホストのポーリングを開始するまでの時間を指定します。0を指定した場合,あるホストのポーリングの完了後すぐに次のホストのポーリングを開始します。 なお,このパラメーターを設定している場合でも,並列確認ホスト数分は並行してポーリングが行われます。このパラメーターでは,次のホストのポーリングを実施するまでの間隔を開けることができます。 |
Timeout Period per Host |
並列確認モードの場合の,1ホスト当たりのタイムアウト時間(秒) |
ネットワークや監視ホストの負荷などの影響によって,監視ホストへのポーリングに時間が掛かりタイムアウトした場合,状態不明などとホストの稼働状態が誤検知されることがあります。タイムアウトが頻発するような場合だけ値を大きくしてください。 この値を大きくした場合,システム全体の確認完了までに時間が掛かるようになるため,合わせてポーリング間隔も延ばす必要があります。 |
各チューニングパラメーターの考え方を次に示します。
■ 並列確認ホスト数(Parallel Confirmation Count)の考え方
並列確認ホスト数に指定した数だけ,並行してポーリングによる確認を実施します。例を次に示します。
■ 最低確認間隔(Minimum Period per Host)の考え方
最低確認間隔が0の場合,あるホストへのポーリングの完了後すぐに次のホストのポーリングを開始します。例を次に示します。
最低確認間隔に0より大きな値が設定されている場合,あるホストのポーリングが最低確認間隔よりも早く完了した場合でも,次のホストへのポーリングは前のホストのポーリング開始から最低確認間隔が経過するまで開始しません。あるホストのポーリングが最低確認間隔よりも遅く完了した場合は,すぐに次のホストへのポーリングを開始します。例を次に示します。
■ タイムアウト時間(Timeout Period per Host)の考え方
あるホストへのポーリングに時間が掛かりタイムアウト時間を経過した場合,そのホストは状態不明と判断し,ポーリングを中断し,次のホストへのポーリングを開始します。例を次に示します。
(b) 並列確認モードが無効の場合
監視ポーリング間隔を適切に設定するには,各エージェントホストに対するポーリング実施間隔と,ポーリングのタイムアウト時間を考慮する必要があります。次に,各エージェントホストに対するポーリング実施間隔と,ポーリングのタイムアウト時間を確認する方法を説明します。
■ 各エージェントホストに対するポーリング実施間隔
各ホストに対してポーリングが実施される間隔は,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サービスからの応答がない場合,タイムアウトが生じます。タイムアウト時間はポーリング実施間隔によって決まります。運用中のシステムで,タイムアウト時間を確認する際は,次の条件を使用してください。
-
ポーリング実施間隔が10秒以上の場合:10秒
-
ポーリング実施間隔が10秒未満の場合:ポーリング実施間隔の値(単位:秒)
なお,タイムアウト時間は最小で2秒です。
■ 監視ポーリング間隔の適否を判断する基準
設定されている監視ポーリング間隔が適切かどうかを判断するには,「各エージェントホストに対するポーリング実施間隔」に示した各ホストに対するポーリング実施間隔と,「ポーリングのタイムアウト時間」に示したポーリングのタイムアウト時間を踏まえ,次の点を確認してください。
-
各エージェントホストに対するポーリング実施間隔は10秒以上あるか。
-
運用環境に応じた適切なタイムアウト時間が確保されているか。
一般に,エージェントホストの数が増加するにつれ,各ホストに対するポーリング実施間隔およびタイムアウトが生じるまでの時間は短くなります。タイムアウト時間が短くなるほど,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プロパティに設定してください。
-
各エージェントホストに対するポーリング実施間隔からPolling Intervalの値を逆算する。
-
監視ポーリング間隔は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秒掛かっています。
|
「ポーリング開始予定時刻(1)」で開始したポーリングが「ポーリング開始予定時刻(2)」の時刻を経過しても完了しないため,2回目に予定されていたポーリング動作はスキップされます。次のポーリングが開始されるのは,1回目のポーリング完了後である「ポーリング開始予定時刻(3)」の時刻になります。
(3) ヘルスチェック結果の保存とアラーム評価について
ヘルスチェック機能では,通常のPFM - AgentやPFM - RMと同様に,ヘルスチェック結果の履歴データの保存やアラーム評価を実行できます。ここでは,ヘルスチェックエージェントの履歴データの保存およびアラーム評価に関する注意事項を説明します。
(a) データ保存とアラーム評価のタイミング
ヘルスチェック結果の履歴データを保存するには,ヘルスチェックエージェントのレコード収集設定を有効にします。また,ヘルスチェックエージェントに対してアラームを定義することで,アラーム評価を実行できます。履歴データの保存とアラーム評価は,ヘルスチェックの対象となっているすべてのエージェントホストに対するポーリングが完了したあと,次のポーリングの開始時に実行されます。このため,ポーリング完了時刻からタイムラグが生じます。
事例を次の図に示します。この例では,Host Availability(PI_HAVL)レコードを収集します。また,監視ポーリング間隔は300秒で,実際のポーリングには180秒掛かっています。
|
ポーリングが完了した時刻は,1回目が「10:03:00」,2回目が「10:08:00」ですが,それぞれ次回のポーリングが開始されていないため,この時点では履歴データの保存とアラーム評価は実行されません。履歴データの保存とアラーム評価は,次のポーリングが開始される「10:05:00」と「10:08:00」にそれぞれ実行されます。
(b) 指定した間隔で監視ポーリングが完了しない場合のデータ保存とアラーム評価のタイミング
監視ポーリング間隔の間にポーリングが完了しない場合,レコードの履歴データの保存およびアラーム評価は実行されません。すべてのエージェントホストに対するポーリングが完了したあと,次回のポーリング開始時に実行されます。
事例を次の図に示します。この例では,Host Availability(PI_HAVL)レコードを収集します。また,監視ポーリング間隔は300秒ですが,実際のポーリングには390秒掛かっています。
|
2回目のポーリング開始時刻である「10:05:00」時点では,1回目のポーリングが完了していないため,履歴データの保存とアラーム評価は実行されません。履歴データの保存とアラーム評価は,1回目のポーリングが完了し,2回目のポーリングが開始される「10:10:00」に実行されます。