ヘルスチェック定義ファイル(jcohc.conf)
形式
[HEALTHCHECK] ENABLE={true | false} FAILOVER={true | false} EVENT={true | false} COMMAND=コマンド NO_RESPONSE_TIME=無応答時間 ERROR_THRESHOLD=異常とみなす無応答回数 BASE_NO_RESPONSE_TIME=無応答時間 BASE_ERROR_THRESHOLD=異常とみなす無応答回数 [End]
ファイル
jcohc.conf(ヘルスチェック定義ファイル)
jcohc.conf.model(ヘルスチェック定義ファイルのモデルファイル)
格納先ディレクトリ
- Windowsの場合
-
- 物理ホストのとき
-
Consoleパス\conf\health\
- 論理ホストのとき
-
共有フォルダ\jp1cons\conf\health\
- UNIXの場合
-
- 物理ホストのとき
-
/etc/opt/jp1cons/conf/health/
- 論理ホストのとき
-
共有ディレクトリ/jp1cons/conf/health/
説明
ヘルスチェック機能を有効にするかどうかを定義するファイルです。ヘルスチェック機能を有効に設定する場合,異常を検知したときに,JP1イベントの発行および通知コマンドの実行で,異常を通知するかどうかも定義できます。
この定義ファイルは,JP1/IM - Managerの動作する言語コードで記述してください。
ヘルスチェック定義ファイル(jcohc.conf)を削除した場合は,ヘルスチェック定義ファイルのモデルファイル(jcohc.conf.model)をjcohc.confの名称でコピーし,必要に応じて,定義を変更してください。
セントラルスコープサービス(jcsmain)はヘルスチェック機能で監視できません。
この定義ファイルでヘルスチェック機能を有効に設定すると,JP1/IM - Managerの各プロセスおよび自ホスト上のJP1/Baseのイベントサービスが正常に動作しているかどうかをチェックできます。
ヘルスチェック機能で異常を検知できるプロセスを次に示します。
-
イベントコンソールサービス(evtcon)
-
アクション実行サービス(jcamain)
-
イベント基盤サービス(evflow)
-
相関イベント発行サービス(evgen)
-
イベントサービス(jevservice)
これらのプロセスがハングアップ※や異常終了となった場合に,異常を検知し,JP1イベントを発行したり,設定した通知コマンドを実行したりして,オペレーターにプロセスの回復を促します。
- 注※
-
プロセスのハングアップとは,デッドロックや無限ループなどが原因で,プロセスが処理要求を受け付けなくなる状態です。
定義の反映時期
次の場合に,ヘルスチェック定義ファイルの設定が有効になります。
-
JP1/IM - Managerを起動した場合
-
jco_spmd_reloadコマンドによりリロードをした場合
記述内容
- ENABLE={true | false}
-
ヘルスチェック機能を有効にするかどうかを指定します。
「true」または「false」のどちらかを指定します。ヘルスチェック機能を有効にする場合は「true」を,無効にする場合は「false」を指定します。デフォルトは「false」です。
ヘルスチェック機能を有効にすると,ヘルスチェック定義ファイル内のEVENTの設定が「true」か「false」かに関係なく,ヘルスチェック機能で異常を検知した場合に統合トレースおよびWindowsイベントログ(syslog)にメッセージ(KAVB8060-E,KAVB8062-E)が出力されます。
- FAILOVER={true | false}
-
クラスタシステムを使用している場合に使用します。ヘルスチェック機能で異常を検知した場合のJP1/IM - Managerの動作を「true」または「false」のどちらかで指定します。デフォルトは「false」です。クラスタシステムを使用していない場合には,デフォルトのままにしてください。
-
Windowsの場合
異常を検知したときにJP1/IM - Managerを停止する場合は「true」を,停止しない場合は「false」を指定します。ヘルスチェック機能で異常を検知したときにJP1/IM - Managerを停止することで,クラスタシステムにJP1/IM - Managerの異常を通知します。クラスタシステムでJP1/IM - Managerの障害時に,フェールオーバーするように設定しておくことで,ヘルスチェックが異常を検知した場合にフェールオーバーできます。
-
UNIXの場合
異常検知したJP1/IM - Managerのプロセスを停止する場合は「true」を,停止しない場合は「false」を指定します。ヘルスチェック機能で異常を検知したときにJP1/IM - Managerを停止することで,クラスタシステムにJP1/IM - Managerの異常を通知します。クラスタシステムでJP1/IM - Managerの障害時に,jco_killall.clusterコマンドで強制的に終了し,フェールオーバーするように設定しておくことで,ヘルスチェックが異常を検知した場合にフェールオーバーできます。
-
- EVENT={true | false}
-
ヘルスチェック機能で異常を検知した場合に,JP1イベント(イベントID:2012,2013)を発行するかどうかを指定します。
「true」または「false」のどちらかを指定します。イベントを発行する場合は「true」を,発行しない場合は「false」を指定します。
デフォルトは「true」です。なお,「true」を指定すると,次の場合にもJP1イベント(イベントID:2014)が発行されるようになります。
-
ヘルスチェック機能が異常回復を検知した場合
JP1イベントの詳細については,「3.2.2 JP1イベントの詳細」を参照してください。
-
- COMMAND=コマンド
-
ヘルスチェック機能で異常を検知した場合に,実行する通知コマンドを指定します。
実行可能なコマンドの種類は次のとおりです。
コマンドを実行するホストがWindowsの場合
-
実行形式ファイル(.com,.exe)
-
バッチファイル(.bat)
-
JP1/Scriptのスクリプトファイル(.spt)
(ただし.sptファイルが実行可能なよう関連づけが設定されていること)
コマンドを実行するホストがUNIXの場合
-
実行形式ファイル(実行権限が付いていること)
-
シェルスクリプト(実行権限が付いていること)
通知コマンドを定義する場合の注意事項を次に示します。
-
「COMMAND=」から改行コードまでを一つのコマンドとして定義します。
-
一つのコマンド定義の最大長は,1,023バイトです。最大長のバイト数には,空白を含みます。改行コードは含みません。1,024バイトを超えた場合は,デフォルト値を仮定します。なお,変数を指定する場合は,変数を展開した文字列が1,023バイトを超えるときはコマンドを実行しません。その際,統合トレースログにKAVB8072-Eのメッセージが出力されます。
-
変数を指定する場合は,変数を「$」に続けて指定します。指定できる変数を次に示します。
表2‒18 通知コマンドに指定できる変数 変数名
内容
HCHOST
異常が発生したホスト名
HCFUNC
異常が発生した機能名
(evflow,jcamain,evtcon,evgenまたはjevservice)
HCPNAME
異常が発生したプロセスのプロセス名
(evflow,jcamain,evtcon,evgenまたはjevservice)
HCPID
-
evflow,jcamain,evtcon,evgenの場合
異常が発生したプロセスのプロセスID
-
jevserviceの場合
-1
HCDATE
異常が発生した日付(YYYY/MM/DD)
HCTIME
異常が発生した時刻(hh:mm:ss)
-
-
通知コマンドは,必ず終了するコマンドを設定してください。バッチファイル(Windows)またはシェルスクリプト(UNIX)を設定する場合は,必ず exit 0 で終了するようにしてください。終了しないコマンドやGUIが起動するコマンドを指定した場合,実行した通知コマンドのプロセスが残ってしまいます。
-
COMMANDに指定された通知コマンドは,JP1/IM - Managerの実行環境を引き継ぎます。
-
通知コマンドは,JP1/IM - Managerの実行権限(Windows:SYSTEMユーザー,UNIX:root)で実行されます。
-
COMMANDに指定する通知コマンドは,フルパスで指定してください。
また,設定した通知コマンドが正常に動作するかどうかは,jcohctestコマンドを使って十分にテストしてください。jcohctestコマンドについては,「jcohctest」(1. コマンド)を参照してください。
-
デフォルトは指定なしの「COMMAND=」で,通知コマンドを実行しません。
-
「$」を指定したい場合は「$$」と指定してください。
-
Windowsでは,%WINDIR%\System32フォルダ以下に配置されているコマンドを実行すると,WOW64のリダイレクト機能によって,%WINDIR%\SysWow64フォルダ以下に配置されているコマンドにリダイレクトされます。リダイレクト先のコマンドがない場合,コマンドの実行に失敗することがあります。%WINDIR%\System32フォルダ以下に配置されているコマンドを実行コマンドに指定する場合は注意してください。
-
- NO_RESPONSE_TIME=無応答時間
-
JP1/IM - Managerのプロセスの無応答時間のチェック間隔を秒単位で指定します。指定できる範囲は,60〜3,600秒です。デフォルト値は「60」秒です。
指定範囲外の値が設定された場合や定義がない場合は,デフォルト値「60」秒を仮定します。
なお,このパラメーターはJP1/IM - Managerのインストール時に配置されるヘルスチェック定義ファイル(jcohc.conf)に記載されていません。設定をデフォルト値から変更する場合は,パラメーターを追記する必要があります。
- ERROR_THRESHOLD=異常とみなす無応答回数
-
JP1/IM - Managerのプロセスについて異常とみなす無応答回数を指定します。指定できる範囲は,1〜60回です。デフォルト値は「3」回です。
指定範囲外の値が設定された場合や定義がない場合は,デフォルト値「3」回を仮定します。
- BASE_NO_RESPONSE_TIME=無応答時間
-
マネージャー上のJP1/Baseのイベントサービスの無応答時間のチェック間隔を秒単位で指定します。指定できる範囲は,60〜3,600秒です。デフォルト値は「300」秒です。
指定範囲外の値が設定された場合や定義がない場合は,デフォルト値「300」秒を仮定します。
- BASE_ERROR_THRESHOLD=異常とみなす無応答回数
-
マネージャー上のJP1/Baseのイベントサービスについて異常と見なす無応答回数を指定します。指定できる範囲は,1〜60回です。デフォルト値は2です。
指定範囲外の値が設定された場合や定義がない場合は,デフォルト値「2」回を仮定します。
定義例
ヘルスチェック機能で異常を検知した場合に,JP1イベントを発行し,通知コマンドjcohc01.exeを実行します。
[HEALTHCHECK] ENABLE=true FAILOVER=false EVENT=true COMMAND=C:\Command\jcohc01.exe NO_RESPONSE_TIME=60 ERROR_THRESHOLD=3 BASE_NO_RESPONSE_TIME=300 BASE_ERROR_THRESHOLD=2 [End]