Recopilación de las métricas de Java Management Extensions (JMX)
Puede utilizar el agente de CloudWatch para recopilar métricas de Java Management Extensions (JMX) de las aplicaciones en Java.
El agente de CloudWatch permite recopilar estas métricas de las siguientes versiones:
JVM 8 y posterior
Kafka 0.8.2.x y posterior
Tomcat 9, 10.1 y 11 (beta)
Para comenzar a recopilar métricas de JMX, agregue una sección jmx
en la sección metrics_collected
del archivo de configuración del agente de CloudWatch. La sección jmx
puede incluir los siguientes campos.
jvm
: opcional. Indica que desea recuperar métricas de Java Virtual Machine (JVM) de la instancia. Para obtener más información, consulte Recopilación de métricas de JVM.Esta sección puede incluir los siguientes campos.
-
measurement
: especifica la matriz de métricas de la JVM que se recopilarán. Para ver una lista de los valores posibles que se utilizarán aquí, consulte la columna Metric (Métrica) de la tabla de Recopilación de métricas de JVM.En la entrada de cada métrica, puede especificar, si así lo desea, uno de los valores siguientes o ambos:
-
rename
: especifica un nombre diferente para esta métrica. -
unit
: Especifica la unidad que se usará para esta métrica, lo que anula la unidad predeterminada de la métrica. La unidad que especifique debe ser una unidad de métrica de CloudWatch válida, tal como se muestra en la descripción deUnit
en MetricDatum.
-
-
kafka
: opcional. Indica que desea recuperar métricas de los agentes de Apache Kafka de la instancia. Para obtener más información, consulte Recopilación de métricas de Kafka.Esta sección puede incluir los siguientes campos.
-
measurement
: especifica la matriz de métricas de los agentes de Kafka que se recopilarán. Para ver una lista de los valores posibles que se utilizarán aquí, consulte la columna Métrica de la tabla de Recopilación de métricas de Kafka.En la entrada de cada métrica, puede especificar, si así lo desea, uno de los valores siguientes o ambos:
-
rename
: especifica un nombre diferente para esta métrica. -
unit
: Especifica la unidad que se usará para esta métrica, lo que anula la unidad predeterminada de la métrica. La unidad que especifique debe ser una unidad de métrica de CloudWatch válida, tal como se muestra en la descripción deUnit
en MetricDatum.
-
-
kafka-consumer
: opcional. Indica que desea recuperar métricas de los consumidores de Apache Kafka de la instancia. Para obtener más información, consulte Recopilación de métricas de Kafka.Esta sección puede incluir los siguientes campos.
-
measurement
: especifica la matriz de métricas de los agentes de Kafka que se recopilarán. Para ver una lista de los valores posibles que se utilizarán aquí, consulte la columna Métrica de la segunda tabla de métricas de Recopilación de métricas de Kafka.En la entrada de cada métrica, puede especificar, si así lo desea, uno de los valores siguientes o ambos:
-
rename
: especifica un nombre diferente para esta métrica. -
unit
: Especifica la unidad que se usará para esta métrica, lo que anula la unidad predeterminada de la métrica. La unidad que especifique debe ser una unidad de métrica de CloudWatch válida, tal como se muestra en la descripción deUnit
en MetricDatum.
-
-
kafka-producer
: opcional. Indica que desea recuperar métricas de los productores de Apache Kafka de la instancia. Para obtener más información, consulte Recopilación de métricas de Kafka.Esta sección puede incluir los siguientes campos.
-
measurement
: especifica la matriz de métricas de los agentes de Kafka que se recopilarán. Para ver una lista de los valores posibles que se utilizarán aquí, consulte la columna Métrica de la tercera tabla de métricas de Recopilación de métricas de Kafka.En la entrada de cada métrica, puede especificar, si así lo desea, uno de los valores siguientes o ambos:
-
rename
: especifica un nombre diferente para esta métrica. -
unit
: Especifica la unidad que se usará para esta métrica, lo que anula la unidad predeterminada de la métrica. La unidad que especifique debe ser una unidad de métrica de CloudWatch válida, tal como se muestra en la descripción deUnit
en MetricDatum.
-
-
tomcat
: opcional. Indica que desea recuperar métricas de Tomcat de la instancia. Para obtener más información, consulte Recopilación de métricas de Tomcat.Esta sección puede incluir los siguientes campos.
-
measurement
: especifica la matriz de las métricas de Tomcat que se recopilarán. Para ver una lista de los valores posibles que se utilizarán aquí, consulte la columna Metric (Métrica) de la tabla de Recopilación de métricas de Tomcat.En la entrada de cada métrica, puede especificar, si así lo desea, uno de los valores siguientes o ambos:
-
rename
: especifica un nombre diferente para esta métrica. -
unit
: Especifica la unidad que se usará para esta métrica, lo que anula la unidad predeterminada de la métrica. La unidad que especifique debe ser una unidad de métrica de CloudWatch válida, tal como se muestra en la descripción deUnit
en MetricDatum.
-
-
La sección jmx
también puede incluir el campo opcional append_dimensions
:
-
append_dimensions
: opcional. Las dimensiones adicionales que se utilizarán únicamente para las métricas de proceso. Si especifica este campo, se usa además de las dimensiones especificadas en el campoappend_dimensions
que se utiliza para todos los tipos de métricas recopiladas por el agente.
Los siguientes campos son solo para Amazon EC2.
-
endpoint
: la dirección a la que se debe conectar el cliente de JMX. El formato esip:port
. Si el punto de conexión no es el host local, y la autenticación por contraseña y el SSL deben estar habilitados. -
metrics_collection_interval
: opcional. Especifica la frecuencia con la que se recopilarán las métricas de proceso, lo que anula el valor demetrics_collection_interval
global especificado en la secciónagent
del archivo de configuración.Este valor se especifica en segundos. Por ejemplo, indicar 10 hace que las métricas se deben recopilar cada 10 segundos y establecerlo en 300 especifica que las métricas se deben recopilar cada 5 minutos.
Si configura este valor por debajo de 60 segundos, cada métrica se recopila como una métrica de alta resolución. Para obtener más información, consulte Métricas de alta resolución.
Si JMX se habilitó con autenticación por contraseña o SSL para el acceso remoto, puede usar los siguientes campos.
-
password_file
: opcional. Especifica un archivo de propiedades de Java con las claves de las contraseñas. El archivo debe ser de solo lectura y estar restringido al usuario que ejecute el agente de CloudWatch. Si la autenticación con contraseña está habilitada, se requiere el mismo par de nombre de usuario y contraseña que la entrada en el archivo de contraseñas de JMX que se proporciona en la propiedadcom.sun.management.jmxremote.password.file
. Si el SSL está habilitado, requiere entradas parakeystore
ytruststore
, y corresponde ajavax.net.ssl.keyStorePassword
yjavax.net.ssl.trustStorePassword
, respectivamente. -
username
: si la autenticación por contraseña está habilitada, especifique el nombre de usuario que coincida con el nombre de usuario del archivo de contraseñas proporcionado. -
keystore_path
: si el SSL está habilitado, especifique la ruta completa al almacén de claves de Java, que consta de una clave privada y un certificado de la clave pública. Corresponde a la propiedadjavax.net.ssl.keyStore
. -
keystore_type
: si SSL está habilitado, especifique el tipo de almacén de claves que se va a utilizar. Corresponde a la propiedadjavax.net.ssl.keyStoreType
. -
truststore_path
: si SSL está habilitado, especifique la ruta completa al almacén de confianza de Java, que debe contener el certificado público del servidor JMX remoto. Corresponde a la propiedadjavax.net.ssl.trustStore
. -
truststore_type
: si SSL está habilitado, especifique el tipo de almacén de confianza que se va a utilizar. Corresponde a la propiedadjavax.net.ssl.trustStoreType
. -
remote_profile
: opcional. Los perfiles remotos de JMX admitidos son TLS en combinación con los perfiles de SASL:SASL/PLAIN
,SASL/DIGEST-MD5
ySASL/CRAM-MD5
. Debe ser uno de los siguientes:SASL/PLAIN
,SASL/DIGEST-MD5
,SASL/CRAM-MD5
,TLS SASL/PLAIN
,TLS SASL/DIGEST-MD5
oTLS SASL/CRAM-MD5
-
realm
: opcional. El dominio según lo requerido por el perfil remotoSASL/DIGEST-MD5
. -
registry_ssl_enabled
: si la autenticación del registro RMI está habilitada. Se establece en true si la JVM se configuró concom.sun.management.jmxremote.registry.ssl=true
. insecure
: se configura entrue
para excluir la validación necesaria si el agente está configurado para un punto de conexión que no sea de host local.
A continuación, se ofrece un ejemplo de la sección jmx
del archivo de configuración del agente de CloudWatch.
{ "metrics": { "metrics_collected": { "jmx": [ { "endpoint": "remotehost:1314", "jvm": { "measurement": [ "jvm.memory.heap.init", "jvm.memory.nonheap.used" ] }, "kafka": { "measurement": [ "kafka.request.count", { "name": "kafka.message.count", "rename": "KAFKA_MESSAGE_COUNT", "unit": "Count" } ] }, "username": "cwagent", "keystore_path": "/path/to/keystore", "keystore_type": "PKCS12", "truststore_path": "/path/to/truststore", "truststore_type": "PKCS12" }, { "endpoint": "localhost:1315", "kafka-producer": { "measurement": [ "kafka.producer.request-rate" ] }, "append_dimensions": { "service.name": "kafka/1" } } ] } } }
Recopilación de métricas de JVM
Puede utilizar el agente de CloudWatch para recopilar métricas de Java Virtual Machine (JVM). Para configurar esta acción, agregue una sección de jvm
en la sección de jmx
del archivo de configuración del agente de CloudWatch.
Se pueden recopilar las siguientes métricas.
Métrica | Dimensiones | Descripción |
---|---|---|
|
[PREDETERMINADA] |
Número total de clases cargadas. Unidad: ninguna Estadísticas significativas: mínimo, máximo, promedio |
|
[PREDETERMINADO], |
Número total de recopilaciones de elementos no utilizados que se han llevado a cabo. Unidad: ninguna Estadísticas significativas: mínimo, máximo, promedio |
|
[PREDETERMINADO], |
Tiempo acumulado transcurrido aproximado de recopilación de elementos no utilizados. Unidad: milisegundos Estadísticas significativas: mínimo, máximo, promedio |
|
[PREDETERMINADA] |
Cantidad inicial de memoria que la JVM solicita al sistema operativo para el montón. Unidad: bytes Estadísticas significativas: mínimo, máximo, promedio |
|
[PREDETERMINADA] |
Cantidad máxima de memoria que se puede usar para el montón. Unidad: bytes Estadísticas significativas: máximo |
|
[PREDETERMINADA] |
El uso actual de memoria del montón. Unidad: bytes Estadísticas significativas: mínimo, máximo, promedio |
|
[PREDETERMINADA] |
Cantidad de memoria que se garantiza que estará disponible para el montón. Unidad: bytes Estadísticas significativas: mínimo, máximo, promedio |
|
[PREDETERMINADA] |
Cantidad inicial de memoria que la JVM solicita al sistema operativo para fines distintos del montón. Unidad: bytes Estadísticas significativas: mínimo, máximo, promedio |
|
[PREDETERMINADA] |
Cantidad máxima de memoria que se puede utilizar para fines distintos del montón. Unidad: bytes Estadísticas significativas: máximo |
|
[PREDETERMINADA] |
Uso actual de la memoria que no es para el montón. Unidad: bytes Estadísticas significativas: mínimo, máximo, promedio |
|
[PREDETERMINADA] |
Cantidad de memoria que se garantiza que estará disponible para fines distintos del montón. Unidad: bytes Estadísticas significativas: mínimo, máximo, promedio |
|
[PREDETERMINADO], |
Cantidad inicial de memoria que la JVM solicita al sistema operativo para el grupo de memoria. Unidad: bytes Estadísticas significativas: mínimo, máximo, promedio |
|
[PREDETERMINADO], |
Cantidad máxima de memoria que se puede usar para el grupo de memoria. Unidad: bytes Estadísticas significativas: máximo |
|
[PREDETERMINADO], |
Uso actual de la memoria del grupo de memoria. Unidad: bytes Estadísticas significativas: mínimo, máximo, promedio |
|
[PREDETERMINADO], |
Cantidad de memoria que se garantiza que estará disponible para el grupo de memoria. Unidad: bytes Estadísticas significativas: mínimo, máximo, promedio |
|
[PREDETERMINADA] |
Número actual de subprocesos. Unidad: ninguna Estadísticas significativas: mínimo, máximo, promedio |
Las métricas de JVM se recopilan con las siguientes dimensiones:
Dimensión | Descripción |
---|---|
[PREDETERMINADA] |
De forma predeterminada en Amazon EC2, el host también se publica como una dimensión de métricas que el agente de CloudWatch recopila, a menos que use el campo De forma predeterminada en Amazon EKS, el contexto relacionado con k8s también se publica como dimensiones de métricas ( |
|
En el caso de las métricas En el caso de las métricas |
Recopilación de métricas de Kafka
Puede utilizar el agente de CloudWatch para recopilar métricas de Apache Kafka. Para configurarlo, agregue una o más de las subsección siguientes a la sección jmx
del archivo de configuración del agente de CloudWatch.
Utilice una sección
kafka
para recopilar las métricas de los agentes de Kafka.Utilice una sección
kafka-consumer
para recopilar las métricas de los consumidores de Kafka.Utilice una sección
kafka-producer
para recopilar las métricas de los productores de Kafka.
Métricas del agente de Kafka
Se pueden recopilar las siguientes métricas de los agente de Kafka.
Métrica | Dimensiones | Descripción |
---|---|---|
|
[PREDETERMINADA] |
Número de mensajes recibidos por el agente de Kafka. Unidad: ninguna Estadísticas significativas: mínimo, máximo, promedio |
|
[PREDETERMINADO], |
Número de solicitudes recibidas por el agente de Kafka. Unidad: ninguna Estadísticas significativas: mínimo, máximo, promedio |
|
[PREDETERMINADO], |
Número de solicitudes al agente de Kafka que provocaron un error. Unidad: ninguna Estadísticas significativas: mínimo, máximo, promedio |
|
[PREDETERMINADO], |
Tiempo total que el agente de Kafka dedicó a atender las solicitudes. Unidad: milisegundos Estadísticas significativas: mínimo, máximo, promedio |
|
[PREDETERMINADO], |
Percentil 50 del tiempo que el agente de Kafka dedicó a atender las solicitudes. Unidad: milisegundos Estadísticas significativas: mínimo, máximo, promedio |
|
[PREDETERMINADO], |
Percentil 99 del tiempo que el agente de Kafka dedicó a atender las solicitudes. Unidad: milisegundos Estadísticas significativas: mínimo, máximo, promedio |
|
[PREDETERMINADO], |
Tiempo promedio que el agente de Kafka dedicó a atender las solicitudes. Unidad: milisegundos Estadísticas significativas: promedio |
|
[PREDETERMINADO], |
Número de bytes recibidos o enviados por el agente de Kafka. Unidad: bytes Estadísticas significativas: mínimo, máximo, promedio |
|
[PREDETERMINADO], |
Número de solicitudes en espera en el purgatorio. Unidad: ninguna Estadísticas significativas: mínimo, máximo, promedio |
|
[PREDETERMINADA] |
Número de particiones en el agente de Kafka. Unidad: ninguna Estadísticas significativas: mínimo, máximo, promedio |
|
[PREDETERMINADA] |
Número de particiones que están sin conexión. Unidad: ninguna Estadísticas significativas: mínimo, máximo, promedio |
|
[PREDETERMINADA] |
Número de particiones infrarreplicadas. Unidad: ninguna Estadísticas significativas: mínimo, máximo, promedio |
|
[PREDETERMINADO], |
Número de operaciones de reducción y expansión de réplicas sincronizadas. Unidad: ninguna Estadísticas significativas: mínimo, máximo, promedio |
|
[PREDETERMINADA] |
Retraso máximo en los mensajes entre las réplicas de seguidores y líderes. Unidad: ninguna Estadísticas significativas: máximo |
|
[PREDETERMINADA] |
Número de controladores activos en el agente. Unidad: ninguna Estadísticas significativas: mínimo, máximo, promedio |
|
[PREDETERMINADA] |
Tasa de elección de líderes. Si aumenta, indica que hay errores en el agente. Unidad: ninguna Estadísticas significativas: mínimo, máximo, promedio |
|
[PREDETERMINADA] |
Tasa de elección de líderes sin limpiar. Si aumenta, indica que hay errores en el agente. Unidad: ninguna Estadísticas significativas: mínimo, máximo, promedio |
|
[PREDETERMINADA] |
Tamaño de la cola de solicitudes. Unidad: ninguna Estadísticas significativas: mínimo, máximo, promedio |
|
[PREDETERMINADA] |
Recuento de vaciados de registros. Unidad: milisegundos Estadísticas significativas: mínimo, máximo, promedio |
|
[PREDETERMINADA] |
Valor del percentil 50 del recuento de vaciados de registros. Unidad: milisegundos Estadísticas significativas: mínimo, máximo, promedio |
|
[PREDETERMINADA] |
Valor del percentil 99 del recuento de vaciados de registros. Unidad: milisegundos Estadísticas significativas: mínimo, máximo, promedio |
Las métricas de agentes de Kafka se recopilan con las siguientes dimensiones:
Dimensión | Descripción |
---|---|
[PREDETERMINADA] |
De forma predeterminada en Amazon EC2, el host también se publica como una dimensión de métricas que el agente de CloudWatch recopila, a menos que use el campo De forma predeterminada en Amazon EKS, el contexto relacionado con k8s también se publica como dimensiones de métricas ( |
|
El tipo de la solicitud. Los valores posibles son |
|
La dirección del tráfico de red. Los posibles valores son |
|
El tipo de operación de la réplica sincronizada. Los posibles valores son |
Métricas de consumidores de Kafka
Se pueden recopilar las siguientes métricas de los consumidores de Kafka.
Métrica | Dimensiones | Descripción |
---|---|---|
|
[PREDETERMINADO], |
Número de solicitudes de recuperación de todos los temas por segundo. Unidad: ninguna Estadísticas significativas: mínimo, máximo, promedio |
|
[PREDETERMINADO], |
Número de mensajes que el consumidor está atrasado con respecto al productor. Unidad: ninguna Estadísticas significativas: mínimo, máximo, promedio |
|
[PREDETERMINADO], |
Cantidad promedio de bytes consumidos para todos los temas por segundo. Unidad: bytes Estadísticas significativas: promedio |
|
[PREDETERMINADO], |
Número de bytes recuperados por solicitud para todos los temas. Unidad: bytes Estadísticas significativas: mínimo, máximo, promedio |
|
[PREDETERMINADO], |
Número promedio de registros consumidos para todos los temas por segundo. Unidad: ninguna Estadísticas significativas: promedio |
|
[PREDETERMINADO], |
Número promedio de bytes consumidos por segundo. Unidad: bytes Estadísticas significativas: promedio |
|
[PREDETERMINADO], |
Número de bytes recuperados por solicitud. Unidad: bytes Estadísticas significativas: mínimo, máximo, promedio |
|
[PREDETERMINADO], |
Número promedio de registros consumidos por segundo. Unidad: ninguna Estadísticas significativas: promedio |
Las métricas de consumidores de Kafka se recopilan con las siguientes dimensiones:
Dimensión | Descripción |
---|---|
[PREDETERMINADA] |
De forma predeterminada en Amazon EC2, el host también se publica como una dimensión de métricas que el agente de CloudWatch recopila, a menos que use el campo De forma predeterminada en Amazon EKS, el contexto relacionado con k8s también se publica como dimensiones de métricas ( |
|
El ID del cliente. |
|
El tema de Kafka. |
Métricas de productores de Kafka
Se pueden recopilar las siguientes métricas de los productores de Kafka.
Métrica | Dimensiones | Descripción |
---|---|---|
|
[PREDETERMINADO], |
Tiempo promedio que el subproceso de E/S pasa esperando a que un socket esté listo para lecturas o escrituras. Unidad: ninguna Estadísticas significativas: promedio |
|
[PREDETERMINADO], |
Número promedio de bytes salientes enviados por segundo a todos los servidores. Unidad: bytes Estadísticas significativas: promedio |
|
[PREDETERMINADO], |
Latencia promedio de las solicitudes. Unidad: milisegundos Estadísticas significativas: promedio |
|
[PREDETERMINADO], |
Número promedio de solicitudes enviadas por segundo. Unidad: ninguna Estadísticas significativas: promedio |
|
[PREDETERMINADO], |
Número de respuestas recibidas por segundo. Unidad: ninguna Estadísticas significativas: mínimo, máximo, promedio |
|
[PREDETERMINADO], |
Número promedio de bytes enviados por segundo para un tema. Unidad: bytes Estadísticas significativas: promedio |
|
[PREDETERMINADO], |
Tasa de compresión promedio de los lotes de registros de un tema. Unidad: ninguna Estadísticas significativas: promedio |
|
[PREDETERMINADO], |
Número promedio por segundo de envíos de registros que generaron errores en un tema. Unidad: ninguna Estadísticas significativas: promedio |
|
[PREDETERMINADO], |
Número promedio por segundo de envíos de registros reintentados para un tema. Unidad: ninguna Estadísticas significativas: promedio |
|
[PREDETERMINADO], |
Número promedio de registros enviados por segundo para un tema. Unidad: ninguna Estadísticas significativas: promedio |
Las métricas de productores de Kafka se recopilan con las siguientes dimensiones:
Dimensión | Descripción |
---|---|
[PREDETERMINADA] |
De forma predeterminada en Amazon EC2, el host también se publica como una dimensión de métricas que el agente de CloudWatch recopila, a menos que use el campo De forma predeterminada en Amazon EKS, el contexto relacionado con k8s también se publica como dimensiones de métricas ( |
|
El ID del cliente. |
|
El tema de Kafka. |
Recopilación de métricas de Tomcat
Puede utilizar el agente de CloudWatch para recopilar métricas de Apache Tomcat. Para configurar esta acción, agregue una sección de tomcat
en la sección de metrics_collected
del archivo de configuración del agente de CloudWatch.
Se pueden recopilar las siguientes métricas.
Métrica | Dimensiones | Descripción |
---|---|---|
|
[PREDETERMINADA] |
Número de sesiones activas. Unidad: ninguna Estadísticas significativas: mínimo, máximo, promedio |
|
[PREDETERMINADO], |
Número de errores que se encontraron. Unidad: ninguna Estadísticas significativas: mínimo, máximo, promedio |
|
[PREDETERMINADO], |
Tiempo total de procesamiento. Unidad: milisegundos Estadísticas significativas: mínimo, máximo, promedio |
|
[PREDETERMINADO], |
Número de bytes recibidos y enviados. Unidad: bytes Estadísticas significativas: mínimo, máximo, promedio |
|
[PREDETERMINADO], |
Número de subprocesos. Unidad: ninguna Estadísticas significativas: mínimo, máximo, promedio |
|
[PREDETERMINADO], |
Tiempo máximo para procesar una solicitud. Unidad: milisegundos Estadísticas significativas: máximo |
|
[PREDETERMINADO], |
Total de solicitudes. Unidad: ninguna Estadísticas significativas: mínimo, máximo, promedio |
Las métricas de Tomcat se recopilan con las siguientes dimensiones:
Dimensión | Descripción |
---|---|
[PREDETERMINADA] |
De forma predeterminada en Amazon EC2, el host también se publica como una dimensión de métricas que el agente de CloudWatch recopila, a menos que use el campo De forma predeterminada en Amazon EKS, el contexto relacionado con k8s también se publica como dimensiones de métricas ( |
|
|
|
La dirección del tráfico. Los posibles valores son |