4.2.4 ユーザー独自のパフォーマンスデータ収集の設定

ユーザー独自のパフォーマンスデータを収集する機能の概要と,設定方法について説明します。

<この項の構成>
(1) 機能概要
(2) 設定手順
(3) ユーザー独自のパフォーマンスデータの収集例
(4) jpcuserコマンドの形式
(5) ユーザー作成データのファイル形式
(6) デバッグログ

(1) 機能概要

ユーザー独自のパフォーマンスデータを収集する機能およびユーザーコマンド定期実行機能について説明します。

(a) ユーザー独自のパフォーマンスデータを収集する機能

この機能は,ユーザーがテキストファイルに出力した独自のパフォーマンスデータを,jpcuserコマンドによって,PFM - Agent for Platformが提供するレコード(PD_UPD,PD_UPDB,PI_UPI,PI_UPIB)に格納できる形式に変換する機能です。この機能を使用してユーザー独自のパフォーマンスデータを収集するためには,あらかじめ,パフォーマンスデータをテキストファイルに出力するためのコマンドを作成する必要があります。

ユーザー独自のパフォーマンスデータを収集する仕組みを,次の図を用いて説明します。

図4-2 ユーザー独自のパフォーマンスデータを収集する仕組み

[図データ]

図中の番号に従って処理の流れを説明します。

  1. ユーザーコマンドを実行して,ユーザー作成データを作成する。
    アプリケーションから,プロセス名,プロセスID,プロセス数などのパフォーマンスデータを収集し,テキストファイルに出力します。このデータをユーザー作成データと呼びます。
    ユーザー作成データを作成するには,あらかじめパフォーマンスデータを収集するスクリプトを作成する必要があります。これをユーザーコマンドと呼びます。
  2. jpcuserコマンドを実行して,ユーザー作成データを変換する。
    jpcuserコマンドを実行して,ユーザー作成データをPFM - Agent for Platformが管理できるレコード形式に変換します。変換されたデータファイルをユーザーデータファイルと呼びます。
  3. PFM - Agent for Platformがレコードを収集するタイミングで,ユーザーデータファイルの内容がユーザーレコードに格納される。
    PFM - Agent for Platformがユーザーデータファイルのデータを収集するよう,あらかじめPFM - Web Consoleで設定する必要があります。

定期的にパフォーマンスデータを収集したい場合は,ユーザーコマンド定期実行機能を利用して,ユーザーコマンドとjpcuserコマンドを自動実行するよう設定してください。

注意
jpcuserコマンドの引数に指定するファイル,またはjpcuserコマンドを実行するバッチ,スクリプト内でファイルを出力する場合,インストール先ディレクトリ以外を指定してください。

(b) ユーザーコマンド定期実行機能

この機能は,cronなどのスケジュール機能を使用しないで,PFM - Agent for Platformからユーザーコマンドを一定間隔で実行する機能です。ユーザーコマンドからユーザーデータファイルを作成する仕組みは,「(a) ユーザー独自のパフォーマンスデータを収集する機能」と同じです。

ユーザーコマンド定期実行機能は,PFM - Agent for Platformがレコードを収集するタイミングで実行されます。レコードの収集処理が完了したあとに,ユーザーコマンドによってユーザーデータファイルが作成されるため,ユーザーデータファイルの収集処理と作成処理が競合することはありません。また,ユーザーコマンド定期実行機能は,ユーザーレコードのCollection Intervalの設定に従って実行されるため,履歴収集およびアラーム収集では実行されますが,リアルタイム収集では実行されません。ユーザーコマンド定期実行機能の処理の流れを次の図に示します。

図4-3 ユーザーコマンド定期実行機能の処理の流れ

[図データ]

ユーザーコマンド定期実行機能は,前回起動したユーザーコマンドが終了しているか判定し,実行中の場合はユーザーコマンドの処理をスキップします。

参考
PFM - Web Consoleのバージョンが08-50より前の場合,ユーザーコマンド定期実行機能のプロパティを複数のPFM - Agentへ一括配布できません。

(c) ユーザーコマンド定期実行機能に関する注意事項

