カスタムメタデータを指定する - Amazon CloudWatch

カスタムメタデータを指定する

CloudWatch RUM は、メタデータとして各イベントに追加データをアタッチします。イベントメタデータはキーと値のペアの形式の属性で構成されます。これらの属性を使用して、CloudWatch RUM コンソールでイベントを検索またはフィルタリングできます。デフォルトでは、CloudWatch RUM はいくつかのメタデータを自動的に作成します。デフォルトメタデータの詳細については、「RUM イベントのメタデータ」を参照してください。

また、CloudWatch RUM ウェブクライアントを使用して、CloudWatch RUM イベントにカスタムメタデータを追加することもできます。カスタムメタデータには、セッション属性とページ属性を含めることができます。

カスタムメタデータを追加するには、CloudWatch RUM ウェブクライアントのバージョン 1.10.0 以降を使用する必要があります。

要件と構文

各イベントのメタデータには最大で 10 個のカスタム属性を含めることができます。カスタム属性の構文要件は次のとおりです。

  • キー

    • 最大 128 文字

    • 英数字、コロン (:)、アンダースコア (_) を使用できます。

    • 先頭を aws: にすることはできません。

    • 次のセクションに記載されている予約キーワードのみで構成することはできません。これらのキーワードを長いキー名の一部として使用することはできます。

  • []

    • 最大 256 文字

    • 文字列、数値、またはブール値である必要があります

予約キーワード

次の予約キーワードをキー名そのものとして使用することはできません。次のキーワードを applicationVersion のように長いキー名の一部として使用することはできます。

  • browserLanguage

  • browserName

  • browserVersion

  • countryCode

  • deviceType

  • domain

  • interaction

  • osName

  • osVersion

  • pageId

  • pageTags

  • pageTitle

  • pageUrl

  • parentPageId

  • platformType

  • referrerUrl

  • subdivisionCode

  • title

  • url

  • version

注記

CloudWatch RUM は、属性に無効なキーまたは値が含まれている場合、またはイベントあたりのカスタム属性の上限 10 個に既に達している場合、RUM イベントからカスタム属性を削除します。

セッション属性を追加する

カスタムセッション属性を設定すると、セッション内のすべてのイベントに追加されます。セッション属性は、CloudWatch RUM ウェブクライアントの初期化中または実行時に addSessionAttributes コマンドを使用して設定します。

例えば、アプリケーションのバージョンをセッション属性として追加できます。次に、CloudWatch RUM コンソールで、エラーをバージョン別にフィルタリングして、エラー率の増加がアプリケーションの特定のバージョンに関連しているかどうかを確認できます。

初期化時のセッション属性の追加、NPM の例

太字のコードセクションでセッション属性が追加されます。

