Especificación de metadatos personalizados - Amazon CloudWatch

Especificación de metadatos personalizados

CloudWatch RUM adjunta datos adicionales a cada evento en forma de metadatos. Los metadatos de eventos constan de atributos en forma de pares clave-valor. Puede usar estos atributos para buscar o filtrar eventos en la consola de CloudWatch RUM. De forma predeterminada, CloudWatch RUM crea algunos metadatos que puede usar. Para obtener más información acerca de los metadatos predeterminados, consulte Metadatos del evento de RUM.

También puede utilizar el cliente web de CloudWatch RUM para agregar metadatos personalizados a los eventos de CloudWatch RUM. Algunos metadatos personalizados pueden ser atributos de sesión y atributos de página.

Para agregar metadatos personalizados, debe utilizar la versión 1.10.0 o posterior del cliente web de CloudWatch RUM.

Requisitos y sintaxis

Cada evento puede incluir hasta 10 atributos personalizados en los metadatos. Los requisitos de sintaxis para los atributos personalizados son los siguientes:

  • Claves

    • Máximo de 128 caracteres

    • Puede contener caracteres alfanuméricos, caracteres de dos puntos (:) y guiones bajos (_).

    • No puede empezar por aws:.

    • No puede constar exclusivamente de ninguna de las palabras clave reservadas que figuren en la siguiente sección. Puede usar esas palabras clave como parte de un nombre de clave más largo.

  • Valores

    • Máximo de 256 caracteres

    • Deben ser cadenas, números o valores booleanos

Palabras clave reservadas

No puede utilizar las siguientes palabras clave reservadas como nombres de clave completos. Puede utilizar las siguientes palabras clave como parte de un nombre de clave más largo, por ejemplo applicationVersion.

  • browserLanguage

  • browserName

  • browserVersion

  • countryCode

  • deviceType

  • domain

  • interaction

  • osName

  • osVersion

  • pageId

  • pageTags

  • pageTitle

  • pageUrl

  • parentPageId

  • platformType

  • referrerUrl

  • subdivisionCode

  • title

  • url

  • version

nota

CloudWatch RUM elimina los atributos personalizados de los eventos de RUM si un atributo incluye una clave o un valor inválido, o si ya se ha alcanzado el límite de 10 atributos personalizados por evento.

Adición de atributos de sesión

Si configura atributos de sesión personalizados, se agregan a todos los eventos de una sesión. Los atributos de sesión se configuran durante la inicialización del cliente web de CloudWatch RUM o en tiempo de ejecución mediante el comando addSessionAttributes.

Por ejemplo, puede agregar la versión de su aplicación como un atributo de sesión. A continuación, en la consola de CloudWatch RUM, puede filtrar los errores por versión para ver si hay un aumento en la tasa de errores asociado a una versión concreta de la aplicación.

Agregar un atributo de sesión en la inicialización, ejemplo de NPM

La sección de código en negrita agrega el atributo de sesión.

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 }

Agregar un atributo de sesión en tiempo de ejecución, ejemplo de NPM

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

Agregar un atributo de sesión en la inicialización, ejemplo de script incrustado

La sección de código en negrita agrega el atributo de sesión.

<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>

Agregar un atributo de sesión en tiempo de ejecución, ejemplo de script incrustado

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

Adición de atributos de página

Si configura atributos de página personalizados, se agregan a todos los eventos de la página actual. Los atributos de página se configuran durante la inicialización del cliente web de CloudWatch RUM o en tiempo de ejecución mediante el comando recordPageView.

Por ejemplo, puede agregar una plantilla de página como un atributo de página. A continuación, en la consola de CloudWatch RUM, puede filtrar los errores por plantillas de página para ver si hay un aumento en la tasa de errores asociado a una plantilla de página concreta de la aplicación.

Agregar un atributo de página en la inicialización, ejemplo de NPM

La sección de código en negrita agrega el atributo de página.

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);

Agregar un atributo de página en tiempo de ejecución, ejemplo de NPM

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

Agregar un atributo de página en la inicialización, ejemplo de script incrustado

La sección de código en negrita agrega el atributo de página.

<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>

Agregar un atributo de página en tiempo de ejecución, ejemplo de script incrustado

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

Filtrar por atributos de metadatos en la consola

Para filtrar las visualizaciones en la consola de CloudWatch RUM con cualquier atributo de metadatos integrado o personalizado, utilice la barra de búsqueda. En la barra de búsqueda, puede especificar hasta 20 términos de filtro en forma de clave=valor para aplicarlos a las visualizaciones. Por ejemplo, para filtrar datos únicamente para el navegador Chrome, puede añadir el término de filtro browserName=Chrome.

De forma predeterminada, la consola RUM de CloudWatch recupera los 100 atributos, claves y valores más comunes para mostrarlos en el menú desplegable de la barra de búsqueda. Para agregar más atributos de metadatos como términos de filtro, ingresa la clave y el valor del atributo completos en la barra de búsqueda.

Un filtro puede incluir hasta 20 términos de filtro y puede guardar hasta 20 filtros por monitor de aplicación. Al guardar un filtro, se guarda en el menú desplegable Saved filters (Filtros guardados). También puede eliminar un filtro guardado.