6.4.1 ユーザー独自のパフォーマンスデータ収集の機能概要
(1) ユーザー独自のパフォーマンスデータを収集する機能
この機能は,ユーザーがテキストファイルに出力した独自のパフォーマンスデータを,jpcuserコマンドによって,PFM - Agent for Platformが提供するレコード(PD_UPD,PD_UPDB,PI_UPI,PI_UPIB)に格納できる形式に変換する機能です。この機能を使用してユーザー独自のパフォーマンスデータを収集するためには,あらかじめ,パフォーマンスデータをテキストファイルに出力するためのコマンドを作成する必要があります。
ユーザー独自のパフォーマンスデータを収集する仕組みを,次の図を用いて説明します。
図6-1 ユーザー独自のパフォーマンスデータを収集する仕組み
![[図データ]](figure/zuu04009.gif)
図中の番号に従って処理の流れを説明します。
- ユーザーコマンドを実行して,ユーザー作成データを作成する。
アプリケーションから,プロセス名,プロセスID,プロセス数などのパフォーマンスデータを収集し,テキストファイルに出力します。このデータをユーザー作成データと呼びます。
ユーザー作成データを作成するには,あらかじめパフォーマンスデータを収集するスクリプトを作成する必要があります。これをユーザーコマンドと呼びます。
- jpcuserコマンドを実行して,ユーザー作成データを変換する。
jpcuserコマンドを実行して,ユーザー作成データをPFM - Agent for Platformが管理できるレコード形式に変換します。変換されたデータファイルをユーザーデータファイルと呼びます。
- PFM - Agent for Platformがレコードを収集するタイミングで,ユーザーデータファイルの内容がユーザーレコードに格納される。
PFM - Agent for Platformがユーザーデータファイルのデータを収集するよう,あらかじめPFM - Web Consoleで設定する必要があります。
定期的にパフォーマンスデータを収集したい場合は,ユーザーコマンド定期実行機能を利用して,ユーザーコマンドとjpcuserコマンドを自動実行するよう設定してください。
- 注意
- jpcuserコマンドの引数に指定するファイル,またはjpcuserコマンドを実行するバッチ,スクリプト内でファイルを出力する場合,インストール先ディレクトリ以外を指定してください。
(2) ユーザーコマンド定期実行機能
この機能は,cronなどのスケジュール機能を使用しないで,PFM - Agent for Platformからユーザーコマンドを一定間隔で実行する機能です。ユーザーコマンドからユーザーデータファイルを作成する仕組みは,「(1) ユーザー独自のパフォーマンスデータを収集する機能」と同じです。
ユーザーコマンド定期実行機能は,PFM - Agent for Platformがレコードを収集するタイミングで実行されます。レコードの収集処理が完了したあとに,ユーザーコマンドによってユーザーデータファイルが作成されるため,ユーザーデータファイルの収集処理と作成処理が競合することはありません。また,ユーザーコマンド定期実行機能は,ユーザーレコードのCollection Intervalの設定に従って実行されるため,履歴収集およびアラーム収集では実行されますが,リアルタイム収集では実行されません。ユーザーコマンド定期実行機能の処理の流れを次の図に示します。
図6-2 ユーザーコマンド定期実行機能の処理の流れ
![[図データ]](figure/zuu04010.gif)
ユーザーコマンド定期実行機能は,前回起動したユーザーコマンドが終了しているか判定し,実行中の場合はユーザーコマンドの処理をスキップします。
- 参考
- PFM - Web Consoleのバージョンが08-50より前の場合,ユーザーコマンド定期実行機能のプロパティを複数のPFM - Agentへ一括配布できません。
(3) ユーザーコマンド定期実行機能に関する注意事項
- 実行ファイル
- ユーザーコマンド定期実行機能で実行できるファイル形式を次に示します。
- 注※
- 実行属性が付加されている必要があります。
- アカウント
- ユーザーコマンド定期実行機能を実行する時のアカウントは,rootユーザー権限のアカウントです。次のファイルおよびリソースについては,rootユーザー権限のアカウントでアクセスできるようにしてください。
- ユーザーコマンド定期実行機能で指定するファイル(ユーザーコマンド)
- ファイル(ユーザーコマンド)から参照または更新するリソース
- また,NFSマウントのディレクトリにあるファイルを実行する場合は,そのホストのrootユーザー権限でアクセスできるようにしてください。
- 環境変数
- ユーザーコマンド定期実行機能を実行する時に有効な環境変数は,Performance Managementプログラムのサービス起動時の,rootユーザー権限の環境変数です。ユーザーコマンド定期実行機能を実行する時にはプロファイル情報を読み込みません。
- カレントディレクトリ
- ユーザーコマンド定期実行機能を実行する時のカレントディレクトリは,PFM - Agent for Platformサービスのディレクトリ(/opt/jp1pc/agtu/agent)です。
- ファイルのumask
- ユーザーコマンド定期実行機能を実行する時のumaskは,「000」に設定されます(ファイル権限は「777」です)。umaskを変更する場合は,実行するスクリプトファイルまたはプログラム中でumaskを再設定してください。
- その他の注意事項
- 対話操作を必要とするプログラムは実行できません。
- 対話環境が前提であるstty,tty,tset,scriptコマンドを含むプログラムは実行できません。
- 常駐プログラム(終了しないプログラム)は実行できません。
- 実行属性が付加されていないプログラムは実行できません。
- ディスクの準備ができていないリムーバブルディスク上のプログラムを設定しないでください。
- 実行したプログラムの標準出力や標準エラー出力の内容は取得できません。
- 実行するプログラムからファイル出力を行う場合は,出力先のファイルを絶対パスで指定してください。絶対パスを指定しない場合は,PFM - Agent for Platformサービスのディレクトリ(/opt/jp1pc/agtu/agent)がカレントディレクトリになります。