3.1.6 利用ポート情報の収集例
PFM - Agent for Platformでは,ユーザーがテキストファイルに出力した独自のパフォーマンスデータ(ユーザー作成データ)を,PFM - Agent for Platformが提供するレコードに格納できる形式(ユーザーデータファイル)に変換する機能を提供しています。ユーザー独自のパフォーマンスデータの詳細については,「7.4 ユーザー独自のパフォーマンスデータの収集に関する設定」を参照してください。
ここでは,ユーザー独自のパフォーマンスデータとして利用ポート情報をPI_UPIBレコードに収集する例を示します。利用ポート情報は,次の表に示す形式で格納するものとします。
オプション |
値 |
---|---|
tt |
"TCP"。 |
ks |
ホスト名。 |
lr |
ホストが持つTCPポートの総数。 |
lr |
ホストが持つTCPポートのうち現在アクティブなポート数。 |
lr |
ホストが持つTCPポートのうちリッスン中のポート数。 |
-
利用ポート情報を収集するためのシェルスクリプトを作成する。
この例では,利用ポート情報を収集するためにシェルスクリプトを利用します。シェルスクリプトの作成例を次に示します。
Linuxでのシェルスクリプトの作成例(/homework/sample.sh)
#!/bin/sh echo "Product Name=PFM-Agent for Platform (UNIX)" > /homework/userdata.tcp echo "FormVer=0001" >> /homework/userdata.tcp echo "tt ks lr lr lr" >> /homework/userdata.tcp #All TCP port ALL_TCP=`netstat -at | wc -l` ALL_TCP=`expr $ALL_TCP - 2` #Active TCP port ACTIVE_TCP=`netstat -at | grep ESTABLISHED | wc -l` #Listen TCP port LISTEN_TCP=`netstat -at | grep LISTEN | wc -l` #Output echo "TCP `uname -n` $ALL_TCP $ACTIVE_TCP $LISTEN_TCP" >> /homework/userdata.tcp
- 重要
-
ここで紹介するシェルスクリプトはLinuxでの作成例のため,ほかのOSでは正しく動作しないおそれがあります。また,環境によってはLinux上でも動作しないことがあるため注意してください。
-
手順1で作成したシェルスクリプトを実行する。
シェルスクリプトの実行結果として作成されるユーザー作成データを次に示します。
ユーザー作成データ(/homework/userdata.tcp)
Product Name=PFM-Agent for Platform (UNIX) FormVer=0001 tt ks lr lr lr TCP jp1ps05 15 3 12
-
手順2で作成されたユーザー作成データをユーザーデータファイルへ変換する。
ユーザー作成データをユーザーデータファイルへ変換するコマンド(jpcuserコマンド)の実行例を次に示します。
jpcuserコマンドの実行例
/opt/jp1pc/agtu/agent/jpcuser/jpcuser PI_UPIB -file /homework/userdata.tcp
-
手順3で出力されたユーザーデータファイルをPFM - Agent for Platformで収集する。
PFM - Agent for Platformがレコードを収集するタイミングで,ユーザーデータファイルの内容がユーザーレコードに格納されます。