Visualización de la topología de la aplicación y supervisión del estado operativo con la asignación de aplicaciones de CloudWatch - Amazon CloudWatch

Visualización de la topología de la aplicación y supervisión del estado operativo con la asignación de aplicaciones de CloudWatch

nota

La asignación de aplicaciones de CloudWatch sustituye la asignación de servicios. Para ver un mapa de su aplicación basado en seguimientos de AWS X-Ray, abra el Mapa de seguimiento de X-Ray. Seleccione Mapa de servicio en la sección X-Ray en el panel de navegación izquierdo de la consola de CloudWatch.

Después de activar la aplicación para Application Signals, la asignación de aplicaciones muestra nodos que representan los grupos. A continuación, puede desglosar estos grupos para ver los servicios y sus dependencias. Utilice la asignación de aplicaciones para ver la topología de los clientes de la aplicación, los canarios sintéticos, los servicios y las dependencias y para supervisar el estado operativo. Para ver la asignación de aplicaciones, abra la Consola de CloudWatch y elija Mapa de aplicaciones en la sección Application Signals del panel de navegación izquierdo.

Después de activar la aplicación para Application Signals, utilice la asignación de aplicaciones para facilitar la supervisión del estado operativo de la aplicación:

  • Observe las conexiones entre los nodos de clientes, valor controlado, servicio y dependencia para comprender la topología de la aplicación y el flujo de ejecución. Esto es útil sobre todo si los operadores de servicio no son su equipo de desarrollo.

  • Observe qué servicios cumplen o no sus objetivos de nivel de servicio (SLO). Cuando un servicio no cumple con los SLO, puede identificar de inmediato si un servicio o una dependencia descendente podría estar contribuyendo al problema o afectando a varios servicios ascendentes.

  • Seleccione un nodo individual de cliente, canario sintético, servicio o dependencia para visualizar las métricas asociadas. La página Detalles del servicio muestra información más detallada sobre las operaciones, las dependencias, los canarios sintéticos y las páginas de clientes.

  • Filtre y amplíe la asignación de aplicaciones para centrarse con más facilidad en una parte de la topología de la aplicación o para ver la asignación completa. Cree un filtro al elegir una o más propiedades del cuadro de texto del filtro. Al elegir cada propiedad, se lo guiará por los criterios de los filtros. Verá el filtro completo debajo del cuadro de texto del filtro. Elija Borrar filtros en cualquier momento para eliminar el filtro.

  • Supervise los servicios de varias cuentas de AWS en un única asignación de aplicaciones unificada. Los servicios de las diferentes cuentas se identifican claramente con la información de la cuenta, lo que permite una observabilidad unificada de las aplicaciones distribuidas.

  • Identifique los servicios que aún no instrumenten en la aplicación. Application Signals detecta y muestra automáticamente los servicios que aún no se han instrumentado, lo que le permite lograr una cobertura de observabilidad completa. Los servicios no instrumentados se distinguen visualmente en la asignación para priorizar los esfuerzos de instrumentación.

  • Agrupe y filtre los servicios para crear vistas personalizadas que coincidan con sus flujos de trabajo. Esta organización le permite encontrar rápidamente los servicios que utiliza con más frecuencia y acceder a ellos.

  • Guarde las vistas filtradas y agrupadas para volver rápidamente a las configuraciones de uso frecuente.

Exploración de la asignación de aplicaciones

Cuando visite la asignación de aplicaciones, de forma predeterminada, se muestran los servicios agrupados por Servicios relacionados. Los servicios relacionados agrupan los servicios en función de sus dependencias. Por ejemplo, si el Servicio A llama al Servicio B, que llama al Servicio C, se agrupan en el Servicio A. Puede ver el estado, las métricas y el recuento de servicios del SLI para todos los servicios de cada grupo.

Asignación de aplicaciones predeterminada de CloudWatch agrupada por servicios relacionados.

Elija la siguiente pestaña para obtener información sobre cómo explorar cada tipo de nodo y las periferias (conexiones) entre ellos.

Agrupación y filtrado dinámicos

Puede hacer clic en el menú desplegable Agrupar por para usar diferentes opciones de agrupación. De forma predeterminada, la asignación de aplicaciones proporciona 2 agrupaciones:

  • Servicios relacionados: agrupa los servicios en función de sus dependencias.

  • Entorno: agrupa los servicios por su entorno.

