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
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.
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.
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.
-
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.
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.
También puede filtrar por cuenta para ver los servicios de cuentas de AWS específicas en la configuración de observabilidad multicuenta.
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.
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.
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.
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.
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.
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.
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.
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.
También puede hacer clic en Periferia para ver las métricas de una llamada de dependencia específica de un servicio.
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.