目次に戻る DSMコンソール

DSMをコンソールで管理するためのツールの使い方を説明します。

DSMコンソール用管理ツール
コンソール上でDSMCGIを管理するためのモジュールとして「DSM.EXE(UNIXの場合はdsm/ds)」があります。このツールは、NOMADコマンドの実行、B/NOMADのセッションの監視・管理、DSMCGIのログファイルの削除などをコンソール上で行うことができます。

このツールを使用するには、サーバー上のコンソール(コマンドライン)で以下のように指定します。
操作方法は、Windows環境/UNIX環境ともに同じです。

UNIX環境において、DSMSRVを起動したユーザーとdsmコマンドを実行するユーザーは同じである必要があります。

引数に指定する文字列は、大文字・小文字を区別しません。


dsm "nomad_command" [HostID] [AppName] [/option]

引数を何も指定しない状態ではDSMオプションの説明が表示されます。

"nomad_command" NOMADのCOMMAND WINDOWに入力するコマンドに相当するものを指定します。最大文字数255まで入力可能です。プロシージャも実行できます。
 
HostID ユーザー(ホスト)を認識するためのIDを指定します。このIDによってB/NOMADとのセッションを管理をします。IDが一致する場合には同一のB/NOMADを使用し、異なる場合には新しいB/NOMADを起動します。
 
AppName アプリケーション名を指定します。1つのB/NOMADで異なるアプリケーションを実行する場合に指定してください。
 
/option 次のオプションを指定できます。
 
    /A'AppID'   DSMCGIのアプリケーションID(名前)を指定します。
    /D'fname' (Data) DSMCGI実行後に分散サーバーからデータファイルを読み込んでlocalhostで標準出力します。
    /FD'fname'   Mapped File経由で/D'fname'を行います。
    /FO'fname'   Mapped File経由で/O'fname'を行います。
    /H'host' (Host) 指定HostへのDSMCGI実行します。
    /M (MQ) MQからのDSMCGI実行です。
    /N (Nowait) 実行終了を待たずに戻ります。
    /O'fname' (Open) DSMCGI実行前にデータファイルを分散サーバーに転送します。
    /Q (Quit) 実行セッションを切断(通常CGIモード)します。
    /Tn (Time out) TimeOutMin=n(min)。nを指定しない場合は、「dsm.ini」ファイルの設定値です。
    /TWn (TaskWaitTimeMin) TaskWaitTimeMin=n(min)。nを指定しない場合は、「dsm.ini」ファイルの設定値です。

dsmの引数に"nomad_command"を指定せずに直接オプションを指定することにより、DSMCGIを管理するコマンドを実行することができます。

引数に指定する文字列は、大文字・小文字を区別しません。


dsm [/option]

/option 次のオプションを指定できます。
 
    /? (Help) 引数などの説明を表示します。
 
    /A'AppID'   アプリケーション(AppID)の運用情報を標準出力('server/AppID'も可)します。
   「dsm /A'AppID=Sn'」「dsm /A'AppID=Rn'」でアプリケーションの即時停止・即時開始を行います。
 
    /Cn (Clear) n番目のB/NOMADを終了させます。nを指定しない場合は、すべてのB/NOMADを終了して共有メモリーをクリアします。
ただし、B/NOMADの終了時は「dsm /r」コマンドで登録されたadminユーザー(ユーザー名が「admin」)のパスワードを入力する必要があります。
 
    /CbSn (Clear Session) b番目のB/NOMADの、n番目のセッションを終了させます。bを指定しない場合は0番目のB/NOMADとみなします。nの指定は必須です。
ただし、セッションの終了時は「dsm /r」コマンドで登録されたadminユーザー(ユーザー名が「admin」)のパスワードを入力する必要があります。
 
    /CC (Clear) 外部アプリケーションも含み、すべてのB/NOMADを終了して共有メモリーをクリアします。
ただし、B/NOMADの終了時は「dsm /r」コマンドで登録されたadminユーザー(ユーザー名が「admin」)のパスワードを入力する必要があります。
 
    /E (openEnv) 「dsm.ini」をエディタで開きます。
 
    /EN (openEnv) 「nomad.ini」をエディタで開きます。
 
    /H'host' (Host) 指定のHostのアプリケーション運用情報を標準出力します。
