本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
指定自訂中繼資料
CloudWatch RUM將其他資料作為中繼資料附加至每個事件。事件中繼資料是由鍵-值對形式的屬性組成。您可以使用這些屬性來搜尋或篩選 CloudWatch RUM主控台中的事件。依預設, CloudWatch RUM會為您建立一些中繼資料。如需有關預設中繼資料的詳細資訊,請參閱 RUM事件元數據。
您也可以使用 CloudWatch RUM Web 用戶端將自訂中繼資料新增至 CloudWatch RUM事件。自訂中繼資料可以包含工作階段屬性和頁面屬性。
若要新增自訂中繼資料,您必須使用 CloudWatch RUM Web 用戶端的 1.10.0 版或更新版本。
要求與語法
每個事件可以在中繼資料中包含多達 10 個自訂屬性。自訂屬性的語法要求如下:
鍵
-
最多 128 個字元。
-
可以包含英數字元、冒號 (:) 和底線 (_)。
-
開頭不能是
aws:
。 -
不能完全由下一節中列出的任何保留關鍵字組成。可以將這些關鍵字用作鍵名稱的一部分。
-
Values (數值)
-
最多 256 個字元。
-
必須是字串、數字或布林值
-
保留的關鍵字
您不能使用下列保留關鍵字作為完整鍵名稱。您可以使用下列關鍵字作為鍵名稱的一部分,例如 applicationVersion
。
-
browserLanguage
-
browserName
-
browserVersion
-
countryCode
-
deviceType
-
domain
-
interaction
-
osName
-
osVersion
-
pageId
-
pageTags
-
pageTitle
-
pageUrl
-
parentPageId
-
platformType
-
referrerUrl
-
subdivisionCode
-
title
-
url
-
version
注意
CloudWatch RUM如果屬性包含無效的索引鍵或值,或已達到每個RUM事件 10 個自訂屬性的限制,則會從事件中移除自訂屬性。
新增工作階段屬性
如果您設定自訂工作階段屬性,屬性會新增至工作階段中的所有事件。您可以在 CloudWatch RUM Web 客戶端初始化期間或在運行時使用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 Web 客戶端初始化期間或在運行時使用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 (已儲存的篩選條件) 下拉式清單中。您也可以刪除儲存的篩選條件。