Si desea definir su propia agrupación personalizada, haga clic en Administrar grupos para definir grupos personalizados y, a continuación, etiquete los servicios o agregue los atributos de los recursos de OTEL con la clave de grupo.

nota

Para permitir la agrupación mediante los atributos de recursos de OTEL, la versión del agente de CloudWatch debe ser la versión 1.300056.0 o posterior.

Creación de un panel de agrupación personalizado

La agrupación predeterminada en Application Signals organiza automáticamente los servicios en función de las dependencias descendentes. El sistema analiza el gráfico de dependencias del servicio y crea grupos en los que el nodo raíz (un servicio sin dependencias ascendentes) se convierte en el nombre del grupo. Todos los servicios que dependen de este servicio raíz, directa o indirectamente, se incluyen automáticamente en el grupo. Por ejemplo, si el Servicio A llama al Servicio B, que a su vez llama al Servicio C, los tres servicios se agruparán con el Servicio A como nombre del grupo, ya que es la raíz de la cadena de dependencias. Este mecanismo de agrupación automática proporciona una forma natural de visualizar y administrar los servicios relacionados en función de las interacciones y dependencias reales en tiempo de ejecución.

Información y acciones de grupos

Para cada grupo, puede llevar a cabo las siguientes acciones:

  • Haga clic en Ver más para ver los gráficos de métricas, los dos últimos eventos de cambios y la fecha de la última implementación del grupo.

    Vista de más cajones del grupo en la asignación de aplicaciones
  • Haga clic en Ver panel para ver el panel de métricas, la tabla de eventos de cambios y la lista de servicios del grupo.

    Vista del panel de aplicaciones del grupo
    Vista del panel de aplicaciones del grupo con gráficos de métricas

Puede usar Agrupar y filtrar en la barra izquierda para filtrar los grupos que tienen servicios según el tiempo de implementación, el estado del SLI o el tipo de plataforma de computación.

Agrupación y filtrado de servicios en el panel de control de la aplicación

También puede filtrar por cuenta para ver los servicios de cuentas de AWS específicas en la configuración de observabilidad multicuenta.

Filtrado de servicios por cuenta en el panel de control de la aplicación

Utilice la barra de Buscar y filtrar para buscar grupos por nombre o grupos que contengan un entorno de servicio o una dependencia específicos. Filtre por ID de cuenta para centrarse en los servicios de cuentas específicas.

Búsqueda y filtrado de servicios en la asignación de aplicaciones

Configuración de grupos personalizados

La agrupación personalizada le permite organizar los servicios de forma lógica en función de los requisitos empresariales y las prioridades operativas. Esta característica le permite ver y guardar vistas definidas priorizadas según sus necesidades específicas, crear grupos en función de la propiedad del equipo y reunir los grupos de servicios necesarios para las transacciones comerciales críticas.

Cree nombres de grupos personalizados (los nombres de los grupos que verá en la interfaz de usuario) y nombres de las claves de grupos correspondientes. Complete este paso desde la interfaz de usuario de Application Signals o mediante la API PutGroupingConfiguration.

Los nombres de las claves de grupos pueden ser una clave de etiqueta de AWS o un atributo de recurso de OTEL para el servicio. Al decidir entre las etiquetas y los atributos de recurso de OTEL, tenga en cuenta la plataforma de computación:

  • Para plataformas de un solo servicio (por ejemplo, Lambda o un grupo de escalado automático): utilice etiquetas de AWS.

  • Para plataformas multiservicio (por ejemplo, un clúster de Amazon EKS): utilice los atributos de recursos de OTEL para una agrupación más detallada.

Adición de etiquetas de AWS

Agregue una etiqueta de AWS con la clave de grupo personalizada como clave y un valor a un clúster de Amazon EKS. Cuando hay varios servicios en ejecución en un clúster de Amazon EKS, todos ellos se etiquetan con la misma clave de grupo personalizada. Por ejemplo, cuando el Clúster A de Amazon EKS tiene los servicios 1, 2 y 3 en ejecución, al agregar una etiqueta de AWS con la clave Equipo X al clúster, se agregarán los tres servicios al Equipo X. Para agregar únicamente servicios específicos al Equipo X, agregue los atributos de recursos de OTEL para los servicios, tal y como se muestra a continuación.

