2.5.5 ヘルスチェック
ヘルスチェックとは,監視サーバ上のAPMの動作状況や,SSOとAPMで監視条件の不一致の有無をチェックする機能です。
また,SSOとAPMで監視条件の不一致を検知した場合は監視条件を同期します。
ヘルスチェックにはシステムヘルスチェック,定期ヘルスチェックおよびデマンドヘルスチェックの三つのヘルスチェックがあります。それぞれのヘルスチェックについて説明します。
- 〈この項の構成〉
(1) システムヘルスチェック
システムヘルスチェックとは,SSOが自動的に必ず実行するヘルスチェックを指します。
システムヘルスチェックは以下を契機に実行されます。
-
SSO起動時
-
監視サーバ追加時
-
APMからの起動イベント受信時
-
監視状態が「監視不可」の監視サーバに対して監視条件変更時,または状態合わせ実行時
-
監視状態が「監視中」以外のAPMからのイベント受信時
-
APMとのTCP通信中のエラー発生時
以下にシステムヘルスチェックに関する設定項目について説明します。
(a) SSO起動時のシステムヘルスチェック
SSO起動時には,監視マネージャが高負荷になっているおそれがあります。そのような高負荷の状態ですべての監視サーバに対してヘルスチェックを実行すると,通信量や受信処理でオーバーフローが発生してヘルスチェックが失敗する場合があります。そのようなヘルスチェックの失敗を未然に防ぐことを目的として,ヘルスチェックの開始を遅延させたり,ある一定の監視サーバ単位に,順次ヘルスチェックを実行させるように設定したりできます。設定はssoapmon動作定義ファイル(ssoapmon.def)の次に示すキーで設定します。
-
sso-start-hcheck-delay
-
sso-start-hcheck-interval
-
sso-start-hcheck-unit
SSO起動時のシステムヘルスチェックの流れを次の図に示します。ここでは,これらのキーによる動作を図示して説明します。なお,例として,sso-start-hcheck-unitは1に設定されていて,1台のAPM単位にヘルスチェックが実行される様子を示します。
SSO起動時のシステムヘルスチェックによって,各監視サーバでの監視対象の全プロセス・サービス状態がイベントとしてSSOに通知されます。
SSO起動時のシステムヘルスチェック間隔時間を設定することで各監視サーバへの監視開始要求を分散させることができ,各監視サーバからの状態変更イベント受信処理を分散させることができます。また,インシデント発行によるNNMi処理負荷を分散させることができます。
(b) APM起動イベント受信時のシステムヘルスチェック
APM起動時,APMはSSOに対して起動イベントを発行します。起動イベントを受け取った際,ssoapmon動作定義ファイルで指定したAPM起動時のヘルスチェック遅延時間経過後に,APMに対してヘルスチェックを実行します。APM起動イベント受信時のシステムヘルスチェックの流れを,次の図に示します。
APM起動イベント受信後に,SSOから該当する監視サーバにヘルスチェックが行われることで,監視対象の全プロセス・サービス状態がイベントとしてSSOに通知されます。
監視サーバの起動時は,APMやマシン全体が高負荷になっているおそれがあります。このとき,ヘルスチェックに対する応答が遅れてヘルスチェックが失敗する場合があります。このような場合,APM起動時ヘルスチェックの遅延時間を設定することでヘルスチェックが失敗するのを回避することができます。
(2) 定期ヘルスチェック
定期ヘルスチェックとは,SSOが定期的に実行するヘルスチェックを指します。
定期的なヘルスチェックを有効にするには,ヘルスチェック間隔設定ウィンドウのヘルスチェック間隔を設定するか,または監視サーバ定義ファイルのhcheckキーでヘルスチェック間隔を設定してください。
(a) ヘルスチェックリトライ機能
定期ヘルスチェックはSSOによって定期的に実行されます。このとき,監視サーバが高負荷で,APMからの応答が遅れてタイムアウトが発生し,ヘルスチェックが失敗となる場合があります。このような場合に,ヘルスチェックリトライ機能を利用することで,ヘルスチェックが一時的に失敗してもリトライで成功するように設定できます。
定期ヘルスチェックが失敗した場合,ssoapmon動作定義ファイルのhcheck-retry-countに設定した回数だけリトライします。リトライ回数実行してもヘルスチェックに失敗した場合は,そのAPMに対するプロセス・サービス監視状態は「認識不能」になります。ヘルスチェック失敗時のリトライは,ssoapmon動作定義ファイルのhcheck-retry-intervalに設定した時間間隔で実行します。ヘルスチェック失敗時の流れを,次の図に示します。
- 注※1
-
監視状態の詳細については「2.5.2(1) 監視状態の管理」を参照してください。
- 注※2
-
ヘルスチェック間隔設定ウィンドウから設定できるヘルスチェック間隔です。
(b) 定期ヘルスチェックの通信方式について
デフォルト設定での定期ヘルスチェックは,SNMP(UDP)プロトコルで実行します。ただし,TCPヘルスチェック機能を有効にすることで,信頼性の高いTCPプロトコルによるヘルスチェックを実行できるようになります。定期ヘルスチェックの通信方式は,監視サーバに応じて選択できます。システム内でヘルスチェックの通信方式が混在した場合の様子を次の図に示します。
上の図に示すように,TCPヘルスチェック機能を有効にするためには,監視マネージャ側(SSO側)および監視サーバ側(APM側)双方で,次に示す定義ファイルの作成・設定が必要になります。
-
監視マネージャ側(SSO側)の設定
TCPエージェント定義ファイル(ssotcpagent.conf)で設定します。また,必要に応じてssoapmon動作定義ファイル(ssoapmon.def)のconnect-retry-interval:キーを調節します。
-
監視サーバ側(APM側)の設定
TCPサービス定義ファイル(apmtcpserv.conf)で設定します。TCPヘルスチェックを実行しない監視サーバでは設定する必要はありません。