Hitachi

TPBroker Version 5 トランザクショナル分散オブジェクト基盤 TPBroker ユーザーズガイド


6.2.1 プロセス監視の概要

TPBrokerでは,運用支援機能の一つとして,プロセス監視機能を提供しています。TPBrokerのプロセス監視機能には四つの方法があります。

プロセス監視の内容はプロセス監視定義ファイルで設定します。詳細は,「8.2 プロセス監視定義の詳細」を参照してください。

ここでは,すべてのプロセス監視方法に共通な機能を説明した上で,それぞれのプロセス監視方法について説明します。

〈この項の構成〉

(1) プロセス監視の共通機能

TPBrokerでは,プロセス監視として四つの方法を提供しています。四つの方法に共通な機能を次の表に示します。

表6‒1 プロセス監視の共通機能

項目

説明

監視対象となるプロセス

アプリケーションプログラム,リソースマネージャ,OTSやORBのデーモンなど

最大監視対象プロセス数

運用定義/ADM/max_process_numに設定された数

異常が発生した場合の処置

(UNIX)

メッセージをsyslogおよびログファイルに出力する

(Windows)

メッセージをイベントログおよびログファイルに出力する

(2) プロセス監視方法

TPBrokerのプロセス監視には,次に示す四つの方法があります。システム環境に応じてプロセス監視の方法を選択してください。

(3) 監視対象プロセスの出力情報

(UNIX)

監視対象プロセスの標準出力および標準エラー出力は自動的にファイルに切り替わります。出力先は,$ADMSPOOL/log/stdlog1およびstdlog2です。環境変数ADMSPOOLが未設定の場合は,$TPDIR/spool/log/stdlog1およびstdlog2となります。

(Windows)

監視対象プロセスの標準出力および標準エラー出力は運用定義/ADM/set_redirect_modeの設定値によってファイルに切り替わります。出力先は運用定義/ADM/set_redirect_filenameに従います。

ただし,C++のAPIによるプロセス監視の場合は,監視対象プロセスの標準出力および標準エラー出力はファイルに切り替わることはありません。

監視対象プロセスの出力情報の注意事項を次に示します。

(4) 監視対象プロセスのカレントディレクトリ

(a) TPBrokerの監視対象プロセスのカレントディレクトリの設定

TPBrokerの監視対象プロセスのカレントディレクトリを次のように変更します。

  • 環境変数ADMSPOOLが設定済みの場合

    $ADMSPOOL/tmp/home/"識別子"

  • 環境変数ADMSPOOLが未設定の場合

    $TPDIR/spool/tmp/home/"識別子"

(UNIX)

監視対象プロセスがcoreを出力して異常終了した場合の,coreファイルの退避ディレクトリを次のようにします。

  • 環境変数ADMSPOOLが設定済みの場合

    $ADMSPOOL/errinfo/save

  • 環境変数ADMSPOOLが未設定の場合

    $TPDIR/spool/errinfo/save

監視対象プロセスのcoreファイルは"識別子.N"という名称になります。ここでNは1から始まる通番で,三つまで退避します。通番が小さいほど,新しいcoreファイルとなります。ただし,この機能はcoreファイル名称が"core"である場合に限られます。

識別子が「OSAgent」の場合(環境変数ADMSPOOLには/opt/TPBrokerV5/admspoolが設定されているものとする)

  • 監視対象プロセスのカレントディレクトリ

    /opt/TPBrokerV5/admspool/tmp/home/OSAgent

  • 監視対象プロセスのcoreファイルの退避ディレクトリ

    /opt/TPBrokerV5/admspool/errinfo/save

  • 監視対象プロセスの退避したcoreファイルの名称

    OSAgent.1,OSAgent.2,OSAgent.3

(b) 監視対象プロセスのカレントディレクトリが作成/削除されるタイミング

  • admsetup -c入力時

    $ADMSPOOL/tmp/homeおよび$ADMSPOOL/errinfo/saveを作成します。

    (UNIX)owner = root, group = sys, パーミッション = 777

  • admsetup -d入力時

    $ADMSPOOL/tmp/homeおよび$ADMSPOOL/errinfo/saveを削除します。

  • 監視対象プロセスの起動時

    各プロセスのカレントディレクトリが作成されます。カレントディレクトリが作成できない場合,またはカレントディレクトリを移動できない場合は$ADMSPOOLがカレントディレクトリになります。

  • ADMデーモンの起動時

    前回のセションで作成した各監視対象プロセスのカレントディレクトリを削除します。

(5) 作業ディレクトリの自動退避

TPBrokerのプロセス監視機能は,環境変数ADMSPOOLで設定された作業ディレクトリを使用します。

TPBrokerのプロセス監視機能が運用中に異常終了した場合,次回起動時に自動的に前回使用した作業ディレクトリを退避します。退避するディレクトリ名は$ADMSPOOL_logNです。ここでNは1,2,...,Nとなり,最大値は運用定義/ADM/backup_countで設定された値になります。

例えば,環境変数ADMSPOOLに/opt/TPBrokerV5/admspoolを指定していた場合,退避ディレクトリは/opt/TPBrokerV5/admspool_log1になります。

(6) プロセスのプロパティ設定

UNIX版のTPBrokerでは,監視プロセスのプロパティ設定について,次の処理を行います。

(a) 設定するプロパティ

TPBrokerのプロセス監視機能は以下のように監視プロセスのプロパティを設定します。

  • 標準出力,標準エラー出力を,パイプに切り替えます。

  • 現在のワークディレクトリを変更します。

  • SIGPIPEシグナルを無視します。

    TPBroker05-18以降では,admlaunchuxコマンドを使用してSIGPIPEシグナルをデフォルトにしてプロセスを起動することができます。

(b) 設定できないプロパティ

TPBrokerのプロセス監視機能は,以下のプロパティを設定する機能を持っていません。

  • 補助グループ(2次グループ)のID

(c) 設定しないプロパティ

TPBrokerのプロセス監視機能は,監視プロセスについて以下のプロパティを設定せず,OSの設定を引き継ぎます。

  • プロセスグループ(ADMD(ADMデーモン)と同じプロセスグループとなります)

  • ファイルモードの設定マスク(0となります)

  • SIGPIPE以外のシグナルの設定

(7) ネットワークドライブアクセスに関する注意事項

Windows版の場合,Windowsの仕様により,サービスから起動されるプログラムからは,ネットワークドライブのアクセスに制限がありますので注意願います。