ユーザーコマンド定期実行機能についての注意事項を次に示します。

実行ファイル
ユーザーコマンド定期実行機能で実行できるファイル形式を次に示します。
  • 実行形式ファイル
  • シェルスクリプトファイル
注※
実行属性が付加されている必要があります。
アカウント
ユーザーコマンド定期実行機能を実行する時のアカウントは,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)がカレントディレクトリになります。

(2) 設定手順

ユーザー独自のパフォーマンスデータを収集するためには,次の手順で設定してください。

  1. フィールドに格納する情報を決定する。
  2. ユーザーコマンドを作成する。
  3. ユーザー独自のパフォーマンスデータを定期的に収集するための設定をする。
  4. ユーザーデータファイルを収集する設定をする。

各手順について次に説明します。

(a) フィールドに格納する情報を決定する

ユーザーレコードのフィールドには,キー情報とデータ情報を格納します。それぞれに格納する内容を検討してください。

●キー情報に格納する情報

ユーザー独自のパフォーマンスデータを格納するユーザーレコードは,一回の収集で複数行のレコードを記録できる複数インスタンスレコードです。同じユーザーレコード内で複数インスタンスレコードを一意に識別するためには,キー情報を設定する必要があります。jpcuserコマンドに複数のユーザー作成データファイルを同時に指定する場合,同時に指定したすべてのユーザー作成データファイルにわたって,レコードインスタンスを一意に識別するキー情報を設定する必要があります。キー情報の種類を次の表に示します。

表4-21 キー情報の種類

キー情報の種類フィールド名説明
トランザクションタイプTrans Typeインスタンスの種類を識別する。
トランザクションキーTrans Data Key(数値型)同一トランザクションタイプのインスタンスを識別する。
Trans String Key(文字列型)

トランザクションタイプは,複数のパフォーマンスデータを区別する場合に使います。例えば,データベースとWebサーバに関する情報をレコードに格納する場合,トランザクションタイプに「DATABASE」と「WEB」を格納するようにします。これによって,格納された情報が,データベースの情報であるか,Webサーバの情報であるかを区別できます。

トランザクションタイプが同じインスタンスが複数ある場合には,トランザクションキーを用いて区別します。Trans Data KeyまたはTrans String Keyを設定しなかったり,同じ値を設定したりして,レコードのインスタンスをユニークに識別できない場合は,最初のレコードのインスタンスが採用されます。

●データ情報に格納する情報

データ情報として,double型,long型,ulong型の3種類の数値データと,長さの異なる3種類の文字列データと,時間データを格納できます。格納できる数はユーザーレコードごとに異なります。なお,PIレコードタイプの数値データについては,集約ルールとして,平均,または累積のどちらかを選択できます。

収集するパフォーマンスデータに応じて,どのユーザーレコードを使用するかを選択してください。格納できる情報が多いユーザーレコードの方がメモリーなどを大量に消費するため,必要十分なユーザーレコードを選択してください。

ユーザーレコードごとのフィールド数を次の表に示します。

表4-22 ユーザーレコードごとのフィールド数

レコードタイプユーザーレコードの種類フィールド数
数値データ文字列データ時間データ
PDレコードタイプUser Data Detail(PD_UPD)2*3=61+2+4=71
User Data Detail - Extended(PD_UPDB)5*3=155+5+5=151
PIレコードタイプUser Data Interval(PI_UPI)4*3=121+2+4=71
User Data Interval - Extended(PI_UPIB)10*3=305+5+5=151

ユーザーレコードを選択する際の判断基準を次の表に示します。

表4-23 ユーザーレコードの選択基準

パフォーマンスデータの累積データを保持するか?保持するパフォーマンスデータの種類は多いか?推奨するユーザーレコード
YesNoPI_UPI
YesYesPI_UPIB
NoNoPD_UPD
NoYesPD_UPDB

(b) ユーザーコマンドを作成する

ユーザーコマンドは,パフォーマンスデータを収集しユーザー作成データを作成するためのスクリプトです。ユーザー作成データのファイル形式に従ってパフォーマンスデータを出力するようにスクリプトを記述してください。