以下のオプションと併用することにより、リモートホスト上のファイルまたは情報をローカル上に出力します(ただし、DSMSRVがリモートサーバー上で起動している必要があります)。
※DSM Ver6.0では分散環境をサポートしていません。ご注意ください。
 
  /L dsmcgi.logをエディタで開きます
  /LD dsmcgi.logを削除します
  /LP dsmcgi.prをエディタで開きます
  /LPD dsmcgi.prを削除します
  /LPn dsmcgi.prnをエディタで開きます
  /LPnD dsmcgi.prnを削除します
  /I DSMCGI情報を標準出力します
  /II DSMCGI情報をファイルへ出力してエディタで開きます
  /E 「dsm.ini」をエディタで開きます
  /EN 「nomad.ini」をエディタで開きます
  /Mn DSMのモニタ情報を標準出力します
  /Cn n番のB/NOMADを終了させます
  /Xn n番までのB/NOMADを起動させます
  /X=extApp DSMから外部アプリケーションを起動させます
  /Kp p(PID)で指定されたプロセスを強制終了させます
 
  /Hと併用する場合、/LD、/LPD、/LPnD、/Cn、/Xn、/X=、/Kpの実行は「dsm /R」コマンドで登録されたadminユーザー(ユーザー名が「admin」)のパスワードを入力する必要があります。
 
    /I (Info) DSMCGI情報を標準出力します。
 
    /II (Info) DSMCGI情報をファイル(dsmcgi.inf)に出力してエディタで開きます。
 
    /Kp (Kill PID) PIDで指定したプロセス(B/NOMADプロセス・DSMCGIプロセス)を強制的に終了させます。
 
    /L (Log) DSMCGIの生成するログファイル(dsmcgi.log)をエディタで開きます。
 
    /LD (Log Delete) DSMCGIの生成するログファイル(dsmcgi.log)を削除します。
 
    /LPn (Log Pr) DSMCGIの生成するパフォーマンス・レポートファイル(dsmcgi.prn)をエディタで開きます。
nを指定した場合は、dsmcgi.prnを開きます。nを指定しない場合は、dsmcgi.prを開きます。
 
    /LPnD (Log Pr Delete) DSMCGIの生成するパフォーマンス・レポートファイル(dsmcgi.prn)を削除します。
nを指定した場合は、dsmcgi.prnを削除します。nを指定しない場合は、dsmcgi.prを削除します。
 
    /Mn (Monitor) DSMのB/NOMADモニタ情報をn秒ごとに繰り返し標準出力します。nを指定しない場合は、一回のみ出力します。
 
    /P'host' (Ping) DSMCGI分散サーバーへの接続テストを行います。
 
    /R'user'   DSMMonitorで使用する管理者名/パスワードを登録します。
また、「dsm /c」「dsm /cc」などを行えるようにするための、adminユーザーのパスワードを登録します。
 
    /Xn (eXecute) n個までのB/NOMADを起動させます。nを指定しない場合は、MaxBNOMADまでです。
 
    /X'extApp' AppID   DSMから外部アプリケーションを起動させます。
extAppは外部アプリケーション名のフルパスです。
AppIDは関連付けるアプリケーションIDです。AppIDを指定する場合は、引用符の外に指定してください。
また、/X='extApp' AppIDと指定することもできます。
 
    /D'host\\fname'   hostへファイルfnameを書き込みます。/Oと併用します。host省略時はlocalhostです。
    /O'host\\fname'   hostからファイルfnameをリモートコピーします。/Dと併用可能です。hostは省略可能です。
 
/Mn、/E、/ENまたはファイルのコピーの際に、リモートホストとローカルホストにある「dsm.ini」の NativeKanjiの設定により、自動的にEUCとShiftJISの漢字コード変換が行われます。

使用例


dsm search NOMADのSEARCHコマンドを実行し、結果をNOMADのOUTPUTに出力します。
dsm /m 現在のB/NOMAD起動情報・メモリー情報を出力します。
dsm /c B/NOMADをすべて終了させます。(パスワードの入力が必要です)
dsm /c1 1番目のB/NOMADを終了させます。(パスワードの入力が必要です)
dsm /c1s2 1番目のB/NOMADの2番目のセッションを終了させます。(パスワードの入力が必要です)
dsm /l dsmcgi.logファイルをエディタで開きます。
dsm /ld dsmcgi.logファイルを削除します。
dsm /lp dsmcgi.prファイルをエディタで開きます。
dsm /lp0 dsmcgi.pr0ファイルをエディタで開きます。
dsm /lpd dsmcgi.prファイルを削除します。
dsm /lp0d dsmcgi.pr0ファイルを削除します。
dsm /k123 PIDが「123」のプロセス(NOMAD/DSMのプロセスのみ)を強制終了させます。
 
