Utilice la pestaña Custom Configuration para ajustar los ajustes comunes del probe, como los interruptores de funciones y las políticas de muestreo.
Para ajustar estos parámetros mediante una API, consulte SaveTraceAppConfig.
Requisitos previos
La aplicación debe tener un probe instalado. Para obtener más información, consulte Application Monitoring Integration Overview.
Procedimiento
Inicie sesión en la consola de ARMS. En el panel de navegación izquierdo, seleccione .
-
En la página Application List, seleccione la región en la barra de navegación superior y haga clic en el nombre de la aplicación.
NotaLos iconos de la columna Language tienen los siguientes significados:
: una aplicación Java conectada a Application Monitoring.
: una aplicación Golang conectada a Application Monitoring.
: una aplicación Python conectada a Application Monitoring.-: una aplicación conectada a Managed Service for OpenTelemetry.
En la barra de navegación superior, seleccione .
Configure los parámetros y haga clic en Save.
Configuración de muestreo
En la sección Sampling settings se establece la política de muestreo de las trazas. Actualmente, las aplicaciones Go solo admiten el muestreo de tasa fija. También es posible configurar el muestreo completo por nombre de API, prefijo o sufijo.
El valor predeterminado de Sampling rate percentage es 10. Aumentar la tasa de muestreo consume recursos adicionales del sistema, por lo que se recomienda mantener el valor predeterminado. La opción Full sampling by API name solo es compatible con las versiones 1.5.2 y posteriores del probe. Una vez terminada la configuración, haga clic en Save o en Save and Bulk Copy to Other Applications.
Interruptores del probe
En la sección Probe toggle settings se habilita o deshabilita Application Monitoring y se controlan los plugins individuales.
Habilitar o deshabilitar Application Monitoring surte efecto de inmediato, sin necesidad de reiniciar la aplicación. Si pausa Application Monitoring, ARMS deja de monitorear la aplicación. Proceda con precaución.
Los cambios en los interruptores de cada plugin surten efecto únicamente después de reiniciar manualmente la aplicación.
Al activar el interruptor Pause application monitoring, también se pausa la facturación. La sección Plugin toggles incluye varios plugins, como dubbo-plugin, mysql-plugin, redis-plugin, grpc-plugin y kafka-client-plugin. Para hertz-plugin, opentelemetry-plugin y opentracing-plugin, los cambios surten efecto solo después de reiniciar la aplicación. Después de aplicar los cambios, haga clic en Save o en Bulk Copy to Other Applications para sincronizar la configuración con otras aplicaciones.
Interruptores de Runtime
En la sección Runtime toggle settings se habilita o deshabilita la función de monitoreo de Runtime. Para obtener más información, consulte Runtime monitoring.
Los cambios surten efecto sin necesidad de reiniciar la aplicación. Si deshabilita la función de monitoreo de Runtime, ARMS deja de recopilar métricas de Runtime. Proceda con precaución.
Después de configurar los ajustes, haga clic en Save o en Save and Bulk Copy to Other Applications para aplicar la configuración a otras aplicaciones.
Asociación de registros de la aplicación
En la sección Application log association se configura el origen de registros de la aplicación para inyectar el SpanId y el TraceId en los registros correspondientes. Para obtener más información, consulte Associate TraceId with business logs of Go applications.
Es posible personalizar las claves de los campos trace_id y span_id que se inyectan en los registros.
Habilite el interruptor Automatically associate business logs with TraceId. Luego, en la sección Log Service binding, seleccione una región, el nombre del proyecto, el tipo de asociación (Logstore o StoreView), el nombre del logstore y el índice asociado. A continuación, haga clic en Save. Para aplicar la configuración a otras aplicaciones, haga clic en Bulk Copy to Other Applications.
Convergencia de URL
En la sección URL convergence settings se habilita o deshabilita la función de convergencia de URL y se configuran su umbral y sus reglas. Esta función agrupa las URL similares y las muestra como un solo elemento. Por ejemplo, una serie de URL que comienzan con /service/demo/ puede mostrarse como una única entrada agregada. El umbral de convergencia es la cantidad mínima de URL que deben coincidir con una regla antes de agruparse. Por ejemplo, si el umbral es 100, las URL que coinciden con la expresión regular de una regla se agrupan solo cuando la cantidad de coincidencias alcanza 100. Para obtener más información, consulte ARMS convergence mechanism.
Las reglas de convergencia deben tener formato de expresión regular. Ejemplo: /service/(.*?)/demo. Separe varias reglas con una coma (,). Después de configurar los ajustes, haga clic en Save o en Save and Bulk Copy to Other Applications.
Perfilado continuo
En la sección Continuous profiling settings se habilita o deshabilita el interruptor global, así como los puntos críticos de CPU, de memoria y de código. Para obtener más información, consulte Continuous profiling for Go applications.
También es posible controlar los goroutine hotspots (requiere la versión 1.6.0 o posterior del probe), el blocking analysis y el mutex analysis (requieren la versión 1.6.1 o posterior del probe). Después de configurar los ajustes, haga clic en Save o en Bulk Copy to Other Applications.
Configuración de llamadas a la API
En la sección API call configuration se configuran el umbral de llamadas lentas, la lista de permisos de códigos de estado HTTP y el filtrado de llamadas a la API no válidas.
Además, se pueden configurar los siguientes elementos: los interruptores Enable printing HTTP request body y Enable printing HTTP request header (requieren la versión 1.5.0 o posterior del probe), la HTTP request body length (el valor predeterminado es 1024; requiere la versión 1.4.0 o posterior del probe), el interruptor Include TraceId in HTTP response (agrega la clave Eagleeye-TraceId al encabezado de respuesta), los interruptores Enable printing HTTP response body y Enable printing HTTP response header (requieren la versión 1.5.1 o posterior del probe), la HTTP response body length (valor predeterminado: 1024) y los campos de texto Write HTTP request header keys to Span y Write HTTP response header keys to Span.
Slow call threshold: el valor predeterminado es 500 ms. Una llamada a la interfaz se marca como lenta si su tiempo de respuesta supera este umbral.
-
HTTP status code whitelist:
De forma predeterminada, los códigos de estado HTTP mayores que 400 se clasifican como errores. Para evitar que ciertos códigos se clasifiquen como errores, agréguelos a la lista de permisos.
Este ajuste afecta únicamente a HTTP frameworks that are supported de Application Monitoring.
Datos afectados: métricas de recuento de errores para servidores y clientes HTTP (arms_http_requests_error_count, arms_http_client_requests_error_count y arms_app_requests_error_count), además del estado del Span.
Funciones afectadas: recuentos de errores en las pestañas Application Overview, Provided Services y Dependent Services. Alertas de estado de Span y de recuento de errores en la página Trace Analysis.
Formato: introduzca los códigos de estado individuales separados por comas (,). No se admite la coincidencia aproximada.
Ejemplo:
403,502Valor predeterminado: vacío
-
Invalid API call filtering:
Para ocultar ciertas llamadas en la pestaña Provided Services, introduzca los nombres de las API que desea excluir. De este modo, el probe deja de reportar datos de observación para esas API y las oculta de la página de llamadas a la API.
Datos afectados: se ignoran todas las métricas y los Spans de las API especificadas.
Funciones afectadas: todas las métricas de las API correspondientes en las pestañas Application Overview, Provided Services y Dependent Services. Alertas de recuento de Spans, volumen de llamadas, recuento de errores y llamadas lentas en la página Trace Analysis.
Formato: utilice una cadena o una expresión AntPath para coincidir con el nombre completo de la API. Separe varias reglas con comas (,). Las expresiones AntPath predeterminadas se incluyen para mantener la compatibilidad con datos históricos; no las elimine. Agregue las nuevas reglas después de las existentes.
Ejemplo:
/api/test/*,/api/playground/createValor predeterminado:
/**/*.jpg,/**/*.png,/**/*.js,/**/*.jpeg,/**/*.pdf,/**/*.xlsx,/**/*.txt,/**/*.docs,/**/*.gif,/**/*.csv Enable printing HTTP request body: al habilitarlo, el probe agrega el campo http.request.body a los Spans del cliente HTTP para registrar el cuerpo de la solicitud. La longitud de captura predeterminada es 1024.
Enable printing HTTP request header: al habilitarlo, se agrega el campo http.request.header a los Spans del cliente HTTP para registrar el encabezado de la solicitud.
HTTP body length: la longitud máxima del cuerpo de la solicitud HTTP capturado. La longitud predeterminada es 1024.
Include TraceId in HTTP response: al habilitarlo, el probe agrega el TraceId al encabezado de respuesta con la clave Eagleeye-TraceId.
Enable printing HTTP response body: al habilitarlo, el probe agrega el campo http.response.body a los Spans del servidor HTTP para registrar el cuerpo de la respuesta.
Enable printing HTTP response header: al habilitarlo, se agrega el campo http.response.header a los Spans del servidor HTTP para registrar el encabezado de la respuesta.
HTTP response body length: la longitud máxima del cuerpo de la respuesta HTTP capturado. La longitud predeterminada es 1024.
Write HTTP request header keys to Span: introduzca las claves de encabezado separadas por comas. El probe agrega un campo http.request.header.key a los Spans del cliente HTTP por cada clave especificada.
Write HTTP response header keys to Span: introduzca las claves de encabezado separadas por comas. El probe agrega un campo http.response.header.key a los Spans del servidor HTTP por cada clave especificada.
Filtrado avanzado de excepciones
Collect Plugin Exceptions: indica si se recopilan las excepciones de los plugins.
Exception Filter Whitelist: si no desea ver excepciones específicas en la pestaña Exception Analysis, introduzca los nombres de las excepciones que desea ocultar de la página.
Desactive el interruptor Collect plugin exceptions para evitar que la misma excepción se registre varias veces. En el campo Exception filter whitelist, puede introducir varios nombres de excepciones separados por comas (,); por ejemplo, *mysql.MySQLError. Las excepciones que coinciden con la lista de permisos se siguen registrando en los Spans. Esta función está disponible en las versiones 2.3.1 y posteriores del probe.
Configuración de llamadas a la base de datos
En la sección Database call configuration se configuran el umbral de SQL lento y la longitud máxima de las sentencias SQL recopiladas. También se especifica si se muestran los valores de las variables vinculadas y los valores constantes en las sentencias SQL.
Display bound variable values in SQL: captura los valores de las variables vinculadas a los parámetros de PreparedStatement. Los cambios surten efecto sin necesidad de reiniciar la aplicación.
Display constant values in SQL: solo trunca las sentencias SQL sin procesamiento adicional. Los cambios surten efecto sin necesidad de reiniciar la aplicación.
El valor predeterminado de Slow SQL threshold es 500 ms. Las consultas que superan este umbral se marcan como consultas SQL lentas. El valor predeterminado de Maximum SQL length es 1024. Cualquier parte de una sentencia SQL que supere este límite se trunca. La función Display bound variable values in SQL solo es compatible con MySQL. Después de configurar los ajustes, haga clic en Save o en Save and Bulk Copy to Other Applications.
Protocolos de propagación de trazas
En la sección Trace propagation protocol settings se selecciona el protocolo de propagación de trazas según sus necesidades. De forma predeterminada, el probe utiliza el protocolo W3C. También puede elegir Zipkin, Jaeger o EagleEye.
Las versiones 1.4.0 y posteriores del probe admiten el cambio de protocolo. El propagation mode admite los modos Priority y Forced. En el modo Priority, el probe intenta leer primero el encabezado del protocolo seleccionado. Si el encabezado no existe, continúa detectando los encabezados de otros protocolos. En el modo Forced, si falta el encabezado del protocolo seleccionado, el probe genera un nuevo contexto de traza según las especificaciones de dicho protocolo.
Recopilación del probe
En la sección Probe collection configuration se establece la cantidad máxima de trazas recopiladas por segundo y el nivel de registro del probe.
El valor predeterminado de Maximum traces per second es 100. La Custom metric collection requiere la versión 2.0.0 o posterior del probe. La opción Enable Span reporting requiere la versión 1.8.3 o posterior del probe. El Span reporting name requiere la versión 1.7.0 o posterior del probe. Separe varias claves con una coma (,). El Default metric collection filtering requiere la versión 2.3.0 o posterior del probe.
A continuación se describen algunos de los parámetros:
Custom Metric Collection: controla si el agente recopila las métricas definidas en el código con el SDK de OTel.
Enable Span Reporting: esta función está habilitada de forma predeterminada. Si la deshabilita, no se reporta ningún Span.
Span Reporting Name: especifica una lista de permisos de nombres de Span que se van a reportar. Si se configura este campo, solo se reportan los Spans cuyos nombres coincidan.
Custom metric collection configuration: configure el nombre del ámbito de la métrica. Si no configura este parámetro, se recopilan de forma predeterminada todas las métricas personalizadas.
Default Metric Collection Filtering: filtra el reporte de tipos específicos de métricas. Puede seleccionar uno o varios de los siguientes tipos:
custom_entry: métricas personalizadas para el monitoreo de métodos.
http: métricas del servidor HTTP.
http_client: métricas del cliente HTTP.
rpc: métricas de llamadas del servidor RPC.
rpc_client: métricas de llamadas del cliente RPC.
sql: métricas de acceso a la base de datos.
nosql: métricas de acceso al servicio NoSQL.
cache: métricas de acceso al servicio de caché.
producer: métricas de publicación de mensajes.
consumer: métricas de consumo de mensajes.
schedule: métricas del servicio de programación.
Configuración avanzada
En la sección Advanced settings se configuran los cálculos de percentiles, el muestreo de llamadas lentas y errores, y la longitud máxima de los seguimientos de pila recopilados.
El valor predeterminado de Stack trace collection length es 4096. Después de configurar los ajustes, haga clic en Save o en Save and Bulk Copy to Other Applications.
Copiar configuraciones a otras aplicaciones
Si necesita aplicar la misma configuración a otras aplicaciones, copie los ajustes.
Copiar una sola configuración
En la sección de configuración correspondiente, haga clic en Save and Copy to Other Applications.
Si aparece el cuadro de diálogo Current settings not saved, haga clic en OK para guardar la configuración de la aplicación actual y vuelva a hacer clic en Save and Copy to Other Applications.
En el cuadro de diálogo que aparece, seleccione las aplicaciones a las que desea aplicar los ajustes y haga clic en OK.
Copiar todas las configuraciones
En la parte inferior de la página, haga clic en Save and Copy to Other Applications.
Si aparece el cuadro de diálogo Current settings not saved, haga clic en OK para guardar la configuración de la aplicación actual y vuelva a hacer clic en Save and Copy to Other Applications.
En el cuadro de diálogo que aparece, seleccione las aplicaciones a las que desea aplicar los ajustes y haga clic en OK.
Configuración predeterminada global
Puede guardar la configuración actual como configuración predeterminada global. Esta configuración se aplicará de forma predeterminada cuando cree nuevas aplicaciones.
En la parte inferior de la página, haga clic en Save Current App Settings as Global Default Configuration.
Si aparece el cuadro de diálogo Current settings not saved, haga clic en OK para guardar la configuración de la aplicación actual y vuelva a hacer clic en Save Current App Settings as Global Default Configuration.
En el cuadro de diálogo que aparece, haga clic en Confirm.