Habilitación de CloudWatch Application Signals - Amazon CloudWatch

Habilitación de CloudWatch Application Signals

Utilice CloudWatch Application Signals para instrumentar de forma automática sus aplicaciones en AWS para que pueda realizar un seguimiento del rendimiento de las aplicaciones en relación con sus objetivos empresariales. Application Signals le proporciona una vista unificada y centrada en las aplicaciones de sus aplicaciones Java, sus dependencias y sus periferias. Para obtener más información, consulte Application Signals.

CloudWatch Application Signals utiliza el agente de CloudWatch para recibir métricas y seguimientos de sus aplicaciones autoinstrumentadas, aplicar reglas de manera opcional para reducir la alta cardinalidad y, a continuación, publicar la telemetría procesada en CloudWatch. Puede proporcionar una configuración personalizada al agente de CloudWatch específicamente para Application Signals mediante el archivo de configuración del agente. Para empezar, la presencia de una sección application_signals en la sección metrics_collected dentro de la sección logs del archivo de configuración del agente especifica que el agente de CloudWatch recibirá las métricas de las aplicaciones autoinstrumentadas. Del mismo modo, la presencia de una sección application_signals en la sección traces_collected dentro de la sección traces del archivo de configuración del agente especifica que el agente de CloudWatch está habilitado para recibir los seguimientos de las aplicaciones autoinstrumentadas. Además, si lo desea, puede introducir reglas de configuración personalizadas para reducir la publicación de telemetría de alta cardinalidad, tal como se describe en esta sección.

  • En el caso de los clústeres de Amazon EKS, al instalar el complemento de observabilidad de EKS de Amazon CloudWatch, el agente de CloudWatch está habilitado de forma predeterminada para recibir métricas y seguimientos de sus aplicaciones autoinstrumentadas. Si desea transferir de forma opcional las reglas de configuración personalizadas, puede hacerlo pasando una configuración de agente personalizada al complemento Amazon EKS al crearla o actualizarla mediante una configuración adicional, tal y como se describe en Configuraciones adicionales (Opcional).

  • Para otras plataformas compatibles, incluida Amazon EC2, debe iniciar el agente de CloudWatch con una configuración de agente que habilite Application Signals especificando las secciones application_signals y, opcionalmente, cualquier regla de configuración personalizada, tal como se describe más adelante en esta sección.

A continuación, se ofrece un resumen de los campos en el archivo de configuración del agente de CloudWatch que se relacionan con CloudWatch Application Signals.

  • logs

    • metrics_collected: este campo puede contener secciones para especificar que el agente debe recopilar los registros para habilitar casos de uso como CloudWatch Application Signals e Información de contenedores con una observabilidad mejorada en Amazon EKS.

      nota

      Anteriormente, esta sección también se usaba para especificar que el agente debe recopilar registros que están en formato de métrica integradas. Estos ajustes ya no son necesarios.

      • application_signals: (opcional) especifica que desea habilitar CloudWatch Application Signals para recibir métricas de sus aplicaciones autoinstrumentadas para facilitar CloudWatch Application Signals.

        • rules: (opcional) una serie de reglas para seleccionar métricas y seguimientos de forma condicional y aplicar acciones para administrar escenarios de alta cardinalidad. Cada regla puede incluir los siguientes campos:

          • rule_name: (opcional) el nombre de la regla.

          • selectors: (opcional) un conjunto de métricas y seguimientos comparadores de dimensiones. Cada selector debe proporcionar los siguientes campos:

            • dimension: obligatorio si selectors no está vacío. Especifica la dimensión de las métricas y los seguimientos que se van a utilizar como filtro.

            • match: obligatorio si selectors no está vacío. Un patrón comodín que se utiliza para hacer coincidir valores de la dimensión especificada.

          • action: (opcional) la acción que se aplicará a las métricas y los seguimientos que coincidan con los selectores especificados. El valor de action tiene que ser una de las siguientes palabras clave:

            • keep: especifica que solo se envíen las métricas y los seguimientos a CloudWatch si coinciden con los selectors.

            • drop: especifica que se eliminen las métricas y los seguimientos que coincidan con los selectors.

            • replace: especifica que se sustituyan las dimensiones de las métricas y los seguimientos que coincidan con los selectors. Se sustituyen según la sección replacements.

          • replacements Obligatorio si action es replace. Una variedad de pares de dimensiones y valores que se aplicarán a las métricas y seguimientos que coincidan con los selectors especificados cuando la action es replace. Cada reemplazo, debe proporcionar los siguientes campos:

            • target_dimension: obligatorio si replacements no está vacío. Especifica la dimensión que se debe reemplazar.

            • value: obligatorio si replacements no está vacío. El valor por el que se va a reemplazar el valor original de target_dimension.

        • limiter (Opcional) Utilice esta sección para limitar el número de métricas y dimensiones que Application Signals envía a CloudWatch, a fin de optimizar sus costos.

          • disabled (Opcional) Si es true, la característica de limitación de métricas está deshabilitada. El valor predeterminado es false

          • drop_threshold (Opcional) El número máximo de métricas distintas por servicio en un intervalo de rotación que un agente de CloudWatch puede exportar. El valor predeterminado es 500.

          • rotation_interval (Opcional) El intervalo en el que el limitador restablece los registros de métricas para el recuento de distinciones. Se expresa como una cadena con una secuencia de números y un sufijo de unidad. Se admiten fracciones. Los sufijos de unidad admitidos son s, m, h, ms, us y ns

            El valor predeterminado es 1h por una hora.

          • log_dropped_metrics (Opcional) Especifica si el agente debe escribir registros en los registros del agente de CloudWatch cuando se eliminan las métricas de Application Signals. El valor predeterminado es false.

            nota

            Para activar este registro, el parámetro debug de la sección agent también debe estar establecido en true.

  • traces

    • traces_collected

      • application_signals: opcional. Especifique esto para permitir que el agente de CloudWatch reciba los seguimientos de sus aplicaciones autoinstrumentadas para facilitar CloudWatch Application Signals.