import { AwsRum, AwsRumConfig } from 'aws-rum-web'; try { const config: AwsRumConfig = { allowCookies: true, endpoint: "https://dataplane.rum.us-west-2.amazonaws.com", guestRoleArn: "arn:aws:iam::000000000000:role/RUM-Monitor-us-west-2-000000000000-00xx-Unauth", identityPoolId: "us-west-2:00000000-0000-0000-0000-000000000000", sessionSampleRate: 1, telemetries: ['errors', 'performance'], sessionAttributes: { applicationVersion: "1.3.8" } }; const APPLICATION_ID: string = '00000000-0000-0000-0000-000000000000'; const APPLICATION_VERSION: string = '1.0.0'; const APPLICATION_REGION: string = 'us-west-2'; const awsRum: AwsRum = new AwsRum( APPLICATION_ID, APPLICATION_VERSION, APPLICATION_REGION, config ); } catch (error) { // Ignore errors thrown during CloudWatch RUM web client initialization }

実行時のセッション属性の追加、NPM の例

awsRum.addSessionAttributes({ applicationVersion: "1.3.8" })

初期化時のセッション属性の追加、埋め込みスクリプトの例

太字のコードセクションでセッション属性が追加されます。

<script> (function(n,i,v,r,s,c,u,x,z){...})( 'cwr', '00000000-0000-0000-0000-000000000000', '1.0.0', 'us-west-2', 'https://client.rum.us-east-1.amazonaws.com/1.0.2/cwr.js', { sessionSampleRate:1, guestRoleArn:'arn:aws:iam::000000000000:role/RUM-Monitor-us-west-2-000000000000-00xx-Unauth', identityPoolId:'us-west-2:00000000-0000-0000-0000-000000000000', endpoint:'https://dataplane.rum.us-west-2.amazonaws.com', telemetries:['errors','http','performance'], allowCookies:true, sessionAttributes: { applicationVersion: "1.3.8" } } ); </script>

実行時のセッション属性の追加、埋め込みスクリプトの例

<script> function addSessionAttribute() { cwr('addSessionAttributes', { applicationVersion: "1.3.8" }) } </script>

ページ属性を追加する

カスタムページ属性を設定すると、現在のページのすべてのイベントに追加されます。ページ属性は、CloudWatch RUM ウェブクライアントの初期化中または実行時に recordPageView コマンドを使用して設定します。

例えば、ページテンプレートをページ属性として追加できます。次に、CloudWatch RUM コンソールで、エラーをページテンプレート別にフィルタリングして、エラー率の増加がアプリケーションの特定のページテンプレートに関連しているかどうかを確認できます。

初期化時のページ属性の追加、NPM の例

太字のコードセクションでページ属性が追加されます。

const awsRum: AwsRum = new AwsRum( APPLICATION_ID, APPLICATION_VERSION, APPLICATION_REGION, { disableAutoPageView: true // optional } ); awsRum.recordPageView({ pageId:'/home', pageAttributes: { template: 'artStudio' } }); const credentialProvider = new CustomCredentialProvider(); if(awsCreds) awsRum.setAwsCredentials(credentialProvider);

実行時のページ属性の追加、NPM の例

awsRum.recordPageView({ pageId: '/home', pageAttributes: { template: 'artStudio' } });

初期化時のページ属性の追加、埋め込みスクリプトの例

太字のコードセクションでページ属性が追加されます。

<script> (function(n,i,v,r,s,c,u,x,z){...})( 'cwr', '00000000-0000-0000-0000-000000000000', '1.0.0', 'us-west-2', 'https://client.rum.us-east-1.amazonaws.com/1.0.2/cwr.js', { disableAutoPageView: true //optional } ); cwr('recordPageView', { pageId: '/home', pageAttributes: { template: 'artStudio' } }); const awsCreds = localStorage.getItem('customAwsCreds'); if(awsCreds) cwr('setAwsCredentials', awsCreds) </script>

実行時のページ属性の追加、埋め込みスクリプトの例

<script> function recordPageView() { cwr('recordPageView', { pageId: '/home', pageAttributes: { template: 'artStudio' } }); } </script>

コンソールでのメタデータ属性によるフィルタリング

CloudWatch RUM コンソールでビジュアライゼーションを組み込みまたはカスタムのメタデータ属性でフィルタリングするには、検索バーを使用します。検索バーでは、可視化に適用するフィルター用語を [key=value] (キー=値) の形式で最大 20 個指定できます。例えば、Chrome ブラウザのデータのみをフィルタリングするには、browserName=Chrome というフィルター用語を追加できます。

デフォルトでは、CloudWatch RUM コンソールは最も一般的な 100 個の属性のキーと値を取得して、検索バーのドロップダウンに表示します。さらにメタデータ属性をフィルター用語として追加するには、検索バーに属性のキーと値を完全な形で入力します。

フィルターには最大 20 のフィルター用語を含めることができ、アプリケーションモニターごとに最大 20 のフィルターを保存できます。フィルターを保存すると、そのフィルターは [Saved filters] (保存済みのフィルター) ドロップダウンに保存されます。保存したフィルターを削除することもできます。