.NET フロントエンド URL グループの設定

フロントエンド URL グループは、URL パスのプレフィックスに関して定義するトランザクションの名前付きグループです。 Introscope では、URL グループごとにメトリックを集計します。
apmdevops106
フロントエンド URL グループ
は、URL パスのプレフィックスに関して定義するトランザクションの名前付きグループです。 Introscope では、URL グループごとにメトリックを集計します。
3
2
URL グループの使用
URL グループは、URL パスのプレフィックスに関して定義するトランザクションの名前付きグループです。 Introscope では、各 URL グループのメトリックが集約され、それらのメトリックが Investigator Frontends|Apps|<アプリケーション名>|URLs ノードの下に表示されます。
パスのプレフィクスは、URL のホスト名に続く部分です。 たとえば、以下の URL があるとします。
http://burger1.com/
TestWar
/burgerServlet?ViewItem&category=11776&item=5550662630&rd=1
ここでは、以下がパスのプレフィクスです。
/TestWar
1 つの URL のパス プレフィクスから派生する可能性がある要求の有用なカテゴリに対して URL グループを定義できます。 たとえば、アプリケーションの URL の形式に応じて、いくつかの URL グループを定義できます。 アプリケーションでサポートする顧客ごと、主要なアプリケーションごと、またはサブ アプリケーションごとのグループなどです。 URL グループを定義する機能によって、コミットされたサービスレベルのコンテキストでのパフォーマンス、またはアプリケーションのミッション クリティカルな部分のパフォーマンスの監視ができます。
デフォルトでは、すべての URL が「
デフォルト
」と呼ばれる URL グループに割り当てられます。 この名前付けにより、無効な URL が一意で 1 回限りのメトリックを作成しないときのオーバヘッドを発生しないようにできます。 たとえば、404 エラーを生成する URL です。 意味のある URL グループを設定すると、サブアプリケーション レベルでパフォーマンス モニタリングを行うことができます。
URL グループのプロパティ
IntroscopeAgent.profile ファイルで URL グループを定義するには、以下のプロパティを使用します。
  • introscope.agent.urlgroup.
    keys
  • introscope.agent.urlgroup.
    group.default.pathprefix
  • introscope.agent.urlgroup.
    group.default.format
以下は、エージェント プロファイルの抜粋で、URL グループがどのように定義されるかを示しています。
introscope.agent.urlgroup.
keys
=alpha,beta,gamma
introscope.agent.urlgroup.
group.alpha.pathprefix
=/testWarintroscope.agent.urlgroup.
group.alpha.format
=foo {host} bar {protocol} baz {port} quux {query_param:foo} red {path_substring:2:5} yellow {path_delimited:/:0:1} green{path_delimited:/:1:4} blue {path_substring:0:0}
introscope.agent.urlgroup.
group.beta.pathprefix
=/nofilterWarintroscope.agent.urlgroup.
group.beta.format
=nofilter foo {host} bar {protocol} baz {port} quux{query_param:foo} red {path_substring:2:5} yellow{path_delimited:/:0:1} green {path_delimited:/:1:4} blue{path_substring:0:0}
introscope.agent.urlgroup.
group.gamma.pathprefix
=/examplesWebAppintroscope.agent.urlgroup.
group.gamma.format
=Examples Web App
URL グループの定義
以下のセクションでは、URL グループを設定するプロパティについて説明します。
URL グループのキーの定義
introscope.agent.urlgroup.keys
プロパティを使用して、URL グループのすべての ID すなわちキーのリストを定義します。 URL グループのキーは、URL グループの属性を宣言する、ほかのプロパティ定義で参照されます。 以下の例では、3 つの URL グループのキーを定義します。
introscope.agent.urlgroup.keys=alpha,beta,gamma
URL グループのキーを指定する順序は重要です。
URL グループ メンバシップの定義
introscope.agent.urlgroup.group.GroupKey.pathprefix
プロパティを使用して、URL グループ内に含める要求を定義します。 URL のパス プレフィクスと照合するパターンを指定します。 アスタリスク記号(*)をワイルドカードとして使用できます。
  • 例 1
    この
    introscope.agent.urlgroup.group.alpha.pathprefix
    プロパティ設定では、URL のパス部分が
    /TestWar
    で始まるすべての要求を、キーが
    alpha
    の URL グループに割り当てています。
    introscope.agent.urlgroup.group.alpha.pathprefix=/TestWar
    たとえば、以下の要求は、指定した
    pathprefix
    と一致します。
    http://burger1.com/TestWar/burgerServlet?ViewItem&category=11776&item=5550662630&rd=1
    http://burger1.com/TestWar/burgerServlet?Command=Order&item=5550662630
  • 例 2
    コール センタ サービスを提供する企業は、アプリケーションの機能ごとに URL グループを設定することによって、機能分野ごとの応答時間のモニタを行うことができます。 顧客は以下の URL でサービスにアクセスできます。
    http://genesystems/us/application_function/
    この URL では、
    application_function
    は、OrderEntry、AcctService、および Support などのアプリケーションに対応します。 各 URL グループの
    introscope.agent.urlgroup.group.alpha.pathprefix
    プロパティ設定では、適切な application_function を指定します。
