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 siselectors
no está vacío. Especifica la dimensión de las métricas y los seguimientos que se van a utilizar como filtro.match
: obligatorio siselectors
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 deaction
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 losselectors
.drop
: especifica que se eliminen las métricas y los seguimientos que coincidan con losselectors
.replace
: especifica que se sustituyan las dimensiones de las métricas y los seguimientos que coincidan con losselectors
. Se sustituyen según la secciónreplacements
.
replacements
Obligatorio siaction
esreplace
. Una variedad de pares de dimensiones y valores que se aplicarán a las métricas y seguimientos que coincidan con losselectors
especificados cuando laaction
esreplace
. Cada reemplazo, debe proporcionar los siguientes campos:target_dimension
: obligatorio sireplacements
no está vacío. Especifica la dimensión que se debe reemplazar.value
: obligatorio sireplacements
no está vacío. El valor por el que se va a reemplazar el valor original detarget_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 estrue
, la característica de limitación de métricas está deshabilitada. El valor predeterminado esfalse
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 sons
,m
,h
,ms
,us
yns
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 esfalse
.nota
Para activar este registro, el parámetro
debug
de la secciónagent
también debe estar establecido entrue
.
-
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:
La regla
keep01
asegura que se mantengan todas las métricas y seguimientos con la dimensiónService
comopet-clinic-frontend
y la dimensiónRemoteService
comocustomers-service
.En el caso de las métricas y los seguimientos procesados una vez que se aplique
keep01
, la regladrop01
asegura que se eliminen las métricas y los seguimientos con la dimensiónOperation
comoGET /api/customer/owners/*
.En el caso de las métricas y los seguimientos procesados una vez que se aplique
drop01
, la reglareplace01
actualiza las métricas y los seguimientos que tienen la dimensiónOperation
comoPUT /api/customer/owners/*/pets/*
y la dimensiónRemoteOperation
comoPUT /owners
, de tal manera que la dimensiónOperation
se reemplace para serPUT /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": {} } } } }