Adición de atributos de recursos de OTEL

Para agregar un atributo de recurso de OTEL, consulte la siguiente configuración:

Configuración general

Configure la variable de entorno OTEL_RESOURCE_ATTRIBUTES de la aplicación mediante los pares de clave-valor del grupo personalizado. Las claves se enumeran en aws.application_signals.metric_resource_keys separadas por &.

Por ejemplo, para crear grupos personalizados mediante Application=PetClinic y Owner=Test, utilice lo siguiente:

OTEL_RESOURCE_ATTRIBUTES=Application=PetClinic,Owner=Test,aws.application_signals.metric_resource_keys=Application&Owner

Configuración específica de la plataforma

A continuación se muestran las especificaciones de implementación.

Amazon EKS y kubernetes nativos

apiVersion: apps/v1 kind: Deployment metadata: ... spec: replicas: 1 ... template: spec: containers: - name: your-app image: your-app-image env: ... - name: OTEL_RESOURCE_ATTRIBUTES value: Application=PetClinic,Owner=Test,aws.application_signals.metric_resource_keys=Application&Owner

Amazon EC2

Agregue OTEL_RESOURCE_ATTRIBUTES al script de inicio de la aplicación. Para ver el ejemplo completo, consulte Adición de OTEL_RESOURCE_ATTRIBUTES.

... OTEL_RESOURCE_ATTRIBUTES="service.name=$YOUR_SVC_NAME,Application=PetClinic,Owner=Test,aws.application_signals.metric_resource_keys=Application&Owner" \ java -jar $MY_JAVA_APP.jar

Amazon ECS

Agregue OTEL_RESOURCE_ATTRIBUTES a TaskDefinition. Para ver el ejemplo completo, consulte Habilitación en Amazon ECS.

{ "name": "my-app", ... "environment": [ { "name": "OTEL_RESOURCE_ATTRIBUTES", "value": "service.name=$YOUR_SVC_NAME,Application=PetClinic,Owner=Test,aws.application_signals.metric_resource_keys=Applicationmanagement portalOwner" }, ... ] }

Lambda

Agregue OTEL_RESOURCE_ATTRIBUTES a la variable de entorno de Lambda.

OTEL_RESOURCE_ATTRIBUTES="Application=PetClinic,Owner=Test,aws.application_signals.metric_resource_keys=Application&Owner"

Visualización de servicios en grupos

Para ver los servicios y sus dependencias en un grupo, haga clic en el nombre del grupo. Se mostrará una asignación de servicios del grupo. Cada nodo de servicio mostrará el estado, las métricas y los detalles de la plataforma del SLI. Los servicios con una infracción del SLI están resaltados para que se puedan reconocer más fácilmente.

Servicios de asignación de aplicaciones de CloudWatch del grupo.

Los servicios no instrumentados se muestran con un indicador visual distintivo (como un borde discontinuo o un color diferente) para diferenciarlos de los servicios instrumentados. Pase el curso del ratón por encima de un nodo de servicio no instrumentado para ver la guía de instrumentación y los enlaces a la documentación de configuración.

Filtrado por servicios no instrumentados en la asignación de aplicaciones

Todos los nodos de servicios de AWS, clientes de RUM y canarios estarán contraídos de forma predeterminada. Si los servicios de este grupo llaman a servicios que no forman parte de este grupo, también se contraerán de forma predeterminada.

Los nodos canarios se contraen en un grupo en la asignación de aplicaciones.

Si la asignación sigue siendo demasiado grande para investigarla con eficacia, puede aplicar una agrupación anidada para reducir la investigación. Por ejemplo, después de agrupar los servicios por unidad de negocio, si todavía tiene demasiados servicios en un grupo, utilice el menú desplegable Agrupar por para seleccionar Equipo y crear una estructura de agrupamiento anidada.

Agrupación anidada en la asignación de aplicaciones

Información y detalles del servicio

En esta página, también puede hacer clic en Guardar vista junto a la barra de búsqueda para guardar la vista, de modo que la próxima vez no tendrá que volver a aplicar la misma agrupación y el mismo filtrado.

Guardado de la configuración de agrupación

Haga clic en Ver más en el nodo de servicio para ver los gráficos de auditoría del servicio, eventos de cambios, estado del SLI y métricas.

