4.2.2 PFM - Agent for Service Responseの機能に関する注意事項

<この項の構成>
(1) 正常に計測を実行するために考慮が必要な事項
(2) Agent Collectorによる収集間隔の設定で考慮が必要な事項
(3) サービス監視に関する注意事項

(1) 正常に計測を実行するために考慮が必要な事項

Probe動作条件設定ファイル(esp.conf)で定義するプローブの計測多重度と,計測条件登録ファイル(esptask.xml)で定義する計測間隔およびタイムアウト時間を決定する際は,次の点について考慮する必要があります。

(a) プローブの計測多重度の考え方

PFM - Agent for Service Responseは,複数のインターネットサービスを同時に計測できます。同時に計測できる計測条件の数は,Probe動作条件設定ファイル(esp.conf)でプローブの計測多重度として指定しますが,同時に実行する計測条件がプローブの計測多重度より多い場合,計測多重度を超えた分の計測は逐次処理されます。

プローブの計測多重度が3,同時に実行する計測条件の数が8の場合の計測例を次の図に示します。なお,計測条件はすべて同じ時間で終了するものとします。

図4-1 同時に実行する計測条件がプローブの計測多重度より多い場合の計測例

[図データ]

各サービスを計測するプローブは,スレッドとして動作します。生成されるスレッドの数は,Probe動作条件設定ファイルのプローブの計測多重度と同じです。したがって,プローブの計測多重度を指定する際は,PFM - Agent for Service Responseが動作するホストの性能を考慮した上で決定してください。

(b) タイムアウト時間の考え方

1回の計測処理時間の上限値は,計測条件で設定したタイムアウト時間になります。1回の計測が次回の計測の開始前に終了するよう,少なくともタイムアウト時間は計測間隔よりも小さい値を設定してください。なお,タイムアウト時間に計測間隔よりも大きい値を設定した場合,タイムアウト時間と計測間隔は同じになります。

また,計測対象サービスの総応答時間は,計測対象サービスを提供するサーバに同時に到着したリクエスト数や,サーバとPFM - Agent for Service Responseとを接続するネットワークの状態などによって変動します。計測がタイムアウト時間内に完了するように,正常にサービスが稼働しているときの総応答時間の最小値よりも大きい値を設定してください。

(c) 計測間隔内に計測が終了できない場合への考慮

プローブの計測多重度,タイムアウト時間,計測間隔の設定の組み合わせによっては,計測間隔内に終了できない計測処理が発生し,一定の間隔で計測を実行できなくなるおそれがあります。すべての計測条件についてタイムアウトが発生した場合でも計測間隔内に全計測条件に対する計測処理を完了し,指定された間隔で計測できるようにするには,計測条件数,プローブの計測多重度,タイムアウト時間,および計測間隔は,次の式を満たしている必要があります。

計測間隔の最小値=
((計測条件数+(計測多重度-1))÷計測多重度)×タイムアウトの最大値
なお,除算の小数点以下は切り捨てとします。

上記の式を満たさない場合の例を次の図に示します。

図4-2 一定の間隔で計測を実行できなくなる例

[図データ]

上記は,T1からT8までの八つの計測項目を,プローブの計測多重度が3の環境で計測した例になります。1回目のT7,T8が計測間隔内に終了しないため,2回目のT2,T3の計測実行時刻が遅れ,2回目のT8の終了ではさらに遅延が拡大します。このように,計測実行時刻のずれが計測のたびに拡大し,一定の間隔で計測を実行できなくなります。なお,このような場合は,ログファイルに警告メッセージが出力されます。プローブの計測多重度,計測間隔,タイムアウト時間の値を見直してください。

(2) Agent Collectorによる収集間隔の設定で考慮が必要な事項

PFM - Agent for Service Responseでは,Probe Daemonが計測対象の応答時間を測定しています。計測結果はいったんレポートファイルに出力されます。Agent Collectorは,レポートファイルに格納されている最新の計測結果を収集します。そのため,Agent Collectorの収集間隔とProbe Daemonの計測間隔の設定によっては,パフォーマンスデータが部分的に格納されない可能性があるので,次の点に考慮が必要です。