dsm /h'tasmania' /e リモートサーバー「tasmania」上の「dsm.ini」ファイルをエディタで開きます。
dsm /h'tasmania' /lp リモートサーバー「tasmania」上の「dsmcgi.pr」ファイルをエディタで開きます。
dsm /h'tasmania' /c リモートサーバー「tasmania」上のB/NOMADをすべて終了させます。(パスワードの入力が必要です)
 

dsm /x='c:\winnt\notepad.exe' 外部アプリケーション(ここではnotepad.exe)を起動させます。

dsm /o'tasmania\\c:\winnt\dsm.ini' tasmaniaの'c\winnt\dsm.ini'ファイルをカレントディレクトリにコピーします。

dsm /o'tasmania\\c:\winnt\dsm.ini' /d'd:\tmp\' tasmaniaの'c\winnt\dsm.ini'ファイルを'd:\tmp\'にコピーします。

dsm /o'tasmania\\c:\winnt\dsm.ini' /d'd:\tmp\dsmbak.ini' tasmaniaの'c\winnt\dsm.ini'ファイルを'd:\tmp\dsmbak.ini'にコピーします。

dsm /o'd:\tmp\dsm.ini' /d'nothpole\\c:\tmp\' 'd:\tmp\dsm.ini'ファイルをnothpoleの'c:\tmp\'にコピーします。

 
 

dsm /x=\'/home/user1/testp\' 外部アプリケーション(ここではtestp)を起動させます。

dsm /o\'sun26e\\\\/etc/dsm.ini\' sun26eの'/etc/dsm.ini'ファイルをカレントディレクトリにコピーします。

dsm /o\'sun26e\\\\/etc/dsm.ini\' /d\'/home/user1/\' sun26eの'/etc/dsm.ini'ファイルを'/home/user1/'にコピーします。

dsm /o\'sun26e\\\\/etc/dsm.ini\' /d\'/home/user1/dsmbak.ini\' sun26eの'/etc/dsm.ini'ファイルを'/home/user1/dsmbak.ini'にコピーします。

dsm /o\'/home/user1/dsm.ini\' /d\'aix42\\\\/home/user2/\' '/home/user1/dsm.ini'ファイルをaix42の'/home/user2/'にコピーします。




「dsm /m」情報
「dsm /m」を実行すると、B/NOMAD情報・外部アプリケーション情報・ログ情報・メモリー情報が表示されます。


B/NOMAD(pid) Stat   Memory CPU(Time)     Tct  Uct Kct UserID  AppName
 0(462).000 Wait       7708 00%(00:00:01)   40    1   0 '192.168.0.156_936930824448' 'hacyu'
 0(462).001 Wait       7708 00%(00:00:01)   34    1   0 '192.168.0.156_93693083883' 'stg3'
 1(427).000 Wait       2396 00%(00:00:00)   30    1   0 '192.168.0.147_93693084376' 'stg3'
ExtAP(pid) Stat Memory CPU(Time) UserID  ExecutablePath  AppID
 0(302) Work  2184 00%(00:00:00) 'user1' 'C:\winnt\notepad.exe' 'AppID1'
LogDsk(KB): Free= 526985 Total=2479679 (dsmcgi.log=2491 C:\INETPUB\SCRIPTS\)
Memory(KB): Free=  75776 Total= 163000 VFree= 130872 VTotal= 312036

上の例では、B/NOMADアプリケーションが3つ、外部アプリケーションが1つ起動しています。
B/NOMADの1つの情報(1行分)は、以下のような意味になります。
B/NOMAD(pid)B/NOMAD番号(プロセスのID).セッション番号
StatStatus(セッションの状態(Wait:保持・Conn:接続・Idle:待機))
Memoryメモリー使用量(KB)。スレッド単位ではなく、プロセス単位の値を表しています。
CPU(Time)CPU使用率(CPU時間)。スレッド単位ではなく、プロセス単位の値を表しています。
TctTimeCount(指定時間が来るまでカウントアップされる)
UctUserCount(B/NOMADセッションに対して接続された回数)
KctKillCount(B/NOMADセッションが強制終了(dsm /Kp)された回数)
UserIDアプリケーションを起動させたマシン名(またはIPアドレス)とB/NOMAD管理用の数値
AppName実行したアプリケーション名