Información del servicio de asignación de aplicaciones de CloudWatch.

Si desea ver el funcionamiento del servicio y otros detalles del servicio, haga clic en Ver panel para ir a la página de información general del servicio.

Información general del servicio de asignación de aplicaciones de CloudWatch.

También puede hacer clic en Periferia para ver las métricas de una llamada de dependencia específica de un servicio.

Cajón de periferia de un nodo de la asignación de aplicaciones de CloudWatch

Eventos de cambios

Haga un seguimiento de los eventos de cambios en toda la aplicación con el procesamiento automático de Application Signals de eventos de CloudTrail. Supervise los eventos de configuración e implementación de los servicios y las dependencias, lo que proporciona un contexto inmediato para el análisis operativo y la solución de problemas. La detección de eventos de cambio está activada junto con la activación de la detección de servicios a través de la consola de CloudWatch o la API StartDiscovery. En el caso de los servicios de EKS, la detección de implementación requiere que los servicios de EKS se instrumenten con el SDK de instrumentación de Application Signals. Application Signals correlaciona automáticamente los tiempos de implementación con los cambios en el rendimiento, lo que le permite identificar rápidamente si las implementaciones recientes contribuyeron a los problemas del servicio. Consulte el historial de eventos de cambios y su impacto en todos sus servicios sin necesidad de configuración ni requisitos de configuración adicionales.

Resultados de auditoría

Descubra información crítica mediante los resultados de la auditoría de Application Signals. El servicio analiza las aplicaciones para informar sobre observaciones importantes y los posibles problemas, lo que simplifica el análisis de las causas raíz. Estos resultados automatizados consolidan los rastros pertinentes, lo que elimina la necesidad de navegar con varios clics. El sistema de auditoría ayuda a los equipos a identificar rápidamente los problemas y sus causas subyacentes, lo que permite una resolución más rápida de los problemas.

Observabilidad entre cuentas en la asignación de aplicaciones

Application Signals admite la observabilidad entre cuentas, lo que le permite supervisar y visualizar los servicios distribuidos en varias cuentas de AWS en una sola asignación de aplicaciones unificada. Esta capacidad es esencial para organizaciones con arquitecturas multicuenta que siguen las prácticas recomendadas de AWS.

Capacidades clave:

  • Vista unificada: visualice los servicios de varias cuentas de AWS en una sola asignación de aplicaciones, lo que proporciona una imagen completa de la arquitectura de aplicaciones distribuidas.

  • Identificación de la cuenta: cada nodo de servicio muestra claramente el ID de cuenta y la región, lo que facilita la identificación de la propiedad y la ubicación del servicio.

  • Supervisión centralizada: supervise el estado, el rendimiento y el estado del SLO de los servicios en todas las cuentas conectadas desde una sola cuenta de supervisión.

  • Filtrado entre cuentas: filtre y agrupe los servicios por ID de cuenta para centrarse en cuentas específicas o ver las interacciones entre cuentas.

cómo funciona:

Application Signals utiliza AWS Organizations y el uso compartido entre cuentas para permitir la observabilidad en varias cuentas. Para configurar la observabilidad entre cuentas, consulte Observabilidad entre cuentas de CloudWatch.

View your application services

Servicio (instrumentado)

Puede ver los servicios de las aplicaciones y el estado de sus SLO e indicadores de nivel de servicio (SLI) en la asignación de aplicaciones. Si no se ha creado ningún SLO para un servicio, elija el botón Crear SLO situado debajo del nodo de servicio.

La asignación de aplicaciones muestra todos sus servicios. También muestra los clientes y canarios que consumen el servicio y las dependencias a las que llaman sus servicios, como se muestra en la siguiente imagen:

Asignación de aplicaciones de CloudWatch que muestra un servicio en buen o mal estado

Al seleccionar un nodo de servicio, se abre un panel con la siguiente información detallada del servicio:

  • Tasa total de errores y fallos.

  • El número de SLI y SLO que están en healthy o unhealthy.

  • La opción para ver más información acerca de un SLO.

  • Cluster, Namespace y Workload de los servicios alojados en Amazon EKS o entorno de los servicios alojados en Amazon ECS o Amazon EC2. Para los servicios alojados en Amazon EKS, elija cualquier enlace para abrir la Información de contenedores de CloudWatch.

  • AccountId y región

  • Sección Cambios que muestra los cambios recientes y la fecha de la última implementación.

  • Pestaña Auditoría operativa que proporciona recomendaciones y resultados de auditoría automatizados.

  • Gráfico de métricas de servicios sobre disponibilidad, latencia, fallos y errores.

