A continuación se muestran algunos ejemplos de diversas configuraciones browser que puede realizar con GraphQL.
Crear una nueva aplicación browser
Puede crear una aplicación browser utilizando nuestra API NerdGraph en lugar de utilizar la UI. La ventaja de esto es que cuando llega el momento de instrumentar la aplicación de su browser con New Relic, puede crear y recuperar mediante programación el fragmento de JavaScript para copiarlo y pegarlo en la aplicación de su browser .
Para saber cómo usar npm para configurar para múltiples aplicaciones, consulte instrumentar múltiples aplicaciones con npm.
A continuación se muestra un ejemplo de mutación para crear una nueva aplicación browser con la configuración predeterminada.
Mutación:
mutation CreateExampleBrowserApplication( $accountId: Int! $name: String! $settings: AgentApplicationBrowserSettingsInput) { agentApplicationCreateBrowser( accountId: $accountId name: $name settings: $settings ) { guid name settings { cookiesEnabled distributedTracingEnabled loaderScript loaderType } }}Variables:
{ "accountId": Int!, "name": String!, "settings": { "cookiesEnabled": Boolean, "distributedTracingEnabled": Boolean, "loaderType": AgentApplicationBrowserLoader }}Recuperar el fragmento de JavaScript
Puede recuperar el fragmento de JavaScript para copiarlo y pegarlo en su aplicación. Tenga en cuenta que el fragmento devuelto es una cadena codificada en JSON que deberá analizarse antes de poder copiarlo y pegarlo.
Consultar:
query FetchBrowserJavaScriptSnippet($guid: EntityGuid!) { actor { entity(guid: $guid) { ... on BrowserApplicationEntity { guid name browserProperties { jsLoaderScript } } } }}Variables:
{ "guid": EntityGuid!}Ejemplos de configuración del monitoreo de navegador
La configuración browser se puede configurar a través de NerdGraph. A continuación se muestra un ejemplo de mutación que cambia el ápice de una aplicación.
Mutación:
mutation UpdateBrowserApdexTarget( $guid: EntityGuid! $settings: AgentApplicationSettingsUpdateInput!) { agentApplicationSettingsUpdate(guid: $guid, settings: $settings) { browserSettings { browserConfig { apdexTarget } } errors { description errorClass field } }}Variables:
{ "guid": EntityGuid!, "settings": { "browserConfig": { "apdexTarget": Float } }}Para obtener más información sobre qué configuraciones browser se pueden actualizar a través de NerdGraph, consulte la siguiente mutación. La documentación para cada campo se puede encontrar en el explorador NerdGraph.
Mutación:
mutation UpdateBrowserSettingsExample( $guid: EntityGuid! $settings: AgentApplicationSettingsUpdateInput!) { agentApplicationSettingsUpdate(guid: $guid, settings: $settings) { browserSettings { browserConfig { apdexTarget } browserMonitoring { ajax { denyList } distributedTracing { allowedOrigins corsEnabled corsUseNewrelicHeader corsUseTracecontextHeaders enabled excludeNewrelicHeader } loader privacy { cookiesEnabled } } dataManagement { sendTransactionEventsToInternalStream } } errors { description errorClass field } }}Variables:
{ "guid": EntityGuid!, "settings": { "browserConfig": { "apdexTarget": Float }, "browserMonitoring": { "ajax": { "denyList": [String!] }, "distributedTracing": { "allowedOrigins": [String!], "corsEnabled": Boolean, "corsUseNewrelicHeader": Boolean, "corsUseTracecontextHeaders": Boolean, "enabled": Boolean, "excludeNewrelicHeader": Boolean } "loader": AgentApplicationSettingsBrowserLoaderInput, "privacy": { "cookiesEnabled": Boolean } } "dataManagement": { "sendTransactionEventsToInternalStream": Boolean } }}Recuperar la configuración de la aplicación.
Puede recuperar la configuración de la aplicación del navegador para usarla con el método de instalación del paquete npm. Dependiendo de sus necesidades, la configuración se puede devolver en dos formatos diferentes:
- una cadena codificada en JSON para insertar en el elemento
headde su página web. - un objeto que se puede utilizar tal cual en el código fuente de su aplicación.
Consultar:
query FetchBrowserConfiguration($guid: EntityGuid!) { actor { entity(guid: $guid) { ... on BrowserApplicationEntity { guid name browserProperties { jsConfig jsConfigScript } } } }}Variables:
{ "guid": EntityGuid!}Agrupa tus datos con segmentos browser
Puede agrupar los resultados del monitoreo del navegador por segmentos browser para obtener datos más significativos. En lugar de hacer esto en la UI, puedes hacerlo con GraphQL.
Segmentos de lista
Comience enumerando los segmentos existentes:
{ actor { entity(guid: "YOUR_GUID") { ... on BrowserApplicationEntity { segmentAllowListAggregate { segments } } } }}Aquí está la respuesta:
{ "data": { "actor": { "entity": { "segmentAllowListAggregate": { "segments": ["urlsegment1", "urlsegment2"] } } } }}Crear segmentos
Cree segmentos browser utilizando la mutación agentApplicationSegmentsReplaceAllBrowserSegmentAllowList:
mutation { agentApplicationSegmentsReplaceAllBrowserSegmentAllowList( entityGuid: "YOUR_GUID" allowList: { segments: ["urlsegment1", "urlsegment2", "urlsegment3"] } ) { segments }}Aquí está la respuesta:
{ "data": { "agentApplicationSegmentsReplaceAllBrowserSegmentAllowList": { "segments": ["urlsegment3", "urlsegment2", "urlsegment1"] } }}Crear reglas de ofuscación
Puede enmascarar datos confidenciales antes de que se recopilen creando reglas de ofuscación de ingesta directamente desde la plataforma de New Relic o NerdGraph. Estas reglas se aplican a todos los eventos del navegador. Las reglas configuradas a través de la plataforma o NerdGraph se aplican a aplicaciones inyectadas por APM, instalaciones de copiar y pegar e instalaciones de NPM. Para crear reglas a través de la plataforma o JavaScript, consulte Ofuscar datos confidenciales en el agente del browser.
Para crear reglas de ofuscación a través de NerdGraph:
Configurar la captura de carga de AJAX
Puede recuperar y actualizar la configuración de captura de carga de AJAX para su aplicación de navegador utilizando NerdGraph. Esta configuración controla si se capturan las cargas de request y respuesta para las llamadas AJAX y corresponde a la opción de captura de carga en la configuración de su aplicación.
Puede habilitar la configuración de captura de carga en dos pasos:
Configuración para recuperar la captura de carga actual.
Establezca el modo
capturePayloadsen uno de los siguientes valores:none: no se capturarán datos de carga.failures: captura cargas solo para requests con un código de estado de0, un código de400o superior, o una firma de error de GraphQL en elresponse body.all: captura cargas para todas las requests.
Fijación de versión del agente del navegador
La API GraphQL de New Relic le proporciona un método para "fijar" una versión específica del agente New Relic Browser , asegurando que permanezca consistente dentro de su plataforma. Al fijar una versión, puede evitar actualizaciones automáticas que podrían introducir cambios o comportamientos inesperados. Los beneficios clave de esta característica incluyen los siguientes:
- Control: Conserve autonomía sobre cuándo y cómo se aplican las actualizaciones.
- Confidence: Asegúrese de que se esté ejecutando una versión probada y aprobada del agente en todo momento.
- Testability: Pruebe fácilmente nuevas versiones en entornos aislados antes de decidir actualizar.
- Stability: Minimice las interrupciones inesperadas y mantenga un comportamiento constante de la aplicación.
- Efficiency: Reduzca el tiempo de despliegue y mitigue las dificultades de despliegue.
A continuación se ofrece una descripción general de cómo utilizar la API de fijación de versiones del agente del navegador: