Splunk RUM での URL グループ化のカスタムルールの作成

ビジネス仕様と一致する基準に基づいてURLをグループ化するカスタムルールを記述し、ビジネスニーズと一致するようにデータを編成します。パスとドメインの両方で URL をグループ化します。

Splunk RUM は、ページロードとルート変更期間、JavaScript エラー、バックエンドエラー、Web バイタルなど、エラーとメトリックをキャプチャするデフォルトのルールに基づいて URL を自動的にグループ化します。

Splunk RUM のカスタムルールとは?

仕様に基づいて、共通のコンポーネントを含む URL をグループ化するカスタムルールを記述します。ルールをカスタマイズすることで、お客様と組織が最も意味をなす方法で Splunk RUM 内のデータを合理化できます。パスとドメインの両方で URL をグループ化できます。

また、Splunk RUM でページレベルのメトリック(rum.node.*)を生成するためのカスタム URL グループ化ルールも必要です。

カスタムルールの作成

カスタムルールを作成するには、次の手順を実行します。

  1. URL について確認してください。コンポーネントとトークンを識別します。

  2. どのような結果が表示されるかを把握します。

  3. パターンの構文と例を確認し、データに対して機能するルールの作成方法を理解してください。

  4. デフォルトのルールを参照し、ルールを機能させるためにいずれかを非アクティブ化する必要があるかどうかを確認します。

URL のコンポーネントの識別方法

Splunk RUM の範囲内では、URL に次のコンポーネントがあります。

  • scheme

  • ドメイン

  • path

  • fragment

URL (https://example.com/path/page#title)について考えてみましょう。

この URL をコンポーネントに分割する方法は次のとおりです。

コンポーネント

スキーム

https

ドメイン

example.com

パス

/パス/ページ

フラグメント

#title

トークンの識別方法

Splunk RUM でのルールの記述に関して言えば、URL はドメインとパスの 2 つの部分で構成されます。トークンは、パスを示すスラッシュ(/)またはドメインを示すピリオド(.)のいずれかで区切られた、正確に 1 つの単語です。次の定義と例は、ユースケースに最適なルールを作成できるように、URL のトークンを識別する方法を示しています。

ドメイン

ドメインは、最上位ドメインとそのプレフィックス付きのサブドメインで構成されます。ホストトークンは、ピリオド記号()で区切ります。)たとえば、 subdomain.domain.com は、 subdomaindomaincom の各トークンに分割されます。

パス

パスのコンポーネントは、スラッシュ記号(/)で区切ります。たとえば、 https://example.com/documentation/section/topic は 次のトークンに分割されます。Documentation sectiontopic