外部アプリケーションの1つの情報(1行分)は、以下のような意味になります。
ExtAP(pid)外部アプリケーションの番号(プロセスのID)
StatStatus(状態('Work:稼動'のみ))
Memoryメモリー使用量(KB)
CPU(Time)CPU使用率(CPU時間)
UserIDアプリケーションを起動させたユーザー名
ExecutablePath実行したアプリケーションのフルパス
AppID実行したアプリケーションID

「LogDsk」の行は、ログファイルの情報を表示しています。


LogDsk(KB): Free= 使用可能なディスク容量 Total= ディスクの総容量 (dsmcgi.log=ログファイルのサイズ ログファイルを格納するディレクトリ)
ディスクの残り容量・総容量は、ログファイルの格納されているディスク(ドライブ)の容量です。
単位はKB(キロバイト)です。

「Memory」の行は、サーバーのメモリー情報を表示しています。


Memory(KB): Free= 使用可能な物理メモリー容量 Total= 物理メモリーの総容量 VFree= 使用可能な仮想メモリー容量 VTotal= 仮想メモリーの総容量
単位はKB(キロバイト)です。



「dsm /X'...'」 外部アプリケーションの起動


外部アプリケーションとは、各サーバー上で起動可能な、NOMADアプリケーション以外のアプリケーションを指します。外部アプリケーションを監視するには、DSMを経由して起動させる必要があります。

※DSMで管理できる外部アプリケーションの数は、設定ファイル「dsm.ini」の[DSMMEXT]セクションのMaxExtAppの値までです。

外部アプリケーションを起動する前には、必ずDSMSRVを起動しておいてください。

サーバー上で外部アプリケーションを起動する場合、以下のようにDSMのコマンドを入力します。


dsm /X'外部アプリケーションのフルパス' アプリケーションID
dsm /X'#CurrentDir#実行ファイル名' アプリケーションID

/X'...'の間に、外部アプリケーションのフルパスを指定し、アプリケーションIDを指定する場合は、その後に指定します。
必要に応じて実行時のカレントディレクトリの指定も可能です(##で区切る)。

また、以下のように指定することもできます。


dsm /X='外部アプリケーションのフルパス' アプリケーションID

アプリケーションIDに設定されているスケジュール情報は外部アプリケーションでも有効です。



dsm /x'c:\winnt\notepad.exe' AppID
dsm /x='c:\program files\myapp\myapp.exe' AppID



dsm /x\'/home/user1/testp\' AppID
dsm /x=\'/home/user1/testp\' AppID

外部アプリケーションが正常に認識されているかどうかを、「dsm /m」で確認してください。
外部アプリケーションが起動している場合は、コンソール上に以下のように表示されます。



ExtAP(pid) Stat Memory CPU(Time) UserID  ExecutablePath  AppID
 0(177) Work 1128 00%(00:00:01) 'yoshi' 'c:\winnt\notepad.exe' 'AppID'



ExtAP(pid) Stat Memory CPU(Time) UserID  ExecutablePath  AppID
 0(177) Work 1254 00%(00:00:02) 'yoshi' '/home/user1/testp' 'AppID'



adminユーザーの登録
B/NOMADの終了(「dsm /C」「dsm /CC」)、
「dsm /H'host'」と併用したときの「/LD、/LPD、/LPnD、/Cn、/Xn、 /X=、/Kp」
を実行する場合は、「dsm /R」であらかじめ、adminユーザー(ユーザー名が「admin」)で登録したパスワードを入力する必要があります。
「admin」ユーザーを登録する場合は「dsm /R」を行い、「登録者の名前」を「admin」とし、任意のパスワードを指定してください。


RNPC情報のモニタリング
RNPCを使用してNOMADアプリケーションを実行した場合、「dsm /m」では以下のような形式で表示されます。


B/NOMAD(pid) Stat Memory CPU(Time) Tct Uct Kct UserID AppName
0(155) Wait 5596 00%(00:00:00) 0 0 0 'RPC009b^c0a8009cc0a8009c^admin' '**RNPC**testcall(155)'

UserIDが「RPC」から始まり、かつAppNameが「**RNPC**」から始まる場合は、そのNOMADはRNPCとして実行されていることになります。
上の例では、ユーザー名が「admin」、リモートで呼び出したプロシージャ名が「testcall」となります。