URL グループ名の定義
introscope.agent.urlgroup.group.GroupKey.format
プロパティを使用して、キーが
GroupKey
である URL グループの応答時間メトリックがメトリック ブラウザで表示されるときの表示名を指定します。
通常、format プロパティは、テキスト文字列を URL の名前として割り当てるために使用されます。 以下の例では、キー
alpha
を持つ URL グループのメトリックが、
Alpha Group
という名前でメトリック ブラウザに表示されます。
introscope.agent.urlgroup.group.alpha.format=Alpha Group
URL グループの高度な名前付け手法
URL グループ名を、要求エレメントから派生させることができます。 たとえば、サーバ ポート、プロトコル、または要求 URL のサブ文字列などです。 この機能は、要求を調べればアプリケーション モジュールを簡単に区別できる場合に便利です。 以下のセクションでは、
introscope.agent.urlgroup.group.alpha.format
プロパティを設定するための高度な形式について説明します。
URL グループ名にホストを使用
URL グループのメトリックを、要求に関連付けられている HTTP サーバのホスト名を反映した Investigator ノード名でグループ化することができます。
introscope.agent.urlgroup.group.alpha.format
プロパティを設定する方法を以下に示します。
introscope.agent.urlgroup.group.alpha.format={host}
たとえば、以下の要求の統計情報はそれぞれメトリック名
および
uk.mybank.com
の下に表示されます。
https://
us.mybank.com
/mifi/loanApp...
https://
uk.mybank.com
/mifi/loanApp...
URL グループ名にプロトコルを使用
URL グループの統計情報を要求に関連付けられているプロトコルを反映した名前でまとめるには、format プロパティを以下のように定義します。
introscope.agent.urlgroup.group.alpha.format={protocol}
format={protocol} の場合、統計は、Investigator で、要求 URL のプロトコルの部分に対応したメトリック名でグループ化されます。 たとえば、以下の要求の統計情報は、メトリック名
https
の下に表示されます。
https
://us.mybank.com/cgi-bin/mifi/scripts......
https
://uk.mybank.com/cgi-bin/mifi/scripts......
URL グループ名にポートを使用
URL グループの統計情報を要求に関連付けられているポートを反映した名前でグループ化するには、format プロパティを以下のように定義します。
introscope.agent.urlgroup.group.alpha.format={port}
format={port} の場合、統計は、要求 URL のポートの部分に対応した名前で、グループ化されます。 たとえば、以下の要求の統計は、
9001
という名前の下に表示されます。
https://us.mybank.com:
9001
/cgi-bin/mifi/scripts......
https://uk.mybank.com:
9001
/cgi-bin/mifi/scripts......
URL グループ名にパラメータを使用
URL グループの統計情報を、要求に関連付けられているパラメータを反映したメトリック名でまとめることができます。
introscope.agent.urlgroup.group.alpha.format
プロパティを以下のように設定します。
introscope.agent.urlgroup.group.alpha.format={query_param:
param
}
format={query_param:param}
の場合、統計は、メトリック ブラウザで、指定したパラメータの値に対応したメトリック名でグループ化されます。 パラメータのない要求は、
<empty>
の下に一覧表示されます。 たとえば、以下のパラメータ定義を使用するとします。
introscope.agent.urlgroup.group.alpha.format={query_param:category}
以下の要求の統計は、メトリック名
734
で表示されます。
http://ubuy.com/ws/shopping?ViewItem&
category=734
&item=3772&tc=photo
http://ubuy.com/ws/shopping?ViewItem&
category=734
&item=8574&tc=photo
URL グループ名に要求パスのサブ文字列を使用
URL グループの統計情報を要求 URL のパス部分のサブ文字列を反映した名前でまとめるには、
format
プロパティを以下のように定義します。
introscope.agent.urlgroup.group.alpha.format={path_substring:
m
:
n
}
ここで、「
m
」は、最初の文字のインデックスで、「
n
」は、最後の文字のインデックス +1 です。 たとえば、以下のように設定されているとします。
introscope.agent.urlgroup.group.alpha.format={path_substring:0:3}
この例で示すように、メトリック ノード
/ht
下のこの要求の統計が表示されます。
URL グループ名に要求パスの区切り文字列部分を使用
URL グループの統計情報を要求 URL パスの文字区切りの部分を反映した名前でまとめるには、
format
プロパティを以下のように定義します。
introscope.agent.urlgroup.group.alpha.format={path_delimited:
delim_char
:m:n}
delim_char
変数は、パス内のセグメントを区切ります。
m
変数は、選択する最初のセグメントのインデックスです。
n
変数は、1 つを選択する最後のセグメントのインデックス +1 です。
以下のルールが適用されます。
  • 区切り文字もセグメントとしてカウントされます。
  • セグメントのカウントは 0 から始まります。
