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