Diagnosticar excepciones de negocio en una arquitectura de microservices suele ser difícil y consumir mucho tiempo. Application Real-Time Monitoring Service (ARMS) simplifica esta tarea al correlacionar las trazas con los registros. Esto le permite identificar rápidamente la causa raíz de los problemas y mejorar la eficiencia del diagnóstico.
Requisitos previos
Debe tener activado Simple Log Service (SLS). De lo contrario, inicie sesión en la consola de SLS y siga las instrucciones en pantalla para activar el servicio.
Debe haber creado un proyecto. Para obtener más información, consulte Manage projects.
Debe haber creado un logstore. Para obtener más información, consulte Create a basic LogStore.
Contexto
Antes de solucionar problemas con trazas y registros, es útil comprender tres conceptos clave: métricas, trazabilidad y generación de registros.
Métricas: indicadores clave de rendimiento de su aplicación, como Application Service Request, Application Service Average Response Time y Application Dependent Service Request.
Trazabilidad: representa una ruta de solicitud completa de extremo a extremo. Una sola traza vincula todas las llamadas a interfaces y acciones relacionadas dentro de su aplicación.
Generación de registros: se refiere a los registros de negocio detallados que genera su aplicación por cada llamada a una interfaz y acción de solicitud-respuesta.
Cuando una aplicación presenta una excepción de negocio, sus gráficos de métricas suelen mostrar fluctuaciones significativas. Estos gráficos sirven para un análisis preliminar. Al examinar la traza completa y los registros de negocio, puede localizar con precisión la causa raíz de la excepción.
Asociar registros de negocio con el ID de traza
Inicie sesión en la consola de ARMS. En el panel de navegación izquierdo, elija .
-
Seleccione una región en la barra de navegación superior y haga clic en la aplicación.
NotaLos iconos de la columna Language indican el lenguaje de programación de la aplicación:
: Java
: Go
: Python- (guion): una aplicación monitoreada en Managed Service for OpenTelemetry
En la barra de navegación izquierda, haga clic en Application Settings y, en el lado derecho, haga clic en la pestaña Custom Configurations.
-
En la pestaña Custom Configurations, dentro del área Application Log Association, seleccione Log Service como origen de registros. Active el interruptor Associate Business Logs with Trace ID, seleccione la región y vincule el proyecto con el logstore.
En la lista desplegable
Associated Index, seleccionefull-text index. En la esquina inferior izquierda de la pestaña Custom Configurations, haga clic en Save.
Solucionar excepciones con métricas de aplicación
Inicie sesión en la consola de ARMS. En el panel de navegación izquierdo, elija .
-
Seleccione una región en la barra de navegación superior y haga clic en la aplicación.
NotaLos iconos de la columna Language indican el lenguaje de programación de la aplicación:
: Java
: Go
: Python- (guion): una aplicación monitoreada en Managed Service for OpenTelemetry
-
En la barra de navegación izquierda, haga clic en Application Overview. Seleccione Overall Analysis en la parte superior de la página y configure o personalice el intervalo de tiempo objetivo en la esquina superior derecha.
La página Overall Analysis muestra las métricas clave de la aplicación objetivo, como Application Service Request, Application Service Average Response Time y Application Dependent Service Request.
-
En la página Overall Analysis, seleccione una métrica de aplicación y arrastre el ratón sobre su gráfico de líneas para elegir un intervalo de tiempo objetivo.
Este ejemplo utiliza la métrica Application Service Average Response Time. Después de seleccionar un intervalo de tiempo, aparece un menú emergente con las siguientes opciones: Enter Selected Time Range, View Diagnostic Report for Selected Time Range, View Traces for Selected Time Range y View Logs for Selected Time Range.
-
Revise las trazas del intervalo de tiempo seleccionado.
Haga clic en View traces for the selected time range.
-
En el panel de la lista de trazas, seleccione un registro de traza cuyo Status sea anómalo (indicado por el icono
) y haga clic en el valor del identificador de traza en la columna TraceId.También puede hacer clic en View Logs en la columna Actions del registro de traza para consultar los registros de negocio de ese momento y analizar la causa de las excepciones.
Haga clic en la pestaña Traces y, en la columna Details, haga clic en el icono
.-
Haga clic en Method Stack, busque el mensaje de error en la página de detalles de la traza y pase el cursor sobre él para ver la causa de la excepción.
El lado izquierdo de la página de detalles de la traza muestra un árbol de llamadas a métodos con sus conteos de invocación y duraciones. El lado derecho presenta los detalles de la excepción, incluido su tipo, como
java.lang.RuntimeException, y el mensaje de error específico, como "Failed to create Grafana folder".
-
Revise los registros de negocio del intervalo de tiempo seleccionado.
Haga clic en View Logs for the Selected Time Range.
-
En la página Log Analysis, seleccione la información de excepción y error para consultar los registros y localizar la causa de la excepción de negocio.
Por ejemplo, puede filtrar entradas de registro mediante un
traceId, ver el seguimiento de la pila de excepciones en los detalles del registro y localizar elRegisterPromClusterServletque generó unajava.lang.RuntimeExceptioncon la causa raíz Failed to create Grafana folder.
Solucionar excepciones con llamadas a interfaces
Inicie sesión en la consola de ARMS. En el panel de navegación izquierdo, elija .
-
Seleccione una región en la barra de navegación superior y haga clic en la aplicación.
NotaLos iconos de la columna Language indican el lenguaje de programación de la aplicación:
: Java
: Go
: Python- (guion): una aplicación monitoreada en Managed Service for OpenTelemetry
En la barra de navegación izquierda, haga clic en Interface Invocation.
En la página Interface Invocation, haga clic en la interfaz objetivo dentro del área de la lista de interfaces y luego haga clic en la pestaña Call chain query.
-
En la pestaña Call chain query, seleccione los registros de invocación de interfaz cuyo Status esté con errores (mostrado como
).Después de aplicar el filtro, la lista muestra los registros de llamadas a interfaces anómalas. La tabla incluye las columnas
Generation Time,Interface Name,Application,Duration,Status,trace IDyActions. El ejemplo muestra tres registros con unStatusde302y dos con una duración de 2.5 s. Puede hacer clic enView Logsen la columnaActionspara investigar los detalles de una llamada específica. -
Consulte la traza de la llamada a la interfaz.
En la columna TraceId del registro de invocación de interfaz objetivo, haga clic en el identificador de traza.
Haga clic en la pestaña Traces y, en la columna Details, haga clic en el icono
.-
Haga clic en Method Stack, busque el mensaje de error en la página de detalles de la traza y pase el cursor sobre él para ver la causa de la excepción.
El lado izquierdo de la página de detalles de la traza muestra un árbol de llamadas a métodos con sus conteos de invocación y duraciones. El lado derecho presenta los detalles de la excepción, incluido su tipo, como
java.lang.RuntimeException, y el mensaje de error específico, como "Failed to create Grafana folder".
-
Consulte los registros de la llamada a la interfaz.
En la columna Actions del registro de invocación de interfaz objetivo, haga clic en View Logs.
-
En la página Log Analysis, seleccione la información de excepción y error para consultar los registros y localizar la causa de la excepción de negocio.
Por ejemplo, puede filtrar entradas de registro mediante un
traceId, ver el seguimiento de la pila de excepciones en los detalles del registro y localizar elRegisterPromClusterServletque generó unajava.lang.RuntimeExceptioncon la causa raíz Failed to create Grafana folder.
Temas relacionados
También puede crear alertas para detectar anomalías en las métricas. Para obtener más información, consulte Application Monitoring alert rules.