Recopilación de las métricas de Java Management Extensions (JMX) - Amazon CloudWatch

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)

Amazon EC2
Habilitación de JMX en la instancia de JVM

Para que el agente de CloudWatch pueda recopilar métricas de JMX, la JVM de la aplicación debe enlazarse a un puerto mediante la propiedad del sistema com.sun.management.jmxremote.port.

java -Dcom.sun.management.jmxremote.port=port-number -jar example.jar

Para obtener más información y otras configuraciones, consulte la documentación de JMX.

Amazon EKS
Habilitación de JMX en los pods de aplicaciones en Java

Al utilizar el complemento de observabilidad de EKS de CloudWatch, puede administrar la forma en que se habilitan las métricas de JMX mediante anotaciones. Para obtener más información, consulte Instalación del agente de CloudWatch con el complemento de observabilidad de EKS de Amazon CloudWatch o el gráfico de Helm. Para habilitar la recopilación de métricas JMX de una carga de trabajo, agregue las siguientes anotaciones al archivo de manifiesto de la carga de trabajo de la sección PodTemplate:

  • instrumentation.opentelemetry.io/inject-java: "true"

  • Una o varias de las siguientes:

    • Para las métricas de JVM: cloudwatch.aws.amazon.com/inject-jmx-jvm: "true"

    • Para las métricas del agente de Kafka: cloudwatch.aws.amazon.com/inject-jmx-kafka: "true"

    • Para las métricas del consumidor de Kafka: cloudwatch.aws.amazon.com/inject-jmx-kafka-consumer: "true"

    • Para las métricas del productor de Kafka: cloudwatch.aws.amazon.com/inject-jmx-kafka-producer: "true"

    • Para las métricas de Tomcat: cloudwatch.aws.amazon.com/inject-jmx-tomcat: "true"

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 de Unit 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 de Unit 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 de Unit 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 de Unit 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 de Unit 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 campo append_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 es ip: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 de metrics_collection_interval global especificado en la sección agent 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 propiedad com.sun.management.jmxremote.password.file. Si el SSL está habilitado, requiere entradas para keystore y truststore, y corresponde a javax.net.ssl.keyStorePassword y javax.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 propiedad javax.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 propiedad javax.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 propiedad javax.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 propiedad javax.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 y SASL/CRAM-MD5. Debe ser uno de los siguientes: SASL/PLAIN, SASL/DIGEST-MD5, SASL/CRAM-MD5, TLS SASL/PLAIN, TLS SASL/DIGEST-MD5 o TLS SASL/CRAM-MD5

  • realm: opcional. El dominio según lo requerido por el perfil remoto SASL/DIGEST-MD5.

  • registry_ssl_enabled: si la autenticación del registro RMI está habilitada. Se establece en true si la JVM se configuró con com.sun.management.jmxremote.registry.ssl=true.

  • insecure: se configura en true 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

jvm.classes.loaded

[PREDETERMINADA]

Número total de clases cargadas.

Unidad: ninguna

Estadísticas significativas: mínimo, máximo, promedio

jvm.gc.collections.count

[PREDETERMINADO], name

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

jvm.gc.collections.elapsed

[PREDETERMINADO], name

Tiempo acumulado transcurrido aproximado de recopilación de elementos no utilizados.

Unidad: milisegundos

Estadísticas significativas: mínimo, máximo, promedio

jvm.memory.heap.init

