jpcprocdef create
形式
jpcprocdef create -agent サービスID -f 入力ファイル名 [-removeOthers] [-noquery]
機能
jpcprocdef createコマンドは,指定したエージェントに対して,新規にアプリケーション定義を設定したり,既存のアプリケーション定義を編集したりするコマンドです。定義情報は,コマンドライン引数として指定されたXML形式のアプリケーション定義ファイルから取得します。1つのアプリケーション定義ファイルに複数のアプリケーション定義を指定し,一括して設定できます。
コマンドを実行できるホスト
PFM - Web Console
実行権限
- Windowsの場合
-
Administrators権限を持つユーザー
- UNIXの場合
-
rootユーザー権限を持つユーザー
また,コマンドを実行するためには,事前にPerformance Managementに対する管理ユーザー権限※のユーザーアカウントで認証用のキーファイルを作成する必要があります。詳細については,「jpcmkkey」コマンドを参照してください。
- 注※
-
Performance ManagementユーザーまたはJP1ユーザーが必要とする,Performance Managementに対する実行権限です。
格納先ディレクトリ
- Windowsの場合
-
インストール先フォルダ\tools\
- UNIXの場合
-
/opt/jp1pcwebcon/tools/
引数
-agent サービスID
アプリケーション定義を作成する対象エージェントを,Agent CollectorサービスまたはリモートエージェントのサービスIDで指定します。ワイルドカード文字は使用できません。
指定するサービスIDは,使用している監視エージェントによって次のように異なります。
使用している監視エージェント |
指定するサービスID |
---|---|
PFM - Agent for Platform(Windows) |
Agent CollectorサービスのサービスID |
PFM - Agent for Platform(UNIX) |
|
PFM - RM for Platform |
リモートエージェントのサービスID |
次に示すサービスIDは指定できません。
-
Agent Storeサービス,Remote Monitor Collectorサービス,Remote Monitor StoreサービスおよびグループエージェントのサービスID
-
PFM - Agent for PlatformまたはPFM - RM for Platform以外のプロダクトのサービスID
-f 入力ファイル名
アプリケーション定義ファイルのファイル名を指定します。ファイル名は,絶対パスまたは相対パスで指定します。
-removeOthers
アプリケーション定義ファイルで指定したアプリケーション定義と異なる名称の定義がある場合に,それらの定義情報を削除するかどうかを指定します。
このオプションの指定の有無による動作の違いを次に示します。
-
指定した場合
対象エージェントのすべてのアプリケーション定義情報が,アプリケーション定義ファイルの内容で更新されます。ファイルに記載していないアプリケーション定義がある場合,削除するかどうかを確認するメッセージが表示されます。
-
指定しない場合
アプリケーション定義ファイルで指定したアプリケーション定義の情報だけが,追加および更新されます。
-noquery
このオプションを指定すると,コマンドの実行を中断する問い合わせメッセージが出力されなくなり,ユーザーの応答が不要になります。非対話形式で実行したい場合に指定します。
なお,コマンド実行時は次のように動作します。
-
アプリケーション定義ファイルで指定したアプリケーション定義と同名の定義が対象エージェントにある場合
アプリケーション定義ファイルの内容で更新します。
-
-removeOthersオプションを指定した場合
アプリケーション定義ファイルに記載していないアプリケーション定義は削除されます。
アプリケーション定義ファイルの形式
XMLタグ仕様
-
application-definition
種別
説明
意味
1つのアプリケーション定義の設定情報のルートタグ
指定可能値
なし
省略
不可
属性
なし
親要素
pr-cli-parameters
子要素
name(1application-definitionに1回だけ指定できる。省略できない)
virtual-env-id(1application-definitionに1回だけ指定できる。省略できる)
process01,process02,…,process15(1application-definitionに15個指定する。省略できない)
-
name
種別
説明
意味
アプリケーション定義名を指定する。
指定可能値
指定できる文字列については,マニュアル「JP1/Performance Management - Agent Option for Platform(Windows(R) 用)」,マニュアル「JP1/Performance Management - Agent Option for Platform(UNIX(R) 用)」およびマニュアル「JP1/Performance Management - Remote Monitor for Platform」の,プロセスの稼働・非稼働情報の収集について説明している個所を参照。
なお,要素の一部として空白や改行を指定できるため,意図した入力以外では,開始タグや終了タグと,要素の間に空白や改行を含めない。
省略
不可
属性
なし
親要素
application-definition
子要素
なし
-
virtual-env-id
種別
説明
意味
仮想化環境の識別子を指定する。
- 注意
-
PFM - Web Console 11-50より前のバージョンの場合,対象エージェントがPFM - Agent for Platform(Windows)の場合,このタグの値は無視される。
PFM - Web Console 11-50以降のバージョンの場合,対象のエージェントが識別子の指定をサポートしていない仮想化環境のときは,設定値は無視される。
指定可能値
指定できる文字列については,マニュアル「JP1/Performance Management - Agent Option for Platform(Windows(R) 用)」,マニュアル「JP1/Performance Management - Agent Option for Platform(UNIX(R) 用)」およびマニュアル「JP1/Performance Management - Remote Monitor for Platform」の,プロセスの稼働・非稼働情報の収集について説明している個所を参照。
なお,要素の一部として空白や改行を指定できるため,意図した入力以外では,開始タグや終了タグと,要素の間に空白や改行を含めない。
省略
可(省略時は空文字として扱う)
属性
なし
親要素
application-definition
子要素
なし
-
process01,process02,…,process15
種別
説明
意味
アプリケーション定義を構成するプロセスを1つずつ指定する。
タグ名のprocessXXのXXは,エージェントのプロパティであるMonitoringXXの値に対応する。
指定可能値
監視するプログラム,コマンドまたはサービスの実行時名称(MonitoringXX Conditionの値)を指定する。
指定できる文字列については,マニュアル「JP1/Performance Management - Agent Option for Platform(Windows(R) 用)」,マニュアル「JP1/Performance Management - Agent Option for Platform(UNIX(R) 用)」およびマニュアル「JP1/Performance Management - Remote Monitor for Platform」の,プロセスの稼働・非稼働情報の収集について説明している個所を参照。
なお,要素の一部として空白や改行を指定できるため,意図した入力以外では,開始タグや終了タグと,要素の間に空白や改行を含めない。
省略
不可
属性
label
監視条件のラベル(エージェントのMonitoringXX Labelプロパティに設定する値。省略できない)
指定できる文字列については,マニュアル「JP1/Performance Management - Agent Option for Platform(Windows(R) 用)」,マニュアル「JP1/Performance Management - Agent Option for Platform(UNIX(R) 用)」およびマニュアル「JP1/Performance Management - Remote Monitor for Platform」の,プロセスの稼働・非稼働情報の収集について説明している個所を参照。
なお,要素の一部として空白や改行を指定できるため,意図した入力以外では,開始タグや終了タグと,要素の間に空白や改行を含めない。
type
監視するフィールド(エージェントのMonitoringXX Fieldプロパティに設定する値。省略できない)
指定できる値は,次の8個。
-
noneまたはNONE:選択なし
-
programまたはPROGRAM:プログラム
-
commandlineまたはCOMMANDLINE:コマンドライン
-
serviceまたはSERVICE※:サービス
min
監視数の下限値(エージェントのMonitoringXX Rangeプロパティで"-"の左側に設定する値。省略できない)
指定できる値は,0以上65535以下の整数で,さらに,min≦maxである必要がある。
max
監視数の上限値(エージェントのMonitoringXX Rangeプロパティで"-"の右側に設定する値。省略できない)
指定できる値は,0以上65535以下の整数で,さらに,min≦maxである必要がある。
親要素
application-definition
子要素
なし
-
アプリケーション定義ファイルの記述例を次に示します。なお,アプリケーション定義ファイルのサンプルを下記ディレクトリに格納しています。アプリケーション定義ファイルを記述するときのひな形として利用してください。
- Windowsの場合:
-
インストール先フォルダ\sample\processmonitoringcommand\
- UNIXの場合:
-
/opt/jp1pcwebcon/sample/processmonitoringcommand/
アプリケーション定義ファイル記述例(監視対象ホストがWindowsで,1つのアプリケーション定義を記述する場合)
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <!DOCTYPE pr-cli-parameters SYSTEM "processmonitoring_params.dtd"> <pr-cli-parameters ver="0100"> <application-definition> <name>PFM - Agent</name> <virtual-env-id></virtual-env-id> <process01 label="Health Check" type="program" max="1" min="0">jpcagt0*</process01> <process02 label="How many agents" type="commandline" max="65535" min="1">*\jp1pc\agt*\agent\jpcagt*</process02> <process03 label="RM service" type="service" max="1" min="0">JP1PCAGT_7A_*</process03> <process04 label="Monitoring04" type="none" max="0" min="0"></process04> <process05 label="Monitoring05" type="none" max="0" min="0"></process05> <process06 label="Monitoring06" type="none" max="0" min="0"></process06> <process07 label="Monitoring07" type="none" max="0" min="0"></process07> <process08 label="Monitoring08" type="none" max="0" min="0"></process08> <process09 label="Monitoring09" type="none" max="0" min="0"></process09> <process10 label="Monitoring10" type="none" max="0" min="0"></process10> <process11 label="Monitoring11" type="none" max="0" min="0"></process11> <process12 label="Monitoring12" type="none" max="0" min="0"></process12> <process13 label="Monitoring13" type="none" max="0" min="0"></process13> <process14 label="Monitoring14" type="none" max="0" min="0"></process14> <process15 label="Monitoring15" type="none" max="0" min="0"></process15> </application-definition> </pr-cli-parameters>
アプリケーション定義ファイル記述例(監視対象ホストがUNIXで,特定の仮想化環境で稼働するプロセスを監視する1つのアプリケーション定義を記述する場合)
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <!DOCTYPE pr-cli-parameters SYSTEM "processmonitoring_params.dtd"> <pr-cli-parameters ver="0100"> <application-definition> <name>PFM - Agent</name> <virtual-env-id>1</virtual-env-id> <process01 label="Health Check" type="program" max="1" min="0">jpcagt0*</process01> <process02 label="How many agents" type="commandline" max="65535" min="1">jpc*/jp1pc/agt*/agent*</process02> <process03 label="Monitoring03" type="none" max="0" min="0"></process03> <process04 label="Monitoring04" type="none" max="0" min="0"></process04> <process05 label="Monitoring05" type="none" max="0" min="0"></process05> <process06 label="Monitoring06" type="none" max="0" min="0"></process06> <process07 label="Monitoring07" type="none" max="0" min="0"></process07> <process08 label="Monitoring08" type="none" max="0" min="0"></process08> <process09 label="Monitoring09" type="none" max="0" min="0"></process09> <process10 label="Monitoring10" type="none" max="0" min="0"></process10> <process11 label="Monitoring11" type="none" max="0" min="0"></process11> <process12 label="Monitoring12" type="none" max="0" min="0"></process12> <process13 label="Monitoring13" type="none" max="0" min="0"></process13> <process14 label="Monitoring14" type="none" max="0" min="0"></process14> <process15 label="Monitoring15" type="none" max="0" min="0"></process15> </application-definition> </pr-cli-parameters>
アプリケーション定義ファイル記述例(監視対象ホストがWindowsで,PFM - ManagerおよびPFM - Web Consoleのプロセスを監視する2つのアプリケーション定義を記述する場合)
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pr-cli-parameters SYSTEM "processmonitoring_params.dtd"> <pr-cli-parameters ver="0100"> <application-definition> <name>PFM - Manager</name> <virtual-env-id></virtual-env-id> <process01 label="jpcah" max="65535" min="1" type="program">jpcah.exe</process01> <process02 label="jpcagt0" max="65535" min="1" type="program">jpcagt0.exe</process02> <process03 label="jpcep" max="65535" min="1" type="program">jpcep.exe</process03> <process04 label="jpcmm" max="65535" min="1" type="program">jpcmm.exe</process04> <process05 label="jpcnsvr" max="65535" min="1" type="program">jpcnsvr.exe</process05> <process06 label="jpcstatsvr" max="65535" min="1" type="program">jpcstatsvr.exe</process06> <process07 label="jpcsto" max="65535" min="2" type="program">jpcsto.exe</process07> <process08 label="jpctrap" max="65535" min="1" type="program">jpctrap.exe</process08> <process09 label="jpcvsvr" max="65535" min="1" type="program">jpcvsvr.exe</process09> <process10 label="Monitoring10" max="0" min="0" type="none"></process10> <process11 label="Monitoring11" max="0" min="0" type="none"></process11> <process12 label="Monitoring12" max="0" min="0" type="none"></process12> <process13 label="Monitoring13" max="0" min="0" type="none"></process13> <process14 label="Monitoring14" max="0" min="0" type="none"></process14> <process15 label="Monitoring15" max="0" min="0" type="none"></process15> </application-definition> <application-definition> <name>PFM - Web Console</name> <virtual-env-id></virtual-env-id> <process01 label="jpcwebcon" max="65535" min="1" type="program">jpcwebcon.exe</process01> <process02 label="cjstartsv" max="65535" min="1" type="program">cjstartsv.exe</process02> <process03 label="cprfd" max="65535" min="1" type="program">cprfd.exe</process03> <process04 label="httpsd" max="65535" min="2" type="program">httpsd.exe</process04> <process05 label="rotatelogs2" max="65535" min="4" type="program">rotatelogs2.exe</process05> <process06 label="Monitoring06" max="0" min="0" type="none"></process06> <process07 label="Monitoring07" max="0" min="0" type="none"></process07> <process08 label="Monitoring08" max="0" min="0" type="none"></process08> <process09 label="Monitoring09" max="0" min="0" type="none"></process09> <process10 label="Monitoring10" max="0" min="0" type="none"></process10> <process11 label="Monitoring11" max="0" min="0" type="none"></process11> <process12 label="Monitoring12" max="0" min="0" type="none"></process12> <process13 label="Monitoring13" max="0" min="0" type="none"></process13> <process14 label="Monitoring14" max="0" min="0" type="none"></process14> <process15 label="Monitoring15" max="0" min="0" type="none"></process15> </application-definition> </pr-cli-parameters>
注意事項
-
このコマンドは,実行時にPFM - Managerに対する認証が必要です。認証用のキーファイルを作成していない場合は,コマンドを実行する前に,jpcmkkeyコマンドで認証用のキーファイルを作成してください。各タグの指定値は,各PFM - AgentまたはPFM - RMマニュアルの「パフォーマンスデータの収集の設定」に関する注意に従って設定してください。
-
同じエージェントに対して,jpcprocdef createコマンドと,PFM - Web Consoleの[プロセス監視の設定]画面からの編集を同時に実行しないでください。同時に実行した場合,それぞれのアプリケーション定義の内容が部分的にしか反映されません。この現象が発生した場合は,再度jpcprocdef createコマンドを実行して,アプリケーション定義の内容を更新してください。
-
このコマンドはPFM - Managerおよび設定対象のPFM - AgentまたはPFM - RMのサービスが起動した状態で実行してください。
戻り値
0 |
正常終了した。 |
1 |
コマンドラインの形式が不正である。 |
2 |
コマンドの実行権限がない。 |
4 |
コマンドの引数が不正である。 |
5 |
入力ファイルのXML書式が不正である。 |
10 |
入力ファイルの定義内容が不正である。 |
11 |
PFM - Managerへの認証処理に失敗した。または,jpcmkkeyで作成されたユーザーに実行権限がない。 |
80 |
-noquery指定なし時の確認に対して,「Y」または「y」以外を指定して中断させた。 |
100 |
Performance Managementの環境が不正である。 |
141 |
アプリケーション定義が64個を超えている。 |
144 |
コマンドの実行に失敗した。 コマンドの実行によって,入力ファイルに指定されたアプリケーション定義が不正な状態である。 |
200 |
メモリーが不足している。 |
202 |
入力ファイルにアクセスできない。 |
222 |
通信処理でエラーが発生した。 |
224 |
エージェントに接続できない。 |
225 |
エージェントがない。 |
226 |
エージェントがサポート対象外である。 |
227 |
接続先PFM - Managerがサポート対象外である。 |
228 |
接続先PFM - Managerに対象エージェントがセットアップされていない。 |
255 |
予期しないエラーが発生した。 |
使用例1
エージェント「TA1hostpfm」にアプリケーション定義ファイルappdef.xmlに記述した定義内容を設定する場合のコマンドの実行例を次に示します。
jpcprocdef create -agent TA1hostpfm -f appdef.xml
使用例2
エージェント「TA1hostpfm」に設定しているアプリケーション定義の内容をappdef.xmlに記述した定義内容で上書きし,ファイルに記載していない既存のアプリケーション定義をすべて削除する場合のコマンドの実行例を次に示します。
jpcprocdef create -agent TA1hostpfm -f appdef.xml -removeOthers -noquery
出力例
コマンド処理の詳細情報を標準出力,標準エラー出力,稼働状況ログファイルに出力します。ログ仕様については「5. Performance Managementで出力するログ情報」を参照してください。
上記「使用例2」の処理が成功した場合の標準出力の出力例を次に示します。引数で指定したサービスIDの実行結果を表示します(OKまたはERR)。
標準出力の出力例
jpcprocdef create connected to localhost at yyyy MM dd HH:MM:SS.mmm KAVJK6518-I 上書き対象となるアプリケーション定義がひとつ以上あります。 KAVJK6521-I 削除対象となるアプリケーション定義がひとつ以上あります。 KAVJK6504-I アプリケーション定義の更新処理を続行します。 create result OK : TA1hostpfm jpcprocdef create disconnected at yyyy MM dd HH:MM:SS.mmm