Seleccione una periferia o conexión entre un nodo de servicio y un nodo de servicio o dependencia posterior. Esto abre un panel que contiene las rutas principales por tasa de fallos, latencia y tasa de errores, como se muestra en la siguiente imagen de ejemplo. Elija cualquier enlace del panel para abrir la página Detalles del servicio y ver la información detallada del servicio o dependencia elegida.

Periferia de servicios de la asignación de aplicaciones de CloudWatch

Al seleccionar un nodo de periferia, se abre un panel con la siguiente información detallada del servicio:

  • Recuento total de solicitudes, latencia, tasa de errores y tasa de fallos

  • Ruta principal por tasa de fallos

  • Ruta principal por latencia

  • Ruta principal por tasa de errores

Servicio (no instrumentado)

Los servicios no instrumentados aparecen en la asignación de aplicaciones incluso cuando no se han configurado con Application Signals. Estos servicios se detectan automáticamente al utilizar Resource Explorer mediante los nombres y las etiquetas de las aplicaciones. El sistema puede detectar automáticamente hasta 3000 recursos de una cuenta de AWS.

Al seleccionar un nodo de servicio no instrumentado, se abre un panel con la siguiente información:

  • Nombre del servicio e información de identificación

  • AccountId y región donde se detecta el servicio

  • Estado y orientación de la instrumentación

  • Botón de llamada a la acción “Activar Application Signals” que proporciona instrucciones de configuración

  • Tipo de plataforma de computación (si se puede detectar)

Los servicios no instrumentados le permiten hacer lo siguiente:

  • Identificar deficiencias en la cobertura de observabilidad

  • Priorizar qué servicios se instrumentan a continuación en función de su posición en la arquitectura

  • Comprender la topología completa de la aplicación incluso antes de completar la instrumentación

  • Planificar la implementación de instrumentación en toda la organización

nota

Los servicios no instrumentados muestran datos de telemetría limitados, ya que no envían métricas ni rastros de forma activa.

Filtro de instrumentación de la asignación de aplicaciones de CloudWatch
View dependencies

Las dependencias de las aplicaciones se muestran en la asignación de aplicaciones, conectadas a los servicios que las llaman.

Elija un nodo de dependencia para abrir el panel que contiene la tasa de errores y de fallos, así como el gráfico de métricas de solicitud, disponibilidad, latencia, tasa de fallos y tasa de errores.

Si el nodo de dependencia es un servicio o un recurso, el panel mostrará los eventos de cambios para el intervalo de tiempo solicitado.

Una asignación de aplicaciones de CloudWatch que muestra un nodo de dependencia del servicio expandible de AWS.
View clients

Después de activar el seguimiento de X-Ray para los clientes web de CloudWatch RUM, estos se muestran en la asignación de aplicaciones conectada a los servicios a los que llaman.

Elija un nodo de cliente para abrir el panel que muestre la siguiente información detallada del cliente:

  • Métricas de las cargas de página, tiempo promedio de carga, errores y elementos vitales web promedio

  • Un gráfico que muestra el desglose de los errores

  • Un enlace para mostrar los detalles del cliente en CloudWatch RUM

Una asignación de aplicaciones de CloudWatch que muestra un nodo de cliente expandible.

Elija Ver panel para abrir los detalles de los canarios.

View synthetics canaries

Para ver los canarios en la asignación de aplicaciones, active el seguimiento de X-Ray para los canarios de CloudWatch Synthetics. Una vez activado, los canarios aparecerán conectados a los servicios a los que hayan llamado en la asignación de aplicaciones.

El sistema agrupa los canarios de forma predeterminada en un único icono expandible. El panel de información detallada de los canarios muestra métricas, rastros e información del estado.

Seleccione un nodo de canario para abrir el panel que muestra la siguiente información detallada del canario, tal como se muestra en la siguiente imagen:

Una asignación de aplicaciones de CloudWatch que muestra un nodo de canario sintético expandible.

Elija Ver panel para abrir los detalles de los canarios.