<例1>
Agent Collectorの収集間隔を360秒(6分),Probe Daemonの計測間隔を180秒(3分),Probe Daemonのタイムアウト値を60秒(1分)に設定した場合の,Probe Daemonによる計測スケジュールとAgent Collectorによる収集スケジュールを,次の図に示します。

図4-3 収集スケジュールの例1

[図データ]
この場合,Probe Daemonによる3回目の計測結果がAgent Collectorによって収集される前に,4回目の計測が終了してしまうため,3回目の計測結果は収集されません。
Agent Collectorによる収集間隔は,PFM - Web Consoleから設定します。また,Probe Daemonによる計測間隔は,計測条件登録ファイルで設定します。Agent Collectorによる収集間隔の設定については,マニュアル「JP1/Performance Management システム構築・運用ガイド」のエージェントの監視について説明している章を参照してください。また,計測条件登録ファイルについては,「7.3 計測条件登録ファイル(esptask.xml)」を参照してください。
<例2>
Agent Collectorの収集間隔およびProbe Daemonの計測間隔を360秒(6分),Probe Daemonのタイムアウト値を60秒(1分)に設定した場合の,Probe Daemonによる計測スケジュールとAgent Collectorによる収集スケジュールを,次の図に示します。

図4-4 収集スケジュールの例2

[図データ]
この場合,収集は次の手順で実行されます。
  1. 1回目のAgent Collectorの収集時点では,Probe Daemonによる計測が終了していないため,パフォーマンスデータは収集されません。2回目のAgent Collectorの収集から計測データが収集されます。
  2. 2回目の収集では,マシンの負荷が増加したなどの理由により,Agent Collectorの収集が遅れたとします。このとき,Probe Daemonの計測が2回目のAgent Collectorが収集したタイミングより前に終わった場合は,Agent Collectorは2回目のProbe Daemonが計測したパフォーマンスデータを収集します。
  3. 3回目のAgent Collectorの収集では,2回目のProbe Daemonの計測結果を収集しますが,手順2で収集済みのために,パフォーマンスデータの格納は行いません。
  4. 4回目のAgent Collectorの収集では,3回目のProbe Daemonの計測結果を収集します。
この場合,3回目に収集したパフォーマンスデータが格納されないため,2回目から4回目までの12分に相当するデータが欠落します。このようなデータの欠落が発生した場合に,直前に収集したデータを使用して欠落データを補間することができます。
補間するかどうかの設定については,「2.4.4 欠落データ補間の設定」を参照してください。なお,データ欠落が発生しないように,Agent Collectorの収集間隔とProbe Daemonの計測間隔を適切に設定することを推奨します。

(3) サービス監視に関する注意事項

