ユーザー独自のパフォーマンスデータを収集するためには,次の手順で設定してください。
各手順について次に説明します。
ユーザーレコードのフィールドには,キー情報とデータ情報を格納します。それぞれに格納する内容を検討してください。
ユーザー独自のパフォーマンスデータを格納するユーザーレコードは,一回の収集で複数行のレコードを記録できる複数インスタンスレコードです。同じユーザーレコード内で複数インスタンスレコードを一意に識別するためには,キー情報を設定する必要があります。jpcuserコマンドに複数のユーザー作成データファイルを同時に指定する場合,同時に指定したすべてのユーザー作成データファイルにわたって,レコードインスタンスを一意に識別するキー情報を設定する必要があります。キー情報の種類を次の表に示します。
表5-19 キー情報の種類
キー情報の種類 | フィールド名 | 説明 |
---|---|---|
トランザクションタイプ | Trans Type | インスタンスの種類を識別する。 |
トランザクションキー | Trans Data Key(数値型) | 同一トランザクションタイプのインスタンスを識別する。 |
Trans String Key(文字列型) |
トランザクションタイプは,複数のパフォーマンスデータを区別する場合に使います。例えば,データベースとWebサーバに関する情報をレコードに格納する場合,トランザクションタイプに「DATABASE」と「WEB」を格納するようにします。これによって,格納された情報が,データベースの情報であるか,Webサーバの情報であるかを区別できます。
トランザクションタイプが同じインスタンスが複数ある場合には,トランザクションキーを用いて区別します。Trans Data KeyまたはTrans String Keyを設定しなかったり,同じ値を設定したりして,レコードのインスタンスをユニークに識別できない場合は,最初のレコードのインスタンスが採用されます。
データ情報として,double型,long型,ulong型の3種類の数値データと,長さの異なる3種類の文字列データと,時間データを格納できます。格納できる数はユーザーレコードごとに異なります。なお,PIレコードタイプの数値データについては,集約ルールとして,平均,または累積のどちらかを選択できます。
収集するパフォーマンスデータに応じて,どのユーザーレコードを使用するかを選択してください。格納できる情報が多いユーザーレコードの方がメモリーなどを大量に消費するため,必要十分なユーザーレコードを選択してください。
ユーザーレコードごとのフィールド数を次の表に示します。
表5-20 ユーザーレコードごとのフィールド数
レコードタイプ | ユーザーレコードの種類 | フィールド数 | ||
---|---|---|---|---|
数値データ | 文字列データ | 時間データ | ||
PDレコードタイプ | User Data Detail(PD_UPD) | 2*3=6 | 1+2+4=7 | 1 |
User Data Detail - Extended(PD_UPDB) | 5*3=15 | 5+5+5=15 | 1 | |
PIレコードタイプ | User Data Interval(PI_UPI) | 4*3=12 | 1+2+4=7 | 1 |
User Data Interval - Extended(PI_UPIB) | 10*3=30 | 5+5+5=15 | 1 |
ユーザーレコードを選択する際の判断基準を次の表に示します。
表5-21 ユーザーレコードの選択基準
パフォーマンスデータの累積データを保持するか? | 保持するパフォーマンスデータの種類は多いか? | 推奨するユーザーレコード |
---|---|---|
Yes | No | PI_UPI |
Yes | Yes | PI_UPIB |
No | No | PD_UPD |
No | Yes | PD_UPDB |
ユーザーコマンドは,パフォーマンスデータを収集しユーザー作成データを作成するためのスクリプトです。ユーザー作成データのファイル形式に従ってパフォーマンスデータを出力するようにスクリプトを記述してください。
ユーザー作成データのファイル書式については,「5.8.4 ユーザー作成データのファイル形式」を参照してください。
なお,ユーザーコマンドで出力したユーザー作成データが正しいかどうかを確認する場合,jpcuserコマンドを次のように実行してください。
インストール先フォルダ¥agtt¥agent¥jpcuser¥jpcuser PI_UPI -file ユーザー作成データ -debug 1
上記コマンドを実行すると,次に示すデバッグログが生成されます。
インストール先フォルダ¥agtt¥agent¥jpcuser¥debug¥jpcuser_dbg_01.log
デバッグログの内容を確認して,エラーが発生していないことを確認してください。
jpcuserコマンドの詳細については,「5.8.3 jpcuserコマンドの形式」を参照してください。
ユーザーコマンド定期実行機能を使って,定期的にユーザー独自のパフォーマンスデータを収集するための設定方法を説明します。
図5-4 ユーザーコマンド定期実行機能のプロパティ
表5-22 ユーザーレコードのプロパティ設定
プロパティ | 値 | 説明 | デフォルト値 |
---|---|---|---|
Execute | Yes/No | ユーザーコマンド定期実行機能を実行するかどうか指定する。
| No |
UserCommand | 絶対パス | ユーザーコマンドの絶対パスを指定する。絶対パスに指定できる文字列の最大長は255バイト。指定できる文字は,次の文字を除く,半角英数字および半角記号。 | < > | 空白 |
注1 「Execute」プロパティが「Yes」,「UserCommand」プロパティが空白の場合,KAVF11318-Wのメッセージが出力されユーザーコマンドは実行されません。
注2 指定されたユーザーコマンドが存在しない場合,またはユーザーコマンドの実行権限がない場合は,KAVF11007-Wのメッセージが出力されます。
ユーザーデータファイルとは,jpcuserコマンドによって,ユーザー作成データをPFM - Agent for Platformが管理できるレコード形式に変換したデータファイルのことです。このユーザーデータファイルのデータは,PFM - Agent for Platformがレコードを収集するタイミングで,ユーザーレコードに格納されます。PFM - Agent for Platformがユーザーレコードを収集するように,PFM - Web Consoleで設定してください。
レコードの収集方法については,マニュアル「JP1/Performance Management 設計・構築ガイド」の,Performance Managementの機能について説明している章を参照してください。
次の表に示す形式でプロセス情報をPI_UPIレコードに収集する例を示します。
表5-23 収集するパフォーマンスデータの例
オプション | 説明 | 対応するフィールド名 | 値 |
---|---|---|---|
tt | トランザクションタイプ | Trans Type | PROCESS |
ki | トランザクションキー(数値型) | Trans Data Key | プロセスID |
ks | トランザクションキー(文字列型) | Trans String Key | プロセス名 |
u | 符号なしlong型 | User Unsigned Long 1 | スレッド数 |
Windowsからプロセスの情報を取得し,ユーザー作成データを出力するユーザーコマンド(userproc1.vbs,userproc2.vbs)の例を次に示します。
'ヘッダー出力
WScript.Echo "Product Name=PFM-Agent for Platform (Windows)"
WScript.Echo "FormVer=0001"
'オプションヘッダー出力
WScript.Echo "tt ki ks u"
'プロセス一覧を取得し,その内容を出力:注)空白を含む文字列は,Chr(34)で囲む。
for each Process in GetObject("winmgmts:").InstancesOf("win32_process")
WScript.Echo "Process", Process.ProcessId, Chr(34) & Process.Name & Chr(34), Process.ThreadCount
next
'ヘッダー出力
WScript.Echo "Product Name=PFM-Agent for Platform (Windows)"
WScript.Echo "FormVer=0001"
'オプションヘッダー出力
WScript.Echo "tt u"
'物理メモリーの合計を取得し,その内容を出力
for each Memory in GetObject("winmgmts:").InstancesOf("Win32_LogicalMemoryConfiguration")
WScript.Echo "TotalPhysicalMemory", Memory.TotalPhysicalMemory
next
上記ユーザーコマンドを実行したときのユーザー作成データを次に示します。
Product Name=PFM-Agent for Platform (Windows)
FormVer=0001
tt ki ks u
Process 0 "System Idle Process" 1
Process 8 "System" 41
Process 172 "SMSS.EXE" 6
Process 200 "CSRSS.EXE" 12
Process 196 "WINLOGON.EXE" 19
Process 248 "SERVICES.EXE" 41
Product Name=PFM-Agent for Platform (Windows)
FormVer=0001
tt u
TotalPhysicalMemory 1048052
ユーザーコマンド定期実行機能を使って定期的に実行するためのバッチファイル(userperf.bat)の例を次に示します。
REM フォルダの移動
cd C:¥Program Files¥Hitachi¥jp1pc¥agtt¥agent¥jpcuser
REM ユーザー作成データの生成
cscript //nologo userproc1.vbs > UPI1.txt
cscript //nologo userproc2.vbs > UPI2.txt
REM jpcuserコマンドによってユーザー作成データをレコード形式に変換
jpcuser PI_UPI -file UPI1.txt -file UPI2.txt※
なお,バッチファイル(userperf.bat)とVBスクリプトは次の場所に格納してください。
C:¥Program Files¥Hitachi¥jp1pc¥agtt¥agent¥jpcuser