JMX significa Java Management Extensions, que se traduce como Java Management Extensions, que se utilizan para gestionar y monitorizar programas Java. El más utilizado es la monitorización y gestión de la JVM, como la memoria JVM, el uso de la CPU, el recuento de hilos, la recogida de basura, etc. Además, también puede usarse como una modificación dinámica del nivel de log; por ejemplo, log4j soporta JMX para modificar dinámicamente el nivel de log de los servicios en línea. Los más importantes también se utilizan para diversas herramientas de monitorización, como Spring Boot Actuator, JConsole, VisualVM, etc., mencionadas al principio del artículo.
JMX no es solo un estándar, una especificación, sino también una interfaz y un marco para el sistema de gestión Java. Existen estándares y especificaciones para que los desarrolladores personalicen y desarrollen sus propias extensiones, y como marco, el JDK nos ha ayudado a implementar funciones comunes, especialmente la monitorización y gestión de la JVM.
Conéctate usando jconsole
jconsole es una herramienta integrada para JDK, y tras configurar el entorno JDK, solo necesitamos introducirla en la línea de comandos de cmdjconsoleEnlatar. Como se muestra a continuación:
Conecta usando RMI
RMI generalmente se utiliza para conectarse a servicios remotos, pero por supuesto también se pueden usar procesos locales. Este es también el primer paso para conectar clientes de servicio remotos. Cuando registramos MBean, ¿notaste que tras completar el registro, hay un gran fragmento de código que se usa para abrir la conexión RMI, abrir el puerto 8999 como puerto de acceso RMI, y entonces el cliente puede conectarse con una cadena de conexión fija.
El formato de la cadena de conexiónservice:jmx:rmi:///jndi/rmi://host:port/jmxrmi
Tomemos a Kafka como ejemplo, del siguiente modo:
service:jmx:rmi:///jndi/rmi://192.168.1.182:9988/jmxrmi
|