TP モニタプロセス異常終了(共有メモリ残留)

事象説明

    TP モニタプロセスが何らかの理由で異常終了した場合、他のTP モニタに関連するプロセスが動作して いるのであれば、クライアントからのユーザアクセスは成功する可能性はあります。しかし、TP システムに対する運用操作ができなくなります。

    また、実行時に確保する共有メモリが残ってしまうため、次回以降のTP モニタ・マネージャの起動に失敗 します。この場合、プロセスグループのプロセスが起動しないため、クライアントからのユーザアクセスが エラーとなり(ユーザ実装による)、統合運用管理ツールからはTP システムが停止していることが確認で きます。

状況の確認方法

    TP モニタプロセス(tpmMain)が終了した場合、シスログに以下のメッセージが出力されます。

      WebOTX_Agent: OTX01180012:is not
      alive :domain1:category=monitor,type=alive-check-monitor,server=server,name=tpsystem-state (com.nec.webotx.enterprise.system.notification)

    なお、tpmMain が何らかのシグナルを受けた場合、シスログに以下のメッセージも出力されます。

      OTXM:MySystem: I:1: tpmMain getsignal(x).
      X はシグナルを表す番号 例) 9 SIGKILL

    実行時に確保した共有メモリが残っているかどうかは、Windows の場合は確認することができません。
    UNIX の場合はipcs コマンドで確認できます。

    tpmMain が停止しているにもかかわらず、ipcs コマンドの結果でKEY の下二桁が96(TP システムが複数 ある場合は、1 ずつ増える)のものが残っていた場合、共有メモリが残っていることになります。

      # ipcs
      IPC status from /dev/kmem as of Wed Jun 7 15:11:24 2006

      TIDKEYMODEOWNERGROUP
      Message Queues:
      q     00x3c201079-Rrw--w--w-rootroot
      q     10x3e201079--rw-r--r--rootroot
      q198737940x4f4c3096--rw-rw-r--otxadmotxadmin
      q198737950x4f4c3196--rw-rw-r--otxadmotxadmin
      q198737960x4f4c3396--rw-rw-r--otxadmotxadmin
      :

    実行時に確保した共有メモリが残っている状態でドメインを起動した場合、シスログに以下のメッセージ が出力されます。 ${AS_INSTALL}/Trnsv/multitpm/current 配下にTP システムのシステム名と同名のファ イルがあるかどうかでエラーが以下のように変わります。(Windows の場合はレジストリキー HKEY_LOCAL_MACHINE\SOFTWARE\NEC\WebOTX\MULTITPM\CURRENT 配下です)
    なお、このファイルやキーは、TP モニタ起動時に作成され、停止時に削除されます。共有メモリが残っていなければ、このファイル自体が残っていてもTP モニタの起動に影響はありません。

問題の検出方法

    異常終了が発生した場合は、シスログやWebOTX のログにメッセージ出力されます。また、TP モニタの 親プロセスであるtpmonitor を監視しておくことで、運用中のTP モニタプロセスの異常終了を発見することができます。

    イベントログメッセージに関しては、前述のメッセージの他、「WebOTX マニュアル オペレータメッセージ編」を参照してください。

    プロセスの監視に関しては、トラブルシューティング(概要) 3.1 プロセス監視 を参照してください。

採取資料

    イベントログ(アプリケーション、システム)・シスログ

    ${INSTANCE_ROOT}/logs/server.log

    ${INSTANCE_ROOT}/logs/webotx_agent.log

    ${INSTANSE_ROOT}/config/tpsystem/history.act、history.sav、sysmsg.trc、sysmsg.sav

    tpmonitor、tpmMain プロセスの存在確認

    UNIX:

    ${AS_INSTALL}/Trnsv/multitpm/current 配下

    ipcs の結果

    Windows:

    HKEY_LOCAL_MACHINE\SOFTWARE\NEC\WebOTX\MULTITPM\CURRENT 配下

復旧方法

    共有メモリが残っていない状態でTPモニタが停止している場合は、TPシステムの起動を行ってください。

      otxadmin> start-domain <ドメイン名>

    共有メモリが残っている場合は、マシン再起動により復旧してください。
    復旧しない場合、TPモニタプロセスが終了した原因を前後のメッセージから判断し、 原因を取り除いてから再起動してください。

    UNIXかつ運用ユーザでWebOTXを運用している場合、マシンの再起動をしなくても復旧 することができます。以下の方法で復旧してください。この方法での復旧はどうして もマシン再起動が許されない場合に限り行ってください。通常はマシン再起動での復 旧を行ってください。

    1. rootユーザでWebOTXを停止してください。
      /sbin/init.d/WOAgentSvc stop (HP-UX)
      /etc/init.d/ WOAgentSvc stop (Solaris,Linux)

    2. WebOTX関連プロセスが残っていた場合は、以下のコマンドで終了させてください。
      otxadmin> stop-domain --force <ドメイン名>

    3. 運用ユーザでマシンにログインし、以下のコマンドで共有メモリ(IPC資源)の削除 を行ってください。
      ${AS_INSTALL}/Trnsv/bin/wormipc
      suコマンドを使う場合は、"-"オプションつきのsuコマンドで運用ユーザになってください。

    4. rootユーザで以下のコマンドで行ってください。このコマンドはIPC以外の共有メモリ の再作成を行います。
      /sbin/init.d/WebOTXinit stop (HP-UX)
      /sbin/init.d/WebOTXinit start (HP-UX)
      /etc/init.d/WebOTXinit stop (Solaris,Linux)
      /etc/init.d/WebOTXinit start (Solaris,Linux)

    5. rootユーザでWebOTXを起動してください。
      /sbin/init.d/WOAgentSvc start (HP-UX)
      /etc/init.d/ WOAgentSvc start (Solaris,Linux)

    rootユーザでWebOTXを運用している場合、あるいはWindowsの場合は共有メモリ(IPC資源)の削除コマンドは使用できません。マシン再起動を行ってください。

予防のための対策

    TPモニタプロセスは、killコマンド等で停止された場合は正常に停止しない可能性 があります。killを使用せず、WebOTX提供のコマンドを利用してください。

    なお、共有メモリ(IPC資源)の削除コマンド(wormipc)は、通常運用時は実行しない でください。共有メモリが削除され、正常動作しなくなる可能性があります。


関連情報

    サービス起動失敗・異常終了
    TPモニタ機能の障害解析

    トラブルシューティング(障害解析)