(Opcional) Comprobación de Application Signals con una aplicación de ejemplo
Para probar CloudWatch Application Signals en una aplicación de muestra antes de instrumentar sus propias aplicaciones con ella, siga las instrucciones de esta sección. Estas instrucciones utilizan scripts para ayudarlo a crear un clúster de Amazon EKS, instalar una aplicación de ejemplo e instrumentar la aplicación de ejemplo para que funcione con Application Signals.
La aplicación de ejemplo es una aplicación de Spring llamada “Pet Clinic” que se compone de cuatro microservicios. Estos servicios se ejecutan en Amazon EKS en Amazon EC2 y utilizan los scripts de activación de Application Signals para habilitar el clúster con el agente de instrumentación automática de Java, Python o .NET.
Requisitos
Actualmente, Application Signals supervisa solo las aplicaciones de Java, Python o .NET.
Debe tener instalado la AWS CLI en la instancia. Recomendamos la AWS CLI versión 2, pero la versión 1 también debería funcionar. Para obtener información sobre cómo instalar AWS CLI, consulte Instalar o actualizar la versión más reciente de la AWS CLI.
Los scripts de esta sección están diseñados para ejecutarse en entornos Linux y macOS. En el caso de las instancias de Windows, se recomienda utilizar un entorno AWS Cloud9 para ejecutar estos scripts. Para obtener más información acerca de AWS Cloud9, consulte ¿Qué es AWS Cloud9?
Instale una versión compatible de
kubectl
. Debe utilizar una versión dekubectl
con una diferencia de versión menor de un número que el plano de control del clúster de Amazon EKS. Por ejemplo, un cliente dekubectl
1.26 debe funcionar con los clústeres 1.25, 1.26 y 1.27 de Kubernetes. Si ya tiene un clúster de Amazon EKS, es posible que tenga que configurar las credenciales de AWS parakubectl
. Para obtener más información, consulte Creación o actualización de un archivokubeconfig
para un clúster de Amazon EKS.Instale
eksctl
.eksctl
usa la AWS CLI para interactuar con AWS, lo que significa que usa las mismas credenciales de AWS que la AWS CLI. Para obtener más información, consulte Instalación o actualización deeksctl
.Instalar
jq
.jq
es necesario para ejecutar los scripts de activación de Application Signals. Para obtener más información, consulte Descargar jq.
Paso 1: descargar los scripts
Para descargar los scripts para configurar CloudWatch Application Signals con una aplicación de muestra, puede descargar y descomprimir el archivo de proyecto de GitHub comprimido en una unidad local, o puede clonar el proyecto de GitHub.
Para clonar el proyecto, abra una ventana de terminal e ingrese el siguiente comando de Git en un directorio de trabajo determinado:
git clone https://github.com/aws-observability/application-signals-demo.git
Paso 2: compilar y ejecutar la aplicación de ejemplo
Para crear e insertar las imágenes de la aplicación de muestra, siga estas instrucciones
Paso 3: implementar y habilitar Application Signals y la aplicación de muestra
Asegúrese de haber completado los requisitos enumerados en (Opcional) Comprobación de Application Signals con una aplicación de ejemplo antes de completar los siguientes pasos.
Para implementar y habilitar Application Signals y la aplicación de muestra
Escriba el siguiente comando. Sustituya
nuevo-nombre-clúster
por el nombre que desee para el nuevo clúster. Sustituyanombre-región
por el nombre de la región AWS, comous-west-1
.Este comando configura la aplicación de muestra que se ejecuta en un nuevo clúster de Amazon EKS con Application Signals activado.
# this script sets up a new cluster, enables Application Signals, and deploys the # sample application cd application-signals-demo/scripts/eks/appsignals/one-step && ./setup.sh
new-cluster-name
region-name
El script de configuración tarda unos 30 minutos en ejecutarse y hace lo siguiente:
Crea un nuevo clúster de Amazon EKS en la región especificada.
Crea los permisos de IAM necesarios para Application Signals (
arn:aws:iam::aws:policy/AWSXrayWriteOnlyAccess
yarn:aws:iam::aws:policy/CloudWatchAgentServerPolicy
).Habilita Application Signals instalando el agente de CloudWatch e instrumentando automáticamente la aplicación de muestra para las métricas de CloudWatch y los seguimientos de X-Ray.
Implementa la aplicación de ejemplo PetClinic Spring en el mismo clúster de Amazon EKS.
Crea cinco valores controlados de CloudWatch Synthetics, denominados
pc-add-vist
,pc-create-owners
,pc-visit-pet
,pc-visit-vet
,pc-clinic-traffic
. Estos valores controlados se ejecutarán a una frecuencia de un minuto para generar tráfico sintético para la aplicación de muestra y demostrar cómo aparecen los valores controlados Synthetics en Application Signals.Crea cuatro objetivos de nivel de servicio (SLO) para la aplicación PetClinic con los siguientes nombres:
Disponibilidad para buscar un propietario
Latencia para la búsqueda de un propietario
Disponibilidad para registrar un propietario
Latencia para registrar un propietario
Crea el rol de IAM necesario con una política de confianza personalizada que otorga a Application Signals los siguientes permisos:
cloudwatch:PutMetricData
cloudwatch:GetMetricData
xray:GetServiceGraph
logs:StartQuery
logs:GetQueryResults
-
(Opcional) Si desea revisar el código de origen de la aplicación de muestra de PetClinic, puede encontrarlo en la carpeta raíz.
- application-signals-demo - spring-petclinic-admin-server - spring-petclinic-api-gateway - spring-petclinic-config-server - spring-petclinic-customers-service - spring-petclinic-discovery-server - spring-petclinic-vets-service - spring-petclinic-visits-service
Para ver la aplicación de muestra de PetClinic implementada, ejecute el siguiente comando para buscar la URL:
kubectl get ingress
Paso 4: supervisar la aplicación de muestra
Tras completar los pasos de la sección anterior para crear el clúster de Amazon EKS e implementar la aplicación de ejemplo, puede usar Application Signals para supervisar la aplicación.
nota
Para que la consola de Application Signals comience a llenarse, parte del tráfico debe llegar a la aplicación de muestra. En parte de los pasos anteriores, se crearon valores controlados de CloudWatch Synthetics que generan tráfico a la aplicación de muestra.
Supervisión del estado de los servicios
Una vez habilitada, CloudWatch Application Signals detecta y completa automáticamente una lista de servicios sin necesidad de ninguna configuración adicional.
Para ver la lista de servicios detectados y supervisar su estado
Abra la consola de CloudWatch en https://console.aws.amazon.com/cloudwatch/
. En el panel de navegación de servicio, elija Application Signals, Servicios.
Para ver un servicio, sus operaciones y sus dependencias, elija el nombre de uno de los servicios de la lista.
Esta vista unificada y centrada en las aplicaciones ayuda a proporcionar una perspectiva completa de la forma en que los usuarios interactúan con el servicio. Esto puede ayudarlo a clasificar los problemas en caso de que se produzcan anomalías en el rendimiento. Para obtener detalles completos sobre la vista de servicios, consulte Monitoreo del estado operativo de sus aplicaciones con Application Signals.
Seleccione la pestaña Operaciones de servicio para ver las métricas de aplicación estándar para las operaciones de ese servicio. Las operaciones son las operaciones de API a las que llama el servicio, por ejemplo.
A continuación, para ver los gráficos de una sola operación de ese servicio, elija el nombre de esa operación.
Seleccione la pestaña Dependencias para ver las dependencias que tiene la aplicación, junto con las métricas de aplicación críticas de cada dependencia. Las dependencias incluyen AWS los servicios y los servicios de terceros a los que recurre la aplicación.
Para ver los seguimientos correlacionados desde la página de detalles del servicio, elija un punto de datos en uno de los tres gráficos que se encuentran arriba de la tabla. Esto rellena un nuevo panel con los seguimientos filtrados del periodo de tiempo. Estos seguimientos se ordenan y filtran en función del gráfico que haya elegido. Por ejemplo, si elige el gráfico de latencia, los seguimientos se ordenan por tiempo de respuesta del servicio.
En el panel de navegación de la consola de CloudWatch, elija SLOs. Verá los SLO que el script creó para la aplicación de ejemplo. Para obtener más información acerca de los SLO, consulte Objetivos de nivel de servicio (SLO).
(Opcional) Paso 5: limpieza
Cuando termine de probar las señales de la aplicación, puede usar un script proporcionado por Amazon para limpiar y eliminar los artefactos creados en la cuenta para la aplicación de muestra. Para realizar la limpieza, ingrese el siguiente comando. Sustituya nuevo-nombre-clúster
por el nombre del clúster que creó para la aplicación de ejemplo y reemplace nombre-región
por el nombre de la región AWS, por ejemplo us-west-1
.
cd application-signals-demo/scripts/eks/appsignals/one-step && ./cleanup.sh new-cluster-name region-name