URL でのハッシュトークン(#)のサポート

単一ページアプリケーションでは、URL パスの最後にハッシュトークン(#)を使用してフラグメントを追加します。次の URL は、ハッシュ記号の後に単一ページ アプリケーションからのブログ投稿がどのようにリストされるかを示しています。https ://example.com/#/ブログpost。デフォルトでは、ハッシュ後のフラグメントは、ルールに含める指定がない限り、Splunk RUM によって無視されます。たとえば、フラグメント #title は 、https: //example.com/path/page.html#titleのパスから除外されます。

パターン構文

次の表に、パターン、このパターンに一致する URL の例、パターンに一致しない URL の例を示します。

ルールとは

ルールでは、共通の特性に基づいて URL をグループ化する方法を定義します。開始するには、最初にドメインルールを追加してから、パスルールを追加します。

パターンとは何か?

パターンは、ルールの最も重要なコンポーネントです。パターンは、ルールに一致するすべての URL によって共有される、パスまたはドメインの共通部分を定義します。パターンは、URL のドメインとパスのようなトークンでも構成されます。パターン内のワイルドカードは、URL のパスまたはドメインの実際のトークンに一致します。ワイルドカードをパターンに適用して、1 つ以上のトークンに一致させることができます。

<?>単一トークンのワイルドカード

この例は、 を使用する方法を示しています。<?>記号を使用して、パスごとに URL をグループ化する単一のトークン ワイルドカードを適用できます。

パターン

一致するパスの例

一致しないパスの例

/app/<?>

  • /app/v1

  • /app/v2

  • /アプリ/ダッシュボード

  • /app

  • /app/v1/dashboard

  • /applications/v1

<??>1 つ以上の末尾のトークンのワイルドカード

この例は、 を使用する方法を示しています。<??>ワイルドカードを使用して、1 つまたは複数のトークンで URL をグループ化できます。、<??>ワイルドカードは、現時点ではパターンの最後のワイルドカードとしてのみサポートされています。

パターン

一致するパスの例

一致しないトークンの例

/app/<??>

  • /app/v1

  • /app/v2

  • /アプリ/ダッシュボード

  • /app/v1/dashboard

  • /app/v2/dashboard/123

  • /app/v2/dashboard/123/edit

  • /app

  • /applications/v1

組み合わせパターン

次に、ワイルドカードの組み合わせを使用して複数のトークンのパターンで URL をグループ化する例を示します。

パターン

一致するパスの例

一致しないパスの例

/<?> /v2/<??>

  • /api/v2/users

  • /api/v2/profiles/edit

  • /app/v2/dashboard/123

  • /api/v3/ユーザー

  • /app/dashboard/v2/charts

  • /app/v2

無効な構文

次の構文は無効です。

無効な構文

説明

  • .ABC

  • ABC

"." でパターンを開始または終了文字。

A.<??> .C

、<??>ワイルドカードは常にパターンの最後になる必要があります。

<?>ABC

混在させないでください<?>パターン内の他の文字を含むワイルドカード。ワイルドカードは、 間のドメインコンポーネント全体を置き換えます デリミタ。

/ロール<?>/ipsum

ワイルドカードは URL のパス内の 2 つの / 記号の間に配置する必要があるため、このパターンは無効です。有効なパターンは /です<?>/ipsum を参照してください。

lorem.ips<??>

このパターンは無効です。<??>ワイルドカードはピリオド文字で区切られていません(. )有効なパターンは lorem.ipsum です。<??> 。

A/B/C

パスのパターンは、スラッシュ ( / ) で始める必要があります。

/A/<??> /C

、<??>ワイルドカードはパターン内の最後のトークンにする必要があります。

/A/B<?> /C

、<?>ワイルドカードはスラッシュ(/)デリミタで区切る必要があります。

デフォルトルール

注: 少なくとも 1 つの一致するドメインとパスのルールが必要です。

RUM には 、 [データ管理(Data Management)][RUM URL グループ化(RUM URL grouping)]タブにあるいくつかのデフォルトルールがあります。デフォルトルールと競合するルールを作成する場合は、デフォルトルールをグローバルに、またはアプリケーションごとに非アクティブにできます。

このアスタリスク ワイルドカード( * ) は、/app/で始まるすべてのパスと一致します。

パターン

一致するパスの例

一致しないパスの例

/app/<*>

  • /app/v1

  • /app/v2

  • /アプリ/ダッシュボード

  • /app/v1/

  • /applications/v1

ワイルドカード W* は、 数字が含まれていないトークンに適用されます。このパターンは 、/app/ で始まり、数字のないトークンが続くすべてのパスと一致します。

パターン

一致するパスの例

一致しないパスの例

/app/<w*>

  • /app/chart

  • /アプリ/ダッシュボード

  • /app/v1

  • /app/v2

ユースケース

次の例は、解決するユースケースに応じて URL をグループ化するためにルールを適用する方法の概要を示しています。

を使用します<?>製品 ID 別に URL をグループ化するワイルドカード

オンライン小売業者が、製品 ID によって URL をグループ化するとします。この例では、製品 ID は、URL のパスの /merchance/ の 後の文字と数字の組み合わせです。

URL の例

パターン

結果

  • example.com/merchandise/i139sd

  • example.com/merchandise/71239

  • example.com/merchandise/8fsd72

/merchanこと/<?>

結果には、同じ製品 ID( https://example.com/merchance/)を含むすべての URL がグループ化されます。<?>

この例では、まず次のようなドメインルールを作成する必要があります。

これは、<??>ワイルドカードを使用します。

次に、パスルールを作成します。

これは、<??>ワイルドカードを使用します。

を使用します<?>サブドメインでグループ化するワイルドカード

この例は、 を使用する方法を示しています。<?>同じサブドメインで URL をグループ化するためのワイルドカード。

URL の例

パターン

結果

  • sub3nds9.example.com

  • subfd89fs.example.com

  • sub6f8sd.example.com

<?>.example.com

結果には、同じサブドメインを持つすべての URL がグループ化されます。https ://<?> .example.com/ に接続します。

たとえば、次のルールを作成する方法を示します。

これは、<?>ワイルドカードを使用します。

を使用します<??>文字列でグループ化するワイルドカード

任意の関数について、v1 および v2 API 全体のパフォーマンスを測定するとします。このルールでは、<??>パスの残りの部分をワイルドカード化します。

URL の例

ルール

結果

  • /api/v1/downloadimage/api/v2/downloadimage/api/?>

  • api/v2/downloadimage

/api/<??>

API 機能ごとに URL をグループ化します。

たとえば、次のルールを作成する方法を示します。

これは、<??>ワイルドカードを使用します。

URL グループ化ルールの管理

UI では、ホストルールとパスルールを組み合わせて URL 名が作成されます。スパンは Splunk RUM で 8 日間保持されます。詳細については、 「Splunk Observability Cloud でのデータ保持」を参照してください。ルールの変更は、着信データにのみ適用されます。

注: 最初にドメインルールを作成する必要があり、その後、パスルールを追加できます。ルールを編集、非アクティブ化、または削除する場合、変更は将来のデータにのみ適用され、Splunk RUM によってすでに取り込まれたデータには適用されません。

新規ルールを作成

新しい規則を作成するには、次の手順を実行します。

  1. Splunk RUM URL ルールマネージャにアクセスするには、次の 4 つの方法があります。
    1. 左側のナビゲーションパネルから、[Application Summary] ダッシュボードで [RUM > Configuration > ] [RUM URL Grouping Rules] を選択します。

    2. 左側のナビゲーションパネルから、[データ構成(Data Configuration)] で [設定(Settings)] > [RUM URLグループ化ルール(RUM URL grouping Rules)] を選択します。

    3. [RUM Overview] ダッシュボードから、 [RUM Configuration] > [RUM URL Grouping Rules]を選択します。

    4. [RUM Tag] スポットライトビューから、3 点ドットの設定ボタンを選択した後、 [RUM] [URL Grouping Rules] を選択します。

  2. [新しいルール(New Rule)]を選択します。

  3. ルールを作成する URL トークンを選択します。

  4. モニターするアプリケーションを選択します。アプリケーションを選択しない場合、ルールはすべてに適用されます。

  5. URL をグループ化するパターンを記述します。

  6. [作成(Create)] を選択します。

既存のルールの編集

既存のルールを編集するには、次の手順を実行します。

  1. RUM URL ルールマネージャに移動します。

  2. 3 つのドット記号を選択し、 [編集(Edit)] を選択します。

  3. 変更を加えてから、 [更新(Update)]を選択します。

ルールの非アクティブ化または再アクティブ化

既存のルールを非アクティブ化または再アクティブ化するには、次の手順に従います。ルールを非アクティブ化すると、Splunk RUM はこのルールに従って着信データの処理を停止します。ルールを非アクティブ化し、将来再度アクティブ化することを選択した場合、ルールは Splunk RUM によってすでに取り込まれているデータには適用されません。

  1. RUM URL ルールマネージャに移動します。

  2. 3 つのドット記号を選択し、 [編集(Edit)] を選択します。
    1. ルールをアクティブ化するには、 [アクティブ化(Activate)]を選択します。

    2. ルールを非アクティブ化するには、 [はい、このルールを非アクティブ化します(Yes, deactivate this rule)]を選択します。

削除

ルールを削除するには、次の手順を実行します。

  1. RUM URL ルールマネージャに移動します。

  2. 3 つのドット記号を選択し、 [編集(Edit)] > [削除(Delete)] > [はい、このルールを削除します(Yes, delete this rule)]を選択します。