たとえば、
introscope.agent.urlgroup.group.alpha.format
は以下のように設定されます。
introscope.agent.urlgroup.group.alpha.format={path_delimited:/:2:4}
示される形式の要求の統計は、メトリック ノード
/pageid
の下に表示されます。
http://www.buyitall.com/userid,sessionid/pageid
以下の表は、上記の例のスラッシュ文字で区切られたセグメントを示します。
セグメント インデックス
0
1
2
3
セグメント文字列
/
userid,sessionid
/
pageid
複数の区切り文字
複数の区切り文字を指定できます。 たとえば、
introscope.agent.urlgroup.group.alpha.format
は以下のように設定されます。
introscope.agent.urlgroup.group.alpha.format={path_delimited:/,:3:4}
示される形式の要求の統計は、メトリック ノード
sessionid
の下に表示されます。
http://www.buyitall.com/userid,sessionid/pageid
以下の表は、上記の例のスラッシュおよびカンマ文字で区切られたセグメントを示します。
セグメント インデックス
0
1
2
3
4
5
セグメント文字列
/
userid
,
sessionid
/
pageid
URL グループに対する複数の命名メソッドの使用
以下のように、複数の命名メソッドを 1 つの
format
文字列に組み合わせることができます。
introscope.agent.urlgroup.group.alpha.format=red {host} orange {protocol} yellow {port} green {query_param:foo} blue {path_substring:2:5} indigo {path_delimited:/:0:1} violet {path_delimited:/:1:4} ultraviolet {path_substring:0:0} friend computer
一意のフロントエンド URL グループ メトリックの数の制限
introscope.agent.urlgroup.frontend.url.clamp
プロパティを使用して、.NET エージェントによって作成される一意のフロントエンド URL グループ メトリックの数を制限することができます。 新しい URL が設定値に達すると、新しい URL グループのメトリックはメトリック ブラウザ
Frontends|Apps|URLs|Default
ノードの下に表示されます。 このプロパティは、メトリックの急増を防ぐのに役立ちます。
Frontends|Apps|URLs
ノードから意味のあるメトリックを収集するには、展開に関連する URL グループを設定します。
以下の手順に従います。
  1. テキスト エディタで、<Agent_Home> ディレクトリの IntroscopeAgent.profile を開きます。
  2. [URL グループ化設定]セクションに移動します。
  3. introscope.agent.urlgroup.frontend.url.clamp
    プロパティを設定します。
    デフォルトの URL グループ数は 5 つです。
  4. ファイルを保存して閉じます。
    管理対象アプリケーションの再起動は必要ありません。
