5.8.1 ユーザー独自のパフォーマンスデータ収集の機能概要
(1) ユーザー独自のパフォーマンスデータを収集する機能
この機能は,ユーザーがテキストファイルに出力した独自のパフォーマンスデータを,jpcuserコマンドによって,PFM - Agent for Platformが提供するレコード(PD_UPD,PD_UPDB,PI_UPI,PI_UPIB)に格納できる形式に変換する機能です。この機能を使用してユーザー独自のパフォーマンスデータを収集するためには,あらかじめ,パフォーマンスデータをテキストファイルに出力するためのコマンドを作成する必要があります。
ユーザー独自のパフォーマンスデータを収集する仕組みを,次の図を用いて説明します。
図5-2 ユーザー独自のパフォーマンスデータを収集する仕組み
![[図データ]](figure/zu03008.gif)
図中の番号に従って処理の流れを説明します。
- ユーザーコマンドを実行して,ユーザー作成データを作成する。
アプリケーションから,プロセス名,プロセスID,プロセス数などのパフォーマンスデータを収集し,テキストファイルに出力します。このデータをユーザー作成データと呼びます。
ユーザー作成データを作成するには,あらかじめパフォーマンスデータを収集するスクリプトを作成する必要があります。これをユーザーコマンドと呼びます。
- jpcuserコマンドを実行して,ユーザー作成データを変換する。
jpcuserコマンドを実行して,ユーザー作成データをPFM - Agent for Platformが管理できるレコード形式に変換します。変換されたデータファイルをユーザーデータファイルと呼びます。
- PFM - Agent for Platformがレコードを収集するタイミングで,ユーザーデータファイルの内容がユーザーレコードに格納される。
PFM - Agent for Platformがユーザーデータファイルのデータを収集するよう,あらかじめPFM - Web Consoleで設定する必要があります。
定期的にパフォーマンスデータを収集したい場合は,ユーザーコマンド定期実行機能を利用して,ユーザーコマンドとjpcuserコマンドを自動実行するよう設定してください。
- 注意
- jpcuserコマンドの引数に指定するファイル,またはjpcuserコマンドを実行するバッチ,スクリプト内でファイルを出力する場合,インストール先フォルダ以外を指定してください。
- Windows Server 2008の環境で,ユーザーコマンドからjpcuserコマンドを直接実行する場合は,Administrators権限を持つユーザーからユーザーコマンドを実行してください。
(2) ユーザーコマンド定期実行機能
この機能は,タスクスケジューラーなどのスケジュール機能を使用しないで,PFM - Agent for Platformからユーザーコマンドを一定間隔で実行する機能です。ユーザーコマンドからユーザーデータファイルを作成する仕組みは,「(1) ユーザー独自のパフォーマンスデータを収集する機能」と同じです。
ユーザーコマンド定期実行機能は,PFM - Agent for Platformがレコードを収集するタイミングで実行されます。レコードの収集処理が完了したあとに,ユーザーコマンドによってユーザーデータファイルが作成されるため,ユーザーデータファイルの収集処理と作成処理が競合することはありません。また,ユーザーコマンド定期実行機能は,ユーザーレコードのCollection Intervalの設定に従って実行されるため,履歴収集およびアラーム収集では実行されますが,リアルタイム収集では実行されません。ユーザーコマンド定期実行機能の処理の流れを次の図に示します。
図5-3 ユーザーコマンド定期実行機能の処理の流れ
![[図データ]](figure/zu03010.gif)
ユーザーコマンド定期実行機能は,前回起動したユーザーコマンドが終了しているか判定し,実行中の場合はユーザーコマンドの処理をスキップします。
- 参考
- PFM - Web Consoleのバージョンが08-50より前の場合,ユーザーコマンド定期実行機能のプロパティを複数のPFM - Agentへ一括配布できません。
(3) ユーザーコマンド定期実行機能に関する注意事項
- 実行ファイル
- ユーザーコマンド定期実行機能で実行できるファイル形式を次に示します。
- EXE形式:実行形式ファイル
- COM形式:実行形式(コマンド)ファイル
- BAT形式:バッチファイル
- DELやDIRなどの内部コマンドをジョブとして実行する場合は,バッチファイルを作成し,バッチファイル内のコマンドとして実行してください。
- アカウント
- ユーザーコマンド定期実行機能を実行する時のアカウントは,システムアカウントです。次のファイルおよびリソースについては,システムアカウントでアクセスできるようにしてください。
- ユーザーコマンド定期実行機能で指定するファイル(ユーザーコマンド)
- ファイル(ユーザーコマンド)から参照または更新するリソース
- 環境変数
- ユーザーコマンド定期実行機能を実行する時に有効な環境変数は,Performance Managementプログラムのサービス起動時のシステム環境変数です。ユーザーコマンド定期実行機能を実行する時にはプロファイル情報を読み込みません。
- カレントフォルダ
- ユーザーコマンド定期実行機能を実行する時のカレントフォルダは,PFM - Agent for Platformサービスのフォルダ(インストール先フォルダ¥jp1pc¥agtt¥agent)です。
- その他の注意事項
- Win16ビットアプリケーションは実行できません。
- WindowsのSysWOW64システムフォルダ配下にあるコマンドをユーザーコマンド定期実行機能に指定する場合は,絶対パスで指定してください。
- ウィンドウやダイアログボックスを表示するプログラムは実行できません。ただし,net sendコマンドを実行してダイアログボックスを表示することはできます。これは,net sendコマンドがダイアログボックスを表示するのではなく,WindowsのMessengerサービスが表示するためです。
- Windowsメッセージ機構(DDE)を利用したプログラムは実行できません。
- 対話操作を必要とするプログラムは実行できません。
- 常駐プログラム(終了しないプログラム)は実行できません。
- アプリケーションに関連づいている拡張子を持つプログラムは実行できません。
- ネットワークフォルダ上にあるプログラムは実行できません。
- ディスクの準備ができていないリムーバブルディスク上のプログラムを設定しないでください。
- Windowsサービスの起動設定で,デスクトップとの対話を許可する設定をしないでください。
- 実行したプログラムの標準出力や標準エラー出力の内容は取得できません。
- 実行するプログラムからファイル出力を行う場合は,出力先のファイルを絶対パスで指定してください。絶対パスを指定しない場合は,PFM - Agent for Platformサービスのフォルダ(インストール先フォルダ¥jp1pc¥agtt¥agent)がカレントフォルダになります。
- 実行するコマンドのパスに空白を含む場合は,パスを" "で囲んでください。