[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

jvm.memory.heap.max

[PREDETERMINADA]

Cantidad máxima de memoria que se puede usar para el montón.

Unidad: bytes

Estadísticas significativas: máximo

jvm.memory.heap.used

[PREDETERMINADA]

El uso actual de memoria del montón.

Unidad: bytes

Estadísticas significativas: mínimo, máximo, promedio

jvm.memory.heap.committed

[PREDETERMINADA]

Cantidad de memoria que se garantiza que estará disponible para el montón.

Unidad: bytes

Estadísticas significativas: mínimo, máximo, promedio

jvm.memory.nonheap.init

[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

jvm.memory.nonheap.max

[PREDETERMINADA]

Cantidad máxima de memoria que se puede utilizar para fines distintos del montón.

Unidad: bytes

Estadísticas significativas: máximo

jvm.memory.nonheap.used

[PREDETERMINADA]

Uso actual de la memoria que no es para el montón.

Unidad: bytes

Estadísticas significativas: mínimo, máximo, promedio

jvm.memory.nonheap.committed

[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

jvm.memory.pool.init

[PREDETERMINADO], name

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

jvm.memory.pool.max

[PREDETERMINADO], name

Cantidad máxima de memoria que se puede usar para el grupo de memoria.

Unidad: bytes

Estadísticas significativas: máximo

jvm.memory.pool.used

[PREDETERMINADO], name

Uso actual de la memoria del grupo de memoria.

Unidad: bytes

Estadísticas significativas: mínimo, máximo, promedio

jvm.memory.pool.committed

[PREDETERMINADO], name

Cantidad de memoria que se garantiza que estará disponible para el grupo de memoria.

Unidad: bytes

Estadísticas significativas: mínimo, máximo, promedio

jvm.threads.count

[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 append_dimensions en la sección metrics. Consulte omit_hostname en la sección del agente de Cree o edite de forma manual el archivo de configuración del agente de CloudWatch para obtener más información.

De forma predeterminada en Amazon EKS, el contexto relacionado con k8s también se publica como dimensiones de métricas (k8s.container.name, k8s.deployment.name, k8s.namespace.name,k8s.node.name, k8s.pod.name y k8s.replicaset.name). Estas se pueden filtrar mediante el campo aggregation_dimensions.

name

En el caso de las métricas jvm.gc.collections, el valor es el nombre del recolector de elementos no utilizados.

En el caso de las métricas jvm.memory.pool, el valor es el nombre del grupo de memoria.

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

kafka.message.count

[PREDETERMINADA]

Número de mensajes recibidos por el agente de Kafka.

Unidad: ninguna

Estadísticas significativas: mínimo, máximo, promedio

kafka.request.count

[PREDETERMINADO], type

Número de solicitudes recibidas por el agente de Kafka.

Unidad: ninguna

Estadísticas significativas: mínimo, máximo, promedio

kafka.request.failed

[PREDETERMINADO], type

Número de solicitudes al agente de Kafka que provocaron un error.

Unidad: ninguna

Estadísticas significativas: mínimo, máximo, promedio

kafka.request.time.total

[PREDETERMINADO], type

Tiempo total que el agente de Kafka dedicó a atender las solicitudes.

Unidad: milisegundos

Estadísticas significativas: mínimo, máximo, promedio

kafka.request.time.50p

[PREDETERMINADO], type

Percentil 50 del tiempo que el agente de Kafka dedicó a atender las solicitudes.

Unidad: milisegundos

Estadísticas significativas: mínimo, máximo, promedio

kafka.request.time.99p

[PREDETERMINADO], type

Percentil 99 del tiempo que el agente de Kafka dedicó a atender las solicitudes.

Unidad: milisegundos

Estadísticas significativas: mínimo, máximo, promedio

kafka.request.time.avg

[PREDETERMINADO], type

Tiempo promedio que el agente de Kafka dedicó a atender las solicitudes.

Unidad: milisegundos

Estadísticas significativas: promedio

kafka.network.io

[PREDETERMINADO], state

Número de bytes recibidos o enviados por el agente de Kafka.

Unidad: bytes

Estadísticas significativas: mínimo, máximo, promedio

kafka.purgatory.size

[PREDETERMINADO], type

Número de solicitudes en espera en el purgatorio.

Unidad: ninguna

Estadísticas significativas: mínimo, máximo, promedio

kafka.partition.count

[PREDETERMINADA]

Número de particiones en el agente de Kafka.

Unidad: ninguna

Estadísticas significativas: mínimo, máximo, promedio

kafka.partition.offline

[PREDETERMINADA]

Número de particiones que están sin conexión.

Unidad: ninguna

Estadísticas significativas: mínimo, máximo, promedio

kafka.partition.under_replicated

[PREDETERMINADA]

Número de particiones infrarreplicadas.

Unidad: ninguna

Estadísticas significativas: mínimo, máximo, promedio

kafka.isr.operation.count

[PREDETERMINADO], operation

Número de operaciones de reducción y expansión de réplicas sincronizadas.

Unidad: ninguna

Estadísticas significativas: mínimo, máximo, promedio

kafka.max.lag

[PREDETERMINADA]

Retraso máximo en los mensajes entre las réplicas de seguidores y líderes.

Unidad: ninguna

Estadísticas significativas: máximo

kafka.controller.active.count

[PREDETERMINADA]

Número de controladores activos en el agente.

Unidad: ninguna

Estadísticas significativas: mínimo, máximo, promedio

kafka.leader.election.rate

[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

kafka.unclean.election.rate

[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

kafka.request.queue

[PREDETERMINADA]

Tamaño de la cola de solicitudes.

Unidad: ninguna

Estadísticas significativas: mínimo, máximo, promedio

kafka.logs.flush.time.count

[PREDETERMINADA]

Recuento de vaciados de registros.

Unidad: milisegundos

Estadísticas significativas: mínimo, máximo, promedio

kafka.logs.flush.time.median

[PREDETERMINADA]

Valor del percentil 50 del recuento de vaciados de registros.

Unidad: milisegundos

Estadísticas significativas: mínimo, máximo, promedio

kafka.logs.flush.time.99p

[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 append_dimensions en la sección metrics. Consulte omit_hostname en la sección del agente de Cree o edite de forma manual el archivo de configuración del agente de CloudWatch para obtener más información.

De forma predeterminada en Amazon EKS, el contexto relacionado con k8s también se publica como dimensiones de métricas (k8s.container.name, k8s.deployment.name, k8s.namespace.name,k8s.node.name, k8s.pod.name y k8s.replicaset.name). Estas se pueden filtrar mediante el campo aggregation_dimensions.

type

El tipo de la solicitud. Los valores posibles son produce, fetch, fetchconsumer y fetchfollower.

state

La dirección del tráfico de red. Los posibles valores son in y out.

operation

El tipo de operación de la réplica sincronizada. Los posibles valores son shrink y expand.

Métricas de consumidores de Kafka

Se pueden recopilar las siguientes métricas de los consumidores de Kafka.

Métrica Dimensiones Descripción

kafka.consumer.fetch-rate

[PREDETERMINADO], client-id

Número de solicitudes de recuperación de todos los temas por segundo.

Unidad: ninguna

Estadísticas significativas: mínimo, máximo, promedio

kafka.consumer.records-lag-max

[PREDETERMINADO], client-id

Número de mensajes que el consumidor está atrasado con respecto al productor.

Unidad: ninguna

Estadísticas significativas: mínimo, máximo, promedio

kafka.consumer.total.bytes-consumed-rate

[PREDETERMINADO], client-id

Cantidad promedio de bytes consumidos para todos los temas por segundo.

Unidad: bytes

Estadísticas significativas: promedio

kafka.consumer.total.fetch-size-avg

[PREDETERMINADO], client-id

Número de bytes recuperados por solicitud para todos los temas.

Unidad: bytes

Estadísticas significativas: mínimo, máximo, promedio

kafka.consumer.total.records-consumed-rate

[PREDETERMINADO], client-id

Número promedio de registros consumidos para todos los temas por segundo.

Unidad: ninguna

Estadísticas significativas: promedio

kafka.consumer.bytes-consumed-rate

[PREDETERMINADO], client-id, topic

Número promedio de bytes consumidos por segundo.

Unidad: bytes

Estadísticas significativas: promedio

kafka.consumer.fetch-size-avg

[PREDETERMINADO], client-id, topic

Número de bytes recuperados por solicitud.

Unidad: bytes

Estadísticas significativas: mínimo, máximo, promedio

kafka.consumer.records-consumed-rate

[PREDETERMINADO], client-id, topic

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 append_dimensions en la sección metrics. Consulte omit_hostname en la sección del agente de Cree o edite de forma manual el archivo de configuración del agente de CloudWatch para obtener más información.

De forma predeterminada en Amazon EKS, el contexto relacionado con k8s también se publica como dimensiones de métricas (k8s.container.name, k8s.deployment.name, k8s.namespace.name,k8s.node.name, k8s.pod.name y k8s.replicaset.name). Estas se pueden filtrar mediante el campo aggregation_dimensions.

client-id

El ID del cliente.

topic

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

kafka.producer.io-wait-time-ns-avg

[PREDETERMINADO], client-id

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

kafka.producer.outgoing-byte-rate

[PREDETERMINADO], client-id

Número promedio de bytes salientes enviados por segundo a todos los servidores.

Unidad: bytes

Estadísticas significativas: promedio

kafka.producer.request-latency-avg

[PREDETERMINADO], client-id

Latencia promedio de las solicitudes.

Unidad: milisegundos

Estadísticas significativas: promedio

kafka.producer.request-rate

[PREDETERMINADO], client-id

Número promedio de solicitudes enviadas por segundo.

Unidad: ninguna

Estadísticas significativas: promedio

kafka.producer.response-rate

[PREDETERMINADO], client-id

Número de respuestas recibidas por segundo.

Unidad: ninguna

Estadísticas significativas: mínimo, máximo, promedio

kafka.producer.byte-rate

[PREDETERMINADO], client-id, topic

Número promedio de bytes enviados por segundo para un tema.

Unidad: bytes

Estadísticas significativas: promedio

kafka.producer.compression-rate

[PREDETERMINADO], client-id, topic

Tasa de compresión promedio de los lotes de registros de un tema.

Unidad: ninguna

Estadísticas significativas: promedio

kafka.producer.record-error-rate

[PREDETERMINADO], client-id, topic

Número promedio por segundo de envíos de registros que generaron errores en un tema.

Unidad: ninguna

Estadísticas significativas: promedio

kafka.producer.record-retry-rate

[PREDETERMINADO], client-id, topic

Número promedio por segundo de envíos de registros reintentados para un tema.

Unidad: ninguna

Estadísticas significativas: promedio

kafka.producer.record-send-rate

[PREDETERMINADO], client-id, topic

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 append_dimensions en la sección metrics. Consulte omit_hostname en la sección del agente de Cree o edite de forma manual el archivo de configuración del agente de CloudWatch para obtener más información.

De forma predeterminada en Amazon EKS, el contexto relacionado con k8s también se publica como dimensiones de métricas (k8s.container.name, k8s.deployment.name, k8s.namespace.name,k8s.node.name, k8s.pod.name y k8s.replicaset.name). Estas se pueden filtrar mediante el campo aggregation_dimensions.

client-id

El ID del cliente.

topic

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

tomcat.sessions

[PREDETERMINADA]

Número de sesiones activas.

Unidad: ninguna

Estadísticas significativas: mínimo, máximo, promedio

tomcat.errors

[PREDETERMINADO], proto_handler

Número de errores que se encontraron.

Unidad: ninguna

Estadísticas significativas: mínimo, máximo, promedio

tomcat.processing_time

[PREDETERMINADO], proto_handler

Tiempo total de procesamiento.

Unidad: milisegundos

Estadísticas significativas: mínimo, máximo, promedio

tomcat.traffic

[PREDETERMINADO], proto_handler

Número de bytes recibidos y enviados.

Unidad: bytes

Estadísticas significativas: mínimo, máximo, promedio

tomcat.threads

[PREDETERMINADO], proto_handler

Número de subprocesos.

Unidad: ninguna

Estadísticas significativas: mínimo, máximo, promedio

tomcat.max_time

[PREDETERMINADO], proto_handler, direction

Tiempo máximo para procesar una solicitud.

Unidad: milisegundos

Estadísticas significativas: máximo

tomcat.request_count

[PREDETERMINADO], proto_handler

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 append_dimensions en la sección metrics. Consulte omit_hostname en la sección del agente de Cree o edite de forma manual el archivo de configuración del agente de CloudWatch para obtener más información.

De forma predeterminada en Amazon EKS, el contexto relacionado con k8s también se publica como dimensiones de métricas (k8s.container.name, k8s.deployment.name, k8s.namespace.name,k8s.node.name, k8s.pod.name y k8s.replicaset.name). Estas se pueden filtrar mediante el campo aggregation_dimensions.

proto_handler

proto_handler es un identificador de un conector, que se proporciona en el formato <protocol>-<type>-<port> (por ejemplo, http-nio-8080).

direction

La dirección del tráfico. Los posibles valores son received y sent.