フロントエンド URL グループの名前付け
すべてがデフォルトの introscopeAgent.profile 設定に設定されている場合、以下のフロントエンド URL グループ プロパティは連携します。
introscope.agent.urlgroup.keys=resources,default
introscope.agent.urlgroup.group.resources.pathprefix=*/bundle*
introscope.agent.urlgroup.group.resources.format=Resources
introscope.agent.urlgroup.group.default.pathprefix=*
introscope.agent.urlgroup.group.default.format={path_delimited:/:0:5}
introscope.agent.urlgroup.frontend.url.clamp=5
この設定では、デフォルト フロントエンド URL は URL グループに表示されます。 URL グループは、URL パスの URL ポートの後に 2 つのディレクトリが配置されて命名されます。
たとえば、URL パス http://localhost:80/abc/def/default.aspx では、ポートは 80 です。 [メトリック ブラウザ]では、URL http://localhost:80/abc/def/default.aspx のフロントエンドは、
Frontends|Apps|URLs|
abc/def
/ ノードに一覧表示されます。 すべての .NET アプリケーション間で作成されたフロントエンド URL グループの数が
introscope.agent.urlgroup.frontend.url.clamp
設定に達すると、新しい URL が
Frontends|Apps|URLs|Default
ノードの下に表示されます。
フロントエンド URL グループの名前付け正規化の例
デフォルトの NET URL グループ プロパティ設定により、以下の例に示すように .NET エージェントで URL を正規化できます。
  • 正規化された
    /ShoppingKart/generateTxn/invokeService
    URL は、
    正規化された ShoppingKart/generateTxn
    URL になります。
  • 正規化されていない
    /ShoppingKart/bundle/jquery
    URL は、正規化された
    Resources
    URL になります。
  • 正規化されていない
    /ShoppingKart/Default.aspx
    URL では、正規化された
    /ShoppingKart/Default.aspx
    URL になります。
フロントエンド リソース URL グループ
フロントエンド URL グループには、特定のファイル拡張子、たとえば、<
filename
>.png の png などを含めることができます。これらの拡張子は
リソース
と呼ばれます。
introscope.agent.urlgroup.frontend.url.resources.list
プロパティは、ファイル拡張子の種類を指定します。 デフォルトの設定は、以下のとおりです。
introscope.agent.urlgroup.frontend.url.resources.list=tif,tiff,jpg,jpeg,gif,png,bmp,bmpf,ico,cur,xbm,svg,img,css,woff,nil
フロントエンド URL に、
introscope.agent.urlgroup.frontend.url.resources.list
に記載されているリソースが含まれている場合、そのリソースは
Frontends|Apps|URLs|Resources
ノードの下に表示されます。
/bundle
セグメントが含まれる URL は
Default
ノードではなく、
Resources
ノードの下にグループ化されます。
リソース URL グループは無効な URL が、一意で 1 回限りのメトリックを作成したり、大量の Enterprise Manager メモリを消費したりすることを防ぎます。 一般的に、無効な URL とは、404 エラーを生成する URL です。