サービス監視に関する注意事項を次に示します。

  1. DHCPの計測条件で定義したプローブのポート番号がすでに使用されている場合(本製品がインストールされているマシンが,DHCPのクライアントとして動作している場合など),本製品でのDHCPの監視が正しく行えないことがあります。
  2. HTTP(S)およびWebトランザクションの監視で,取得したHTMLのmetaタグで記載されているCookie情報は,無視されます。
  3. Webトランザクション監視での埋め込みリソース取得時のエラーについて本製品では,デフォルトの設定の場合埋め込みリソースの取得で失敗しても,計測を続行します。埋め込みリソース取得時のエラーを監視失敗として扱いたい場合は,Probe動作条件定義ファイル(esp.conf)に下記の設定を行ってください。
    セクション名:WEBTRANS Probe
    キー名:skip_emb_rsc_error
    設定する値:N
  4. Webトランザクション監視でのPOSTメソッドに対するリダイレクトは,GETメソッドで行います。
  5. Webトランザクション監視で,文字セットがShift_JIS以外のHTMLに対して,レスポンス判定を行う場合,当該ステップの文字セットを正しく指定してください。
    文字セットの指定には,Webトランザクションファイルで,<DEFAULT_CHARSET>タグ,または<CHARSET>タグを使用してください。
    なお,HTMLの文字セットが,<DEFAULT_CHARSET>タグ,または<CHARSET>タグで指定可能な文字セット以外の場合は,レスポンス判定で使用する文字列に,多バイト文字を指定しないでください。
  6. Windowsファイアウォールが有効となっている環境でFTPの監視を行う場合は,ログアウト(QUITコマンド投入)に対するFTPサーバからの応答メッセージの受信に失敗することがあるため,Probe 動作条件定義ファイル(esp.conf)に下記の設定を行ってください。
    セクション名:FTP Probe
    キー名: ignore_quit_resp_recv_error
    設定する値:Y
  7. Webトランザクションの監視では,発行するリクエストのURLに"#"が含まれている場合,"#"以降の文字列をフラグメントの指定(HTML内の特定に場所を示す)と判断し,フラグメントの部分を削除して,リクエストを発行します。定義しているURL,または可変文字列に対する代替文字列に,フラグメントとの区切り以外の"#"が含まれる場合は,定義しているURLの末尾に"#"を付加してください。
  8. Webトランザクションの監視で,取得したHTMLの文字セットがShift_JIS以外の場合,下記の文字がレスポンス判定情報や動的セッション管理対応の代替文字列に含まれていると計測に失敗する場合があります。
    下記の文字は,レスポンス判定情報や動的セッション管理対応の代替文字列に含まないようにしてください。

    [図データ]

  9. Webトランザクションの監視で代替文字列を含む要素を検索する場合の注意事項
    HTMLから代替文字列を求める際に代替文字列が含まれる要素を検索します。
    その場合の本製品の仕様は下記のとおりとなりますのでご注意ください。
    • 指定した名前の要素に終了タグ(</要素名>)が存在しない場合,開始タグ(<要素名>)から次に同じ名前の要素の開始タグが現れるまでを要素として扱います。同じ要素が存在しなかった場合は,HTMLファイルの終端までを要素として扱います。
    • 指定した名前の要素の終了タグ(</要素名>)よりも,同じ名前の要素の開始タグ(<要素名>)が先に現れる場合,同じ名前の要素の開始タグまでを要素として扱います。
    • 指定した名前の要素が空要素(<要素名/>)で,かつ属性値が引用符(「"」か「'」)で囲まれていない場合,属性値と空要素の末尾(/>)がつながっていると「/」までを属性値として扱います。
      例えば,次のような要素の場合,value属性の値は「user01/」となります。
      <input type=hidden name=userid value=user01/>
      value属性の値を,「user01」と扱いたい場合は,次のような記述に変更してください。
      案1 空要素を開始タグに変更する
       <input type=hidden name=userid value=user01>
      案2 属性値と空要素の末尾の間を半角スペースで区切る
       <input type=hidden name=userid value=user01 />
      案3 属性値を引用符で囲む
       <input type=hidden name=userid value="user01"/>
  10. Webトランザクションの監視で,代替文字列に「?」,「&」および「=」などのURL内の区切り文字として意識される文字が含まれる場合は,そのまま可変文字列と置き換え,リクエストを発行します。URL内の区切り文字として意識される文字に対してURLエンコードを行いたい場合は,Webトランザクションファイルで<SUBSTITUTE_FORCE_URLENCODE>タグを指定してください。<SUBSTITUTE_FORCE_URLENCODE>タグの詳細については,「7.4.2 Webトランザクション計測条件定義の書式と定義内容」を参照してください。
  11. POP3のUIDLコマンドをサポートしていないPOP3サーバに対しては,計測に失敗します。一部の古いバージョンのPOP3サーバは,UIDLコマンドをサポートしていない可能性があります。
  12. Webトランザクションの監視で,取得したHTMLから代替文字列を検索する場合,HTMLに記述されている何らかの要素の属性値に「<」や「>」が含まれていると,代替文字列の検索に失敗し,計測結果が不当になります。
  13. Webトランザクションの監視で,POSTメソッドを使用してファイルをアップロード(本製品から監視対象サーバへのファイル転送)するようなトランザクションは正しく監視できません。具体的には,以下の条件が重なるような定義を行った場合になります。
    • POSTメソッドを使用する場合
    • メッセージボディがmultipart/form-data形式の場合
    • メッセージボディ内にContent-Dispositionヘッダーのfilename属性を指定しているパート(セパレータで区切られている部分)が存在する場合
  14. 本製品と監視対象とのネットワーク接続において,JP1/Cm2/Internet Gateway Serverなどのプロキシ機能を経由する場合,次の項目が正しく監視できない場合があります。
    • DNS
    • DHCP
    • FTP
    • TCP