Sono in grado di connettersi a JMC alla JVM mentre si trova sullo stesso sistema. Tuttavia, voglio monitorare un server remoto. Come collego il mio JMC locale alla mia JVM remota?Come connettere JMC (Java Mission Control) a JVM remoto in ubuntu?
risposta
Nel server {Ubuntu} Modificare il file /etc/hosts
127.0.1.1 server-name
Sostituire sopra linea con questa linea
<system-ip> server-name
È tutto descritto nella documentazione:
1. Fare clic su Guida-> Guida di Java Mission Control.
2. Controllare la guida del browser JVM.
Per informazioni più dettagliate, check out:
http://docs.oracle.com/javase/7/docs/technotes/guides/management/agent.html
In primo luogo è necessario attivare l'agente JMX esterna sul server. A tale scopo, aggiungi il relativo com.sun.management.jmxremote ai flag della riga di comando per la JVM del server a cui desideri connetterti. Ecco un semplice esempio di un insieme di proprietà di sistema che possono essere utilizzate. Essi disabilitare la sicurezza e l'autenticazione, in modo da non usare in questo modo nella produzione:
-Dcom.sun.management.jmxremote.port=7091
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false
successivo si crea una connessione personalizzata in JMC. A tale scopo, fai clic sul pulsante "Crea connessione personalizzata" nel browser JVM:
Nella finestra di dialogo in arrivo è sufficiente inserire l'host e la porta.
Il mio ambiente è JBoss 7.1 in Linux, è stato il tentativo di connessione JMC al mio JBoss istanza, inizialmente ho avuto problemi con la connessione rifiutata - dopo un giorno e mezzo di scavo, JMC remoto funziona per me ora, con le seguenti configurazioni in standalone.conf:
JBOSS_MODULES_SYSTEM_PKGS="org.jboss.byteman,org.jboss.logmanager"
JAVA_OPTS="$JAVA_OPTS -Djboss.modules.system.pkgs=$JBOSS_MODULES_SYSTEM_PKGS"
JAVA_OPTS="$JAVA_OPTS -Djava.util.logging.manager=org.jboss.logmanager.LogManager"
JAVA_OPTS="$JAVA_OPTS -Xbootclasspath/p:/apps/jboss-as-7.1.1.Final/modules/org/jboss/logmanager/main/jboss-logmanager-1.2.2.GA.jar"
JAVA_OPTS="$JAVA_OPTS -Xbootclasspath/p:/apps/jboss-as-7.1.1.Final/modules/org/jboss/logmanager/log4j/main/jboss-logmanager-log4j-1.0.0.GA.jar"
JAVA_OPTS="$JAVA_OPTS -Xbootclasspath/p:/apps/jboss-as-7.1.1.Final/modules/org/apache/log4j/main/log4j-1.2.16.jar"
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote=true"
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.port=7091"
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.rmi.port=7091"
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.authenticate=false"
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.ssl=false"
JAVA_OPTS="$JAVA_OPTS -XX:+UnlockCommercialFeatures"
JAVA_OPTS="$JAVA_OPTS -XX:+FlightRecorder"
L'altra risposta fornita da hirt è molto più utile – anon