JMX sta per Java Management Extensions, che si traduce in Java Management Extensions, utilizzate per gestire e monitorare i programmi Java. La più comunemente utilizzata è il monitoraggio e la gestione della JVM, come la memoria JVM, l'uso della CPU, il conteggio dei thread, la garbage collection, ecc. Inoltre, può essere utilizzato anche come modifica dinamica del livello log, ad esempio log4j supporta JMX per modificare dinamicamente il livello log dei servizi online. I più importanti sono utilizzati anche per vari strumenti di monitoraggio, come Spring Boot Actuator, JConsole, VisualVM, ecc. menzionati all'inizio dell'articolo.
JMX non è solo uno standard, una specifica, ma anche un'interfaccia e un framework per il sistema di gestione Java. Esistono standard e specifiche per permettere agli sviluppatori di personalizzare e sviluppare le proprie estensioni, e come framework, il JDK ci ha aiutato a implementare funzioni comuni, in particolare il monitoraggio e la gestione della JVM.
Connettiti usando jconsole
jconsole è uno strumento integrato per JDK e, dopo aver configurato l'ambiente JDK, dobbiamo solo inserirlo nella riga di comando di cmdjconsolePotere. Come mostrato di seguito:
Connettiti usando RMI
L'RMI viene generalmente utilizzato per connettersi a servizi remoti, ma ovviamente possono essere utilizzati anche processi locali. Questo è anche il primo passo per collegare i client di servizio remoti. Quando abbiamo registrato MBean, hai notato che dopo il completamento della registrazione, c'è un grande pezzo di codice che viene usato per aprire la connessione RMI, aprire la porta 8999 come porta di accesso RMI, e poi il client può connettersi con una stringa di connessione fissa.
Il formato della stringa di connessioneservice:jmx:rmi:///jndi/rmi://host:port/jmxrmi
Prendiamo Kafka come esempio, come segue:
service:jmx:rmi:///jndi/rmi://192.168.1.182:9988/jmxrmi
|