ユーザー作成データのファイル書式については,「(5) ユーザー作成データのファイル形式」を参照してください。

なお,ユーザーコマンドで出力したユーザー作成データが正しいかどうかを確認する場合,jpcuserコマンドを次のように実行してください。

/opt/jp1pc/agtu/agent/jpcuser/jpcuser PI_UPI -file ユーザー作成データ -debug 1

上記コマンドを実行すると,次に示すデバッグログが生成されます。

/opt/jp1pc/agtu/agent/jpcuser/debug/jpcuser_dbg_01.log

デバッグログの内容を確認して,エラーが発生していないことを確認してください。

jpcuserコマンドの詳細については,「(4) jpcuserコマンドの形式」を参照してください。

(c) ユーザー独自のパフォーマンスデータを定期的に収集するための設定をする

ユーザーコマンド定期実行機能を使って,定期的にユーザー独自のパフォーマンスデータを収集するための設定方法を説明します。

  1. PFM - Web Consoleでユーザーレコードの収集設定を行う。
    ユーザーコマンド定期実行機能の実行間隔は,各ユーザーレコードのCollection Intervalの設定に依存します。
  2. PFM - Web Consoleでユーザーコマンド定期実行機能のプロパティを設定する。
    ユーザーコマンド定期実行機能を行うために,PFM - Web Consoleで各ユーザーレコードの次のプロパティを設定します。プロパティの設定方法は,PD_UPDレコード,PD_UPDBレコード,PI_UPIレコード,およびPI_UPIBレコードで共通です。

    図4-4 ユーザーコマンド定期実行機能のプロパティ

    [図データ]

    表4-24 ユーザーレコードのプロパティ設定

    プロパティ説明デフォルト値
    ExecuteYes/Noユーザーコマンド定期実行機能を実行するかどうか指定する。
    • Yes:実行する
    • No:実行しない
    No
    UserCommand絶対パスユーザーコマンドの絶対パスを指定する。絶対パスに指定できる文字列の最大長は255バイト。指定できる文字は,次の文字を除く,半角英数字および半角記号。
    | < >
    空白

    注1 「Execute」プロパティが「Yes」,「UserCommand」プロパティが空白の場合,KAVF10203-Wのメッセージが出力されユーザーコマンドは実行されません。

    注2 指定されたユーザーコマンドが存在しない場合,またはユーザーコマンドの実行権限がない場合は,KAVF10013-Wのメッセージが出力されます。


    参考
    UNIXのcronを使って,定期的にユーザー独自のパフォーマンスデータを収集することもできます。cronは,プログラムなどを指定した時刻と間隔で自動実行できるUNIXの機能です。ユーザーコマンド,およびjpcuserコマンドを続けて実行するシェルスクリプトを作成し,cronでそのシェルスクリプトを定期的に実行するように設定してください。

(d) ユーザーデータファイルを収集する設定をする

ユーザーデータファイルとは,jpcuserコマンドによって,ユーザー作成データをPFM - Agent for Platformが管理できるレコード形式に変換したデータファイルのことです。このユーザーデータファイルのデータは,PFM - Agent for Platformがレコードを収集するタイミングで,ユーザーレコードに格納されます。PFM - Agent for Platformがユーザーレコードを収集するように,PFM - Web Consoleで設定してください。

レコードの収集方法については,マニュアル「JP1/Performance Management 設計・構築ガイド」の,Performance Managementの機能について説明している章を参照してください。

(3) ユーザー独自のパフォーマンスデータの収集例

次の表に示す形式でプロセス情報を収集する例を示します。

表4-25 収集するパフォーマンスデータの例

オプション説明対応するフィールド名
ttトランザクションタイプTrans TypeTotalMemory
kiトランザクションキー(数値型)Trans Data KeyプロセスID
ss短い文字列User String 1プロセス名
u符号なしlong型User Unsigned Long 1メモリー使用量

(a) ユーザーコマンドの例

UNIXからプロセスの情報を取得し,ユーザー作成データを出力するユーザーコマンド(userapplication_script,userdata_script)の例を次に示します。

userapplication_scriptの例