nota

Si bien las reglas application_signals personalizadas se especifican en la sección metrics_collected, incluida en la sección logs, también se aplican implícitamente a la sección traces_collected. Se aplicará el mismo conjunto de reglas tanto a las métricas como a los seguimientos.

Cuando hay varias reglas con acciones diferentes, se aplican en la siguiente secuencia: keep, luego drop y después replace.

A continuación, se muestra un ejemplo de un archivo de configuración completo del agente de CloudWatch que aplica reglas personalizadas.

{ "logs": { "metrics_collected": { "application_signals": { "rules": [ { "rule_name": "keep01", "selectors": [ { "dimension": "Service", "match": "pet-clinic-frontend" }, { "dimension": "RemoteService", "match": "customers-service" } ], "action": "keep" }, { "rule_name": "drop01", "selectors": [ { "dimension": "Operation", "match": "GET /api/customer/owners/*" } ], "action": "drop" }, { "rule_name": "replace01", "selectors": [ { "dimension": "Operation", "match": "PUT /api/customer/owners/*/pets/*" }, { "dimension": "RemoteOperation", "match": "PUT /owners" } ], "replacements": [ { "target_dimension": "Operation", "value": "PUT /api/customer/owners/{ownerId}/pets{petId}" } ], "action": "replace" } ] } } }, "traces": { "traces_collected": { "application_signals": {} } } }

En el caso del archivo de configuración del ejemplo anterior, las rules se procesan de la siguiente manera:

  1. La regla keep01 asegura que se mantengan todas las métricas y seguimientos con la dimensión Service como pet-clinic-frontend y la dimensión RemoteService como customers-service.

  2. En el caso de las métricas y los seguimientos procesados una vez que se aplique keep01, la regla drop01 asegura que se eliminen las métricas y los seguimientos con la dimensión Operation como GET /api/customer/owners/*.

  3. En el caso de las métricas y los seguimientos procesados una vez que se aplique drop01, la regla replace01 actualiza las métricas y los seguimientos que tienen la dimensión Operation como PUT /api/customer/owners/*/pets/* y la dimensión RemoteOperation como PUT /owners, de tal manera que la dimensión Operation se reemplace para ser PUT /api/customer/owners/{ownerId}/pets{petId}.

El siguiente es un ejemplo completo de un archivo de configuración de CloudWatch que administra la cardinalidad en Application Signals cambiando el límite de métricas a 100, habilitando el registro de las métricas descartadas y estableciendo el intervalo de rotación en dos horas.

{ "logs": { "metrics_collected": { "application_signals": { "limiter": { "disabled": false, "drop_threshold": 100, "rotation_interval": "2h", "log_dropped_metrics": true } } }, "traces": { "traces_collected": { "application_signals": {} } } } }