顧客がページにアクセスした際のレスポンスに着目した分析を行う方法について説明します。
レスポンスに着目して分析することにより、以下のような情報を把握することができ、Webサイトの運用に活用していくことができます。
サーバ側でどれくらいの処理時間がかかっているか
レスポンス状況の分析は、SQC拡張ログを使用して行います。
SQC拡張ログ採取は、Webサービスの構成機能(Webサーバなど)で採取されていないデータを採取して蓄積する機能です。
SQC拡張ログ採取により蓄積されたデータは、「SQC拡張ログ」と呼びます。以下のSQC拡張ログを採取・蓄積することができます。
レスポンスログは、Webページ利用者の視点でCGIプログラムのレスポンス時間のデータを採取し、蓄積されるログです。
Webページ利用者がCGIプログラム呼び出しを伴うサービスを実行し、CGIプログラムからの結果を受け取るまでにかかった時間をレスポンス時間としてログに蓄積します。
例えば、検索を行うWebページの場合、検索実行開始時から検索結果を表示するまでにかかった時間がレスポンス時間となります。
レスポンスログは以下の3つの機能により採取・蓄積されます。
■データ採取機能1
Webブラウザ上で動作するJava(TM)アプレット(ResLog1.class)です。Webページ利用者がWebページを参照し、CGIプログラム呼び出しを伴うサービスを実行することで起動され、サービスを実行した時点のデータを採取します。
なお、この機能が動作するには、あらかじめ、Webページに設定が必要です。
■データ採取機能2
Webブラウザ上で動作するJava(TM)アプレット(ResLog2.class)です。Webページ利用者がCGIプログラム呼び出しを伴うサービスの結果を受け取ることで起動され、結果を受け取った時点のデータを採取し、データ採取機能1のデータとあわせてレスポンス時間を計算してデータ蓄積機能へ送信します。
なお、この機能が動作するには、あらかじめ、Webページに設定が必要です。
■データ蓄積機能
Webサーバ(インストールマシン)上で動作するCGIプログラム(reslog.cgi)です。データ蓄積機能は、データ採取機能2が起動されることにより自動的に起動されます。データ採取機能2から送信されたデータをSQC拡張ログファイルへ蓄積します。
レスポンスログを採取するための設定方法を説明します。
■設定する前に
あらかじめ、データ蓄積機能のCGIプログラム(reslog.cgi)が実行できるようにWebサーバへ登録しておく必要があります。登録の詳細は「4.1 Webサーバの環境設定」を参照してください。
参照
データ採取機能では、Java(TM)アプレット(ResLog1.class、ResLog2.class)を使用しています。Java(TM)アプレットについては、「3.2 環境設定の流れ」を参照してください。
■Webページの編集
ログ採取する以下の各WebページのHTML文書にログ採取のためのJava(TM)アプレットを取り込みます。以下の関連する2つのWebページは必ず両方とも編集する必要があります。
サービスを呼び出すWebページ
サービスのCGIプログラムを呼び出すWebページ。
例えば、キーワードを与えて検索するWebページなど。
結果応答するWebページ
CGIプログラムからの結果に応答(結果表示)するWebページ。
例えば、検索結果を表示するWebページなど。
■サービスを呼び出すWebページの編集
データ採取機能1のJava(TM)アプレット(ResLog1.class)を、サービスを呼び出すWebページのHTML文書に取り込みます。
以下は、HTML文書のサンプルです。サンプル中のCODEBASEのURLは、「4.1 Webサーバの環境設定」の設定例のとおり、インストールディレクトリ下のディレクトリwwwの物理パスがエイリアス「SQC」で登録されているものとして記述しています。
以下の例は、検索のボタンが押下されたのを契機にデータ採取機能1のJava(TM)アプレット(ResLog1.class)を、呼び出している例です。
<!-- --> <!-- レスポンスログ採取ページ サンプル(その1) --> <!-- --> <HTML> <HEAD> <TITLE> 検索サービスページ(サンプル)</TITLE> </HEAD> <BODY BGCOLOR=WHITE> <!-- ************ Systemwalker SQC (begin) ****************** --> <APPLET NAME="ResLog1" CODEBASE="/SQC/classes" CODE="ResLog1.class" ARCHIVE="reslog.jar" WIDTH=1 HEIGHT=1> </APPLET> <!-- ************ Systemwalker SQC (end) ******************** --> <CENTER><FONT COLOR=GREEN> 検索サービスページ(サンプル) </FONT></CENTER> <BR><BR> <FONT SIZE=5 COLOR=BLUE> 検索サービス </FONT> <HR> <FORM METHOD="post" ACTION="/cgi-bin/search.cgi"> 検索キー <INPUT TYPE="text" NAME="key1" SIZE="25"> <BR><BR> <INPUT TYPE="reset" VALUE="リセット"> <INPUT TYPE="submit" VALUE="検索" onClick="document.ResLog1.run()"> </FORM> <HR> <FONT COLOR=RED> ご注意 </FONT> <P> 本サイトでは検索サービスの応答状況の記録および集計を実施しておりますが、集計結果は検索サービス向上のための参考に使用するものであり、利用者のプライバシーを侵害することはありません。 </P> </BODY> </HTML> |
[サンプルの説明]
内容 | 説明 |
---|---|
青文字部分 | データ採取機能1を取り込むための記述 |
CODEBASEに指定するパス | 本製品のJava(TM)クラスファイルの格納ディレクトリのURL |
なお、上記のサンプルは、インストール後、以下に格納されています。
【Windows版】
<インストールディレクトリ>\sample\search_request_jp.html |
【UNIX版】
/opt/FJSVssqc/sample/search_request_jp.html |
■結果応答するWebページの編集
データ採取機能2のJava(TM)アプレット(ResLog2.class)を、結果応答するWebページのHTML文書に取り込みます。
以下は、HTML文書のサンプルです。サンプル中のCODEBASEのURLは、「4.1 Webサーバの環境設定」の設定例のとおり、インストールディレクトリ下のディレクトリwwwの物理パスがエイリアス「SQC」で登録されているものとして記述しています。
<!-- --> <!-- レスポンスログ採取ページ サンプル(その2) --> <!-- --> <HTML> <HEAD> <TITLE> 検索サービスページ(サンプル)</TITLE> </HEAD> <BODY BGCOLOR=WHITE> <!-- ************ Systemwalker SQC (begin) ****************** --> <APPLET CODEBASE="/SQC/classes" CODE="ResLog2.class" ARCHIVE="reslog.jar" WIDTH=1 HEIGHT=1> <PARAM NAME=url VALUE="/SQC/cgi-bin/reslog.cgi"> </APPLET> <!-- ************ Systemwalker SQC (end) ******************** --> <CENTER><FONT COLOR=GREEN> 検索サービスページ(サンプル)</FONT></CENTER> <BR><BR> <FONT SIZE=5 COLOR=BLUE> 検索サービス</FONT> <HR> <P> 検索結果... </P> </BODY> </HTML> |
[サンプルの説明]
【Windows版】
内容 | 説明 |
---|---|
青文字部分 | データ採取機能2を取り込むための記述 |
CODEBASEに指定するパス | 次のディレクトリに対応するURL インストールディレクトリ\www\classes |
VALUEに指定するパス | 次のファイルに対応するURL インストールディレクトリ\www\cgi-bin\reslog.cgi |
なお、上記のサンプルは、インストール後、以下に格納されています。
<インストールディレクトリ>\sample\search_result_jp.html |
【UNIX版】
内容 | 説明 |
---|---|
青文字部分 | データ採取機能2を取り込むための記述 |
CODEBASEに指定するパス | 次のディレクトリに対応するURL /opt/FJSVssqc/www/classes |
VALUEに指定するパス | 次のファイルに対応するURL /opt/FJSVssqc/www/cgi-bin/reslog.cgi |
なお、上記のサンプルは、インストール後、以下に格納されています。
/opt/FJSVssqc/sample/search_result_jp.html |
■Webページの編集に関する注意事項
サービスを呼び出すWebページでのAPPLETタグ中のCODEBASEと、結果応答するWebページでのAPPLETタグ中のCODEBASEには、完全に同じ文字列でURLを指定してください。完全に同じ文字列でない場合、例えば、一方を相対パスでもう一方を絶対パスで指定した場合、レスポンスログを採取できないので、注意してください。
■設定後の動作
このログ採取のための設定をしたWebページを利用すると、以下のようにログ採取が行われます。
対象 | 動作内容 |
---|---|
Web利用者: | WebページのURLをWebブラウザで参照します。 ↓ |
Web利用者: | CGIプログラム呼び出しを伴うサービス(例えば、検索を実行するなど)を実行します。 ↓ |
Web利用者: | CGIプログラムから結果を受け取ります。 ↓ |
内部: | レスポンスログが採取・蓄積されます。 ↓ |
内部: | 利用状況DB登録エンジンによって利用状況DBへ登録されます。 ↓ |
分析者: | 分析画面で分析実行・表示させることができます。 対応する分析は、URL別レスポンス分析とクライアント別レスポンス分析です。 |
注意
Webページの編集に誤りがあると、レスポンスログが採取されません。Webページのサービス提供にあたっては、事前にテストを実施し、実際にレスポンスログが採取されることを確認してください。
レスポンスログの採取を停止するには、ログ採取のためにWebページのHTML文書に追加した記述を削除します。削除は、「サービスを呼び出すWebページ」、「結果応答するWebページ」の対で行ってください。
削除部分は、「9.1.6.2.2 ログ採取のための設定をする」の各HTML文書サンプルの青文字部分です。削除すると、以降このWebページを参照し、サービスを呼び出してもレスポンスログの採取・蓄積は行われません。
レスポンスログは、データ採取機能2から送信された1つのデータに対応して1つ、テキスト1行でSQC拡張ログファイルに蓄積されます。
1行の形式は、以下のとおりです。フィールドの区切りは半角空白1文字です。
(1)Date (2)Type (3)Version (4)HostName (5)Path (6)Reserve (7)KeyData
No. | フィールド | 説明 | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
(1) | Date | ログを蓄積した時刻。インストールマシン上のローカル時刻で、形式は以下のとおり。青文字の箇所は可変。 [dd/mon/yyyy:hh:mm:ss SHHMM] 各フィールドの意味は、以下のとおり。
| ||||||||||||||||||||
(2) | Type | データのタイプ(ログ種別を示すコード) レスポンスログは、"2" | ||||||||||||||||||||
(3) | Version | ログ形式のバージョンレベル レスポンスログでは、現在"1"だけ | ||||||||||||||||||||
(4) | HostName | ブラウザが動作している(Webページ利用者の)ホスト名またはIPアドレス | ||||||||||||||||||||
(5) | Path | WebページのHTML文書のパス | ||||||||||||||||||||
(6) | Reserve | リザーブ 現在常に"0" | ||||||||||||||||||||
(7) | KeyData | レスポンス時間。単位はミリ秒。 |
ファイル名・容量見積り・SQC拡張ログファイルの切り替えについては、次項の「9.1.6.3 SQC拡張ログファイル」を参照してください。
SQC拡張ログファイルについて説明します。
SQC拡張ログファイルはSQC拡張ログ採取によってSQC拡張ログの蓄積時に自動作成されます。
■格納先
SQC拡張ログファイルは、以下のディレクトリ下に格納されます。
【Windows版】
<可変ファイル格納ディレクトリ>\extend-log\ |
【UNIX版】
/var/opt/FJSVssqc/extend-log/ |
■ファイル名の形式
SQC拡張ログファイル名は、以下の形式で、SQC拡張ログファイル切り替えごとに新しく作成されます。青文字の箇所は、可変です。
logyyyymmdd_nn
[可変箇所の説明]
記号 | 意味 |
---|---|
yyyy | 作成日の西暦年(1970~) |
mm | 作成日の月(01~12) |
dd | 作成日の日(01~31) |
nn | 作成日の中でのSQC拡張ログファイルの通番(01~99) |
1日あたりの容量の見積り式は、以下のとおりです。青文字の箇所は、可変です。
(1日あたりの容量)=(50+A+B)×C
記号 | 意味 |
---|---|
A | ブラウザが動作している(Webページ利用者の)ホスト名またはIPアドレスの平均バイト数 |
B | WebページのHTML文書のパスの平均バイト数 |
C | WebページのHTML文書に対する1日の平均アクセス数 |
SQC拡張ログ採取は、SQC拡張ログファイルのバックアップなどの作業を簡単にするため、一定期間ごとに新しいSQC拡張ログファイル(「9.1.6.3.1 ファイル名」に記述したファイル名:logyyyymmdd_nn)を作成し、SQC拡張ログの蓄積先を新しいログファイルの方へ変更します。これを「SQC拡張ログファイルの切り替え」と呼びます。
SQC拡張ログファイルの切り替えは、拡張ログ環境定義ファイル「ExtendLogConfig」の設定内容に従って行われます。
拡張ログ環境定義ファイルの設定方法については、次項の「9.1.6.4 拡張ログ環境定義ファイルの設定」を参照してください。
「拡張ログ環境定義ファイル」とは、SQC拡張ログの蓄積方法を定義したファイルです。
SQC拡張ログを採取する場合、事前に拡張ログ環境定義ファイルを設定しておく必要があります。
なお、SQC拡張ログを採取しない場合、設定の必要はありません。
拡張ログ環境定義ファイルは、テキストファイルです。ファイルの作成や編集は、メモ帳などのテキストエディタを使用してください。ファイルのパスは、以下のとおりです。
【Windows版】
<可変ファイル格納ディレクトリ>\control\ExtendLogConfig |
【UNIX版】
/etc/opt/FJSVssqc/ExtendLogConfig |
インストール時には、拡張ログ環境定義ファイルのサンプルを用意しているので、サンプルを編集すると便利です。拡張ログ環境定義ファイルのサンプルは、以下に格納されています。
【Windows版】
<インストールディレクトリ>\sample\ExtendLogConfig |
【UNIX版】
/opt/FJSVssqc/sample/ExtendLogConfig |
文字コードは、以下のとおりです。
【Windows版】
シフトJIS |
【UNIX版】
日本語EUC |
拡張ログ環境定義ファイルの定義例を以下に示します。
拡張ログ環境定義ファイルの設定方法の詳細については、「15.2.2 拡張ログ環境定義ファイル」を参照してください。
01/Jan/2001:00:00:00 +0900 [Log] LogfileInterval = week(sun) 01/Jan/2001:00:00:00 +0900 |
LogfileIntervalには、拡張ログファイルの切り替え単位を定義します。選択肢の意味は、以下のとおりです。
<選択肢> | <意味> |
---|---|
day | 1日単位 |
week(...) | 1週間単位 |
month(...) | ひと月単位 |
week の場合、括弧内に1週間の起点を以下の値で指定します。
<選択肢> | <意味> |
---|---|
sun | 日曜日 |
mon | 月曜日 |
tue | 火曜日 |
wed | 水曜日 |
thu | 木曜日 |
fri | 金曜日 |
sat | 土曜日 |
month の場合、括弧内にひと月の起点を以下の値で指定します。ただし、指定日が存在しない月では、月の最終日になります。
<選択肢> | <意味> |
---|---|
1 ~ 31の整数 | 日にち |
注意
SQC拡張ログを採取するWebページのサービス提供にあたっては、事前にテストを実施し、実際にSQC拡張ログが採取されることを確認してください。
「利用状況DB環境定義ファイル」とは、Webサービスに関する各種ログのデータを保存するためのデータベース、利用状況DBの作成条件を記述したファイルです。
採取されたSQC拡張ログを使用して、レスポンス状況を分析するには、利用状況DB環境定義ファイルへの定義が必要です。
利用状況DB環境定義ファイルに、SQC拡張ログ用の分析対象ログ定義ブロックを定義します。
利用状況DB環境定義ファイルの設定方法の詳細については、「15.2.1 利用状況DB環境定義ファイル」を参照してください。
定義例を以下に示します。
【Windows版】
[Server] Symbol = PUBLIC <-- 省略 --> [Log] Symbol = WWW <-- 省略 --> [Log] Symbol = Response Name = レスポンスログ Path = "C:\SystemwalkerSQC\extend-log\log*" Format = SQC-Extend Region = +0900 |
【UNIX版】
[Server] Symbol = PUBLIC <-- 省略 --> [Log] Symbol = WWW <-- 省略 --> [Log] Symbol = Response Name = レスポンスログ Path = "/var/opt/FJSVssqc/extend-log/log*" Format = SQC-Extend Region = +0900 |
Pathで指定するSQC拡張ログの格納先は、以下を指定します。
【Windows版】
Path = "<可変ファイル格納ディレクトリ>\extend-log\log*" |
【UNIX版】
Path = "/var/opt/FJSVssqc/extend-log/log*" |
Formatは、“SQC-Extend”(固定)を指定します。
Regionは、時刻の地域をGMT(グリニッジ標準時)からの時刻差で指定します。
レスポンスに着目した分析を行うには、利用状況分析画面で、以下を指定して分析を行います。
項目 | 指定内容 |
---|---|
分析対象サーバ | 分析を行いたいサーバまたはグループを指定します。 |
分析データ種別 | レスポンス状況 |
分析観点 | 以下のいずれかを指定します。 URL別 クライアントホスト名別 クライアントIPアドレス別 |
分析期間 | 分析したい期間の単位と期間を指定します。 |
Managerを導入した管理サーバとAgent for Businessを導入した被管理サーバを組み合わせることにより、被管理サーバのレスポンス状況を管理サーバで分析することができます。
被管理サーバのレスポンス状況を管理サーバで分析する方法について説明します。
■管理サーバの設定
管理サーバでは、以下の設定を行います。
環境設定の被管理サーバ設定の「7.2.2.1 利用状況サービスの登録」において、利用状況DBの管理場所を「管理サーバ」に設定します。
利用状況DB環境定義ファイルの分析対象サーバ定義ブロックにおいて、被管理サーバを定義します。
分析対象サーバ定義ブロックには以下を指定します。
項目 | 設定内容 |
---|---|
Symbol | 被管理サーバ側の利用状況DB環境定義ファイルと同じシンボルを指定します。 |
Name | 環境設定の被管理サーバの設定画面で定義したサーバ名を指定します。 |
DatabaseMode | db 被管理サーバから転送されたログ情報を利用状況DBに登録し分析するため、dbを指定します。 |
分析対象ログ定義ブロックには以下を指定します。
【Windows版】
項目 | 設定内容 |
---|---|
Path | "<可変ファイル格納ディレクトリ>\database\csv\<サーバディレクトリ>\e*.csv" |
Format | SQC-ExtCSV 分析対象ログファイルの記録形式として、CSV形式拡張ログファイルを指定します。 |
Region | +0000 分析対象ログファイルに記録されている時刻データの地域の定義として、時刻差なしを指定します。 |
【UNIX版】
項目 | 設定内容 |
---|---|
Path | "<可変ファイル格納ディレクトリ>/database/csv/<サーバディレクトリ>/e*.csv" |
Format | SQC-ExtCSV 分析対象ログファイルの記録形式として、CSV形式拡張ログファイルを指定します。 |
Region | +0000 分析対象ログファイルに記録されている時刻データの地域の定義として、時刻差なしを指定します。 |
(*1) サーバディレクトリは、利用状況DB環境定義ファイルの分析対象サーバ定義ブロックのSymbolで指定した名前で作成されます。
定義例を以下に示します。
【Windows版】
[Server] Symbol = PUBLIC <-- 省略 --> DatabaseMode = db [Log] Symbol = WWW <-- 省略 --> [Log] Symbol = Response Name = レスポンスログ Path = "C:\Program Files\SystemwalkerSQC\database\csv\PUBLIC\e*.csv" Format = SQC-ExtCSV Region = +0000 |
【UNIX版】
[Server] Symbol = PUBLIC <-- 省略 --> DatabaseMode = db [Log] Symbol = WWW <-- 省略 --> [Log] Symbol = Response Name = レスポンスログ Path = "/var/opt/FJSVssqc/database/csv/PUBLIC/e*.csv" Format = SQC-ExtCSV Region = +0000 |
上記の設定を行うことにより、被管理サーバ上のWebサーバのログ情報が管理サーバに転送され、管理サーバの利用状況DBに格納されます。
■被管理サーバの設定
被管理サーバでは、以下の設定を行います。
利用状況DB環境定義ファイルの分析対象サーバ定義ブロックにおいて、利用状況DBの運用形態として、CSV形式ログファイルによる運用を指定します。
DatabaseMode = csv |
定義例を以下に示します。
【Windows版】
[Server] Symbol = PUBLIC <-- 省略 --> DatabaseMode = csv [Log] Symbol = WWW <-- 省略 --> [Log] Symbol = Response Name = レスポンスログ Path = "C:\Program Files\SystemwalkerSQC\extend-log\log*" Format = SQC-Extend Region = +0900 |
【UNIX版】
[Server] Symbol = PUBLIC <-- 省略 --> DatabaseMode = csv [Log] Symbol = WWW <-- 省略 --> [Log] Symbol = Response Name = レスポンスログ Path = "/var/opt/FJSVssqc/extend-log/log*" Format = SQC-Extend Region = +0900 |
利用状況DB登録エンジンにより、CSV形式拡張ログファイルが、以下のディレクトリに出力されます。
※ < >はディレクトリです。
(*1) サーバディレクトリは、利用状況DB環境定義ファイルの分析対象サーバ定義ブロックのSymbolで指定した名前で作成されます。
(*2) CSV形式拡張ログファイルの場合、名の変数(yyyymmdd_nnn)は以下のとおりです。年月日は、利用状況DBの切り替え(作成)が行われた時点の日付になります。
yyyy | 西暦年(1980~) |
mm | 月(01~12) |
dd | 日(01~31) |
nnn | 通番(001~999) |
上記の設定を行うことにより、被管理サーバでは、レスポンス状況用の利用状況DBとしてCSV形式拡張ログファイルが作成され、管理サーバとの間でログ情報の転送が行われます。
■被管理サーバの分析
管理サーバで被管理サーバのログを分析する際、管理サーバの利用状況分析機能を使用して分析します。