#!/bin/ksh
echo "Product Name=PFM-Agent for Platform (UNIX)"
echo "FormVer=0001"
echo "tt ki ss u"
ps -eo pid,comm,vsz,rss | grep jpcagtu | awk '{ printf("TotalMemory %d %s %d¥n",$1,$2,$3+$4);}'

userdata_scriptの例

#!/bin/ksh
echo "Product Name=PFM-Agent for Platform (UNIX)"
echo "FormVer=0001"
echo "tt ks u u"
df -k |grep pshp02 |awk '{ printf("RemoteDisk %s %d %d¥n",$6,$3,$4);}'

上記ユーザーコマンドを実行したときのユーザー作成データを次に示します。

userapplication_scriptによって出力されるユーザー作成データの例

Product Name=PFM-Agent for Platform (UNIX)
FormVer=0001
tt ki ss u
TotalMemory 0 COMMAND 0
TotalMemory 0 sched 0
TotalMemory 1 /etc/init 1584
TotalMemory 2 pageout 0
TotalMemory 3 fsflush 0
TotalMemory 442 /usr/lib/saf/sac 2808
  :

userdata_scriptによって出力されるユーザー作成データの例

Product Name=PFM-Agent for Platform (UNIX)
FormVer=0001
tt ks u u
RemoteDisk /home1/jp1ps 67318256 4473056
RemoteDisk /home2/jp1ps 43867064 27738672
  :

参考

(b) 定期的に収集するためのシェルスクリプトの例

ユーザーコマンド定期実行機能を使って定期的に実行するためのシェルスクリプト(UserDefinedData.sh)の例を次に示します。

# 古いユーザー作成データの削除
rm -Rf  /opt/perfdata.txt /opt/userdata.txt
# ユーザー作成データの生成
/opt/userapplication_script >> /opt/perfdata.txt
/opt/userdata_script >> /opt/userdata.txt
# jpcuserコマンドによって変換
/opt/jp1pc/agtu/agent/jpcuser/jpcuser PD_UPD -file /opt/perfdata.txt -file /opt/userdata.txt

注※ -debug 2を指定すると,次のディレクトリにデバッグログが出力されます。

/opt/jp1pc/agtu/agent/jpcuser/debug/

参考
このシェルスクリプトをUNIXのcronを使って,1分おきに実行する場合の設定例を次に示します。
* * * * * /opt/UserDefinedData.sh

(4) jpcuserコマンドの形式

jpcuserコマンドの形式について説明します。

形式

jpcuser レコード名
       -file ユーザー作成データのファイル名1
       [-file ユーザー作成データのファイル名2]...
       [-debug [0|1|2]]

[ ]は,省略できることを示します。|は,複数の項目に対して項目間の区切りを示し,「または」の意味を示します。
機能
ユーザーコマンドによって出力した独自のパフォーマンスデータ(ユーザー作成データ)を,PFM - Agent for Platformが読み取れる形式のデータファイル(ユーザーデータファイル)に変換するコマンドです。
デバッグログを出力することで,ユーザー作成データの内容が正しいかどうかも確認できます。デバッグログの形式と見方については,「(6) デバッグログ」を参照してください。
このコマンド実行時にエラーが発生した場合は,エラーメッセージが/opt/jp1pc/agtu/agent/jpcuser/log/public/に出力されます。
実行権限
rootユーザー
格納先ディレクトリ
/opt/jp1pc/agtu/agent/jpcuser/
引数
コマンドラインの第一引数にはレコード名を指定してください。-fileオプションおよび-debugオプションは,順不同で指定できます。レコード名および-fileオプションは必ず指定してください。-debugオプションは省略できます。
レコード名
パフォーマンスデータを格納するユーザーレコード名を指定します。複数のレコード名を指定することはできません。
  • PD_UPD
  • PD_UPDB
  • PI_UPI
  • PI_UPIB
-file ユーザー作成データのファイル名
ファイル名を1,023バイト以内で指定します。ファイル名は複数指定でき,複数のユーザー作成データファイルを一つのユーザーデータファイルにまとめることができます。
ファイル名にワイルドカードは指定できません。
ファイル名は,カレントディレクトリ(コマンドの実行ディレクトリ)から見た相対パスで指定できます。
ユーザー作成データを複数読み込ませた場合,一つでも警告が発生すれば戻り値は「警告のある正常終了」,一つでもエラーが発生すれば戻り値は「異常終了またはエラー発生」になります。
-debug [0|1|2]
ユーザーデータファイル,およびデバッグログを出力するかどうかを値で指定します。このオプションは,ユーザー作成データの内容が正しいかどうかを確認する目的で使用します。このオプションは,一度だけしか設定できません。
-debug 1を指定した場合は,デバッグだけ行われます。ユーザーレコードを作成したい場合は,-debug 1以外を指定してください。
デバッグログにエラーが出力された場合は,ユーザーコマンドのスクリプトに誤りがあるおそれがあります。
このオプションを省略した場合は,デバッグログは出力されません。
このオプションに指定する値を次の表に示します。

表4-26 debugオプションに指定する値

ユーザーデータファイルの出力デバッグログの出力
0×
1×
2
上記以外の値×
指定しない×
(凡例)
○:出力する。
×:出力しない。
なお,ユーザーデータファイルは,/opt/jp1pc/agtu/agent/jpcuser/userdata配下のjpcuser_XXXを指します。XXXは,レコード形式のUPD,UPDB,UPI,またはUPIBに相当します。
デバッグログは,/opt/jp1pc/agtu/agent/jpcuser/debug配下のjpcuser_dbg_XX.logを指します。XXは,作成された順番を表します。デバッグログの出力例を次の表に示します。

表4-27 デバッグログの出力例

デバッグログファイル名説明
jpcuser_dbg_01.log最新のデバッグログファイル
jpcuser_dbg_02.log最新から一つ前のデバッグログファイル
jpcuser_dbg_03.log最新から二つ前のデバッグログファイル
・・・・・・
戻り値
0正常終了
1~100警告のある正常終了
101~255異常終了またはエラー発生

(5) ユーザー作成データのファイル形式

ユーザー作成データのファイル形式について説明します。パフォーマンスデータを収集するユーザーコマンドでは,この形式に従ってテキスト出力するようにしてください。

ユーザー作成データのファイルに出力する情報として,プロダクト情報セクションとデータセクションがあります。プロダクト情報セクションとデータセクションは,ユーザー作成データのファイルごとに作成してください。ユーザー作成データの構成例を次の図に示します。

図4-5 ユーザー作成データの構成例

[図データ]

(a) プロダクト情報セクション

製品名と,ユーザー作成データのファイル形式のバージョンを設定するセクションです。これらは固定値です。プロダクト情報セクションは内部機能で使用され,ユーザーレコードには格納されません。

形式を次に示します。

Product Name=PFM-Agent for Platform (UNIX)
FormVer=0001

注意
上記の指定方法について,「=」の前後などにスペースが含まれる場合はエラーとなります。また,指定する文字の大文字小文字および全角半角も区別されます。

(b) データセクション

パフォーマンスデータの情報を設定するセクションです。この情報は,プロダクト情報セクションの下に指定します。データセクションは,オプションヘッダー部とデータ部で構成されます。

●オプションヘッダー部

1行目はオプションヘッダー行です。フィールドオプションを1バイト以上のスペースまたはタブで区切ります。フィールドオプションは,ユーザーレコードのフィールドに対応します。

tt ks ki l ・・・

オプションと,対応するレコードのフィールド名を次の表に示します。「フィールド数」列のフィールド数を上限にそのオプションを複数指定できます。例えば,PI_UPIレコードでフィールドオプションに「ss」を複数指定する場合,項番10の「PI_UPI」列に「4」と表記されているので,PI_UPIレコードでは「ss ss ss ss」のように4個まで「ss」を指定できます。

表4-28 データセクションで指定するオプションと対応するフィールド

項番オプション名フィールド名値の説明フィールド数(合計)
PD_UPD(17)PD_UPDB(34)PI_UPI(23)PI_UPIB(49)
1ttTrans Typeトランザクションタイプ。このオプションは必ず指定する。※1
サイズ:1~19バイト
1111
2kiTrans Data Key数値型のトランザクションキー。kiまたはksのどちらかを必ず指定する。両方指定することもできる。
タイプ:ulong
指定できる文字:数値および記号(+)
1111
3ksTrans String Key文字列型のトランザクションキー。kiまたはksのどちらかを必ず指定する。両方指定することもできる。※1
サイズ:1~19バイト
1111
4fUser Float浮動小数点数※2
タイプ:double
2525
5fr※3User Float Roll累積値の浮動小数点数※2
タイプ:double
25
6lUser Long符号つきlong
タイプ:long
指定できる文字:数値および記号(- +)
2525
7lr※3User Long Roll累積値の符号つきlong
タイプ:long
指定できる文字:数値および記号(- +)
25
8slUser String(64)長い文字列※1
サイズ:1~63バイト + NULL
1515
9smUser String(32)中間の長さの文字列※1
サイズ:1~31バイト + NULL
2525
10ssUser String(16)短い文字列※1
サイズ:1~15バイト + NULL
4545
11tUser Time時刻(time_t型)
次の形式で指定する。
YYYY/MM/DD,hh:mm:ss
jpcuserコマンドを実行するマシンのLocalTimeを設定する。
1111
12uUser Unsigned Long符号なしlong
タイプ:ulong
指定できる文字:数値および記号(+)
2525
13ur※3User Unsigned Long Roll累積値の符号なしlong
タイプ:ulong
指定できる文字:数値および記号(+)
25
(凡例)
-:指定できない。
注※1
指定できる文字は,英文字(大文字,小文字),数値,空白,および記号(` ~ ! @ # $ % ^ & * ( ) _ + - = { } : ; < > , . ? / | ¥ [ ])です。
注※2
指定できる文字は,数値,および記号(- + .)です。
注※3
fr,lr,urを履歴収集したデータで集約して表示した場合は,累積値が表示されます。これらのオプションとki以外の数値オプションは平均値が表示されます。

なお,ユーザー作成データに複数のフィールドオプションを指定した場合は,ユーザーレコードの対象フィールドの連番順に割り当てられます。

例えば,PI_UPIBレコードでフィールドオプションに「lr」を3個指定する場合は,「lr lr lr」と指定します。この場合,「lr」はそれぞれ次のフィールドに割り当てられます。

また,「sl lr sl lr lr」のように指定した場合は,それぞれ次のフィールドに割り当てられます。

●データ部

2行目以降はデータ行です。データ行には,オプションヘッダー部に指定したフィールドオプションに対応するように,パフォーマンスデータそのものを指定します。各カラムは,1バイト以上のスペースまたはタブで区切ります。

データの並び順は,必ずフィールドオプションの型に合わせてください。

例えば,フィールドオプションに「tt ks lr lr ss ss」と指定した場合,次のデータの並び順では,すべての行がエラーとなります。

TCP jp1host "ESTABLISHD COUNT=" 5 "LISTENING COUNT=" 2
TCP jp1host "ESTABLISHD COUNT=" 3 "LISTENING COUNT=" 1
TCP jp1host "ESTABLISHD COUNT=" 3 "LISTENING COUNT=" 2

3列目と6列目のフィールドオプションとデータの型が一致していないことがエラーの原因です。

(c) 注意事項

(6) デバッグログ

デバッグログとは,ユーザー作成データの内容が正しいかどうかを確認するためのログファイルです。デバッグログを出力する場合には,jpcuserコマンドに-debug 1,または-debug 2オプションを指定して実行してください。

デバッグログファイルには,ユーザー作成データのデータ行ごとにOK(成功),NG(失敗),WG(警告)などのチェック結果が出力されます。デバッグログにNG(失敗)やWG(警告)が出力された場合,ユーザー作成データが不正であると考えられます。ユーザー作成データを出力したユーザーコマンドを見直し,「(5) ユーザー作成データのファイル形式」に従った形式で出力されるように修正してください。

デバッグログファイルの出力先を次に示します。

/opt/jp1pc/agtu/agent/jpcuser/debug/jpcuser_dbg_{01|02|03|04|05}.log

次に,デバッグログファイルの形式と見方について説明します。

(a) デバッグログファイルの形式

デバッグログファイルには四つのセクションがあります。

チェック結果はユーザー作成データのデータ行ごとに出力されます。各項目はコンマで区切ります。

出力される項目を次の表に示します。

表4-29 デバッグログファイルに出力される項目

項番セクション項目説明
1プロダクト情報製品名称Product Name=PFM-Agent for Platform (UNIX)PFM - Agentの製品名称。
2フォーマットバージョンFormVer=0001ユーザー作成データのフォーマットバージョン。
3jpcuserコマンドの実行日時,プロセスID実行日時YYYY/MM/DD hh:mm:ssYYYY:年
MM:月
DD:日
hh:時
mm:分
ss:秒
4プロセスIDPID=xxxxjpcuserコマンドのプロセスID
5ヘッダー行ヘッダー(例)PD_UPDレコードの場合
LineNumber,Result,APITime,Recordtype,Transactiontype,t,ks,ki,L1,L2,UL1,UL2,F1,F2,SS1,SS2,SS3,SS4,SM1,SM2,SL1
デバッグログのヘッダー。
ヘッダー名は,ユーザー作成データファイルのオプションヘッダー行で指定するフィールドオプション,およびフィールド名と対応している。対応については表4-30を参照。
なお,ヘッダー項目は格納するユーザーレコードによって異なる。
6チェック結果ユーザー作成データファイル名(例)File=/opt/jp1pc/agtu/agent/jpcuser/sample_01.txt読み込んだユーザー作成データファイル名を,ユーザーが指定したパスで出力する。
7警告・エラーメッセージKAVFxxxxx-x後続するレコードの警告・エラー内容を出力する。一つのレコードに複数の誤りがある場合は,その数だけ警告やエラーを出力する。
8行番号数値ユーザー作成データ内の行番号。
9結果OK成功。
ユーザー作成データの該当行に問題がなく,レコードを変換した。
10WG警告。
ユーザー作成データの該当行に誤りがあるが,レコードを処理した。
あわせて警告メッセージを出力する。
11NG失敗。
ユーザー作成データの該当行に誤りがあり,レコードを変換しなかった。
失敗した原因によって,警告メッセージが表示され処理が続行される場合と,エラーメッセージが表示され処理が中断する場合がある。
12BL空行。
ユーザー作成データの該当行が空行であることを示し,無視する。
13データデータユーザー作成データの該当行の内容。
数値フィールドに指定がない場合は0を出力する。
文字列フィールドに指定がない場合は空白("")を出力する。

デバッグログファイルに出力されるヘッダー行とユーザー作成データファイルのオプションヘッダー行で指定するフィールドオプション,およびフィールド名の関係を次の表に示します。

表4-30 デバッグログのヘッダー行と,フィールドオプションおよびフィールドとの対応

項番デバッグログのヘッダー行の表示ユーザー作成データファイルのオプションヘッダー行で指定するフィールドオプションフィールド名
(PFM - View名)
説明
1Line Numberデータの行番号
2Resultデータのチェック結果
3API TimeCollect Timeデータが変換された時間
4Record typeRecord Typeレコード種別
5Transaction typettTrans Typeトランザクションタイプ
6ttUser Time 1時間値
7ksksTrans String Key文字列型のトランザクションキー
8kikiTrans Data Key数値型のトランザクションキー
9L1lUser Long 1long型整数値
10L2lUser Long 2long型整数値
11L3lUser Long 3long型整数値
12L4lUser Long 4long型整数値
13L5lUser Long 5long型整数値
14L1RlrUser Long Roll 1蓄積されたlong型整数値
15L2RlrUser Long Roll 2蓄積されたlong型整数値
16L3RlrUser Long Roll 3蓄積されたlong型整数値
17L4RlrUser Long Roll 4蓄積されたlong型整数値
18L5RlrUser Long Roll 5蓄積されたlong型整数値
19UL1uUser Unsigned Long 1unsigned long型整数値
20UL2uUser Unsigned Long 2unsigned long型整数値
21UL3uUser Unsigned Long 3unsigned long型整数値
22UL4uUser Unsigned Long 4unsigned long型整数値
23UL5uUser Unsigned Long 5unsigned long型整数値
24UL1RurUser Unsigned Long Roll 1蓄積されたunsigned long型整数値
25UL2RurUser Unsigned Long Roll 2蓄積されたunsigned long型整数値
26UL3RurUser Unsigned Long Roll 3蓄積されたunsigned long型整数値
27UL4RurUser Unsigned Long Roll 4蓄積されたunsigned long型整数値
28UL5RurUser Unsigned Long Roll 5蓄積されたunsigned long型整数値
29F1fUser Float 1浮動小数点値
30F2fUser Float 2浮動小数点値
31F3fUser Float 3浮動小数点値
32F4fUser Float 4浮動小数点値
33F5fUser Float 5浮動小数点値
34F1RfrUser Float Roll 1蓄積された浮動小数点値
35F2RfrUser Float Roll 2蓄積された浮動小数点値
36F3RfrUser Float Roll 3蓄積された浮動小数点値
37F4RfrUser Float Roll 4蓄積された浮動小数点値
38F5RfrUser Float Roll 5蓄積された浮動小数点値
39SS1ssUser String 1サイズ16の文字列
40SS2ssUser String 2サイズ16の文字列
41SS3ssUser String 3サイズ16の文字列
42SS4ssUser String 4サイズ16の文字列
43SS5ssUser String 5サイズ16の文字列
44SM1smPD_UPD,PI_UPIレコードではUser String 5
PD_UPDB,PI_UPIBレコードではUser String 6
サイズ32の文字列
45SM2smPD_UPD,PI_UPIレコードではUser String 6
PD_UPDB,PI_UPIBレコードではUser String 7
サイズ32の文字列
46SM3smUser String 8サイズ32の文字列
47SM4smUser String 9サイズ32の文字列
48SM5smUser String 10サイズ32の文字列
49SL1slPD_UPD,PI_UPIレコードではUser String 7
PD_UPDB,PI_UPIBレコードではUser String 11
サイズ64の文字列
50SL2slUser String 12サイズ64の文字列
51SL3slUser String 13サイズ64の文字列
52SL4slUser String 14サイズ64の文字列
53SL5slUser String 15サイズ64の文字列
(凡例)
-:該当しない。

(b) デバッグログファイルの出力例

デバッグログファイルの出力例を次の図に示します。

図4-6 デバッグログファイルの出力例

[図データ]

図中の番号に沿って説明します。

  1. この行は,ヘッダー行を示しています。
  2. 読み込んだユーザー作成データのファイル名が,ユーザーが指定したパスで表示されています。
  3. この行から,ユーザー作成データのチェック結果が出力されます。先頭の「4」は,ユーザー作成データファイルの行数です。ユーザー作成データファイルは,1行目が製品情報,2行目がバージョン情報,3行目がオプションヘッダー行となっているため,通常は「4」から始まります。チェック結果が問題なければ,「Result」に「OK」が出力されます。
  4. 読み込んだユーザー作成データのファイル名が,ユーザーが指定したパスで表示されています。
  5. この行は,sample_02.txtの4行目に警告が発生していることを示しています。設定された「t」の値(2007/02/24,10:10:010)が,指定のフォーマットと合っていないため警告となり,図中(7)に該当する行の「t」が「n/a」になっています。
  6. この行も同じく,sample_02.txtの4行目に警告が発生していることを示しています。「ss」が規定バイト数の15バイトを超えているため警告が出力され,図中(7)に該当する行の「SS1」が「abcdefghijklmno」になっています。
  7. 図中(5)と(6)の警告が発生しているため,4行目のチェック結果「Result」に「WG」が出力されています。
  8. この行は,5行目と6行目が,空白であることを示しています。
  9. この行は,7行目で警告が発生していることを示しています。設定された「ks」が規定の19バイトを超えているため,警告が出力されています。
  10. ユーザー作成データファイルの7行目のユニークキーである「ks」が誤っているためこのデータは使用できず,「Result」が「NG」になっています。ユニークキーである「Transaction type」,「ks」,「ki」が不正なレコードは処理されません。