2013-09-30 11 views
12

に接続できないと私は、Apache ActiveMQの内Apache ActiveMQ Browser version 2.5.2.8のApache ActiveMQのブラウザは、私が<code>Apache ActiveMQ version 5.8.0</code>を使用していますJMXコンソール

をダウンロード

#ACTIVEMQ_SUNJMX_START="-Dcom.sun.management.jmxremote.port=11099 " 
ACTIVEMQ_SUNJMX_START="$ACTIVEMQ_SUNJMX_START -Dcom.sun.management.jmxremote.password.file=${ACTIVEMQ_CONF}/jmx.password" 
ACTIVEMQ_SUNJMX_START="$ACTIVEMQ_SUNJMX_START -Dcom.sun.management.jmxremote.access.file=${ACTIVEMQ_CONF}/jmx.access" 
ACTIVEMQ_SUNJMX_START="$ACTIVEMQ_SUNJMX_START -Dcom.sun.management.jmxremote.ssl=false" 
ACTIVEMQ_SUNJMX_START="$ACTIVEMQ_SUNJMX_START -Dcom.sun.management.jmxremote" 

Apache ActiveMQを再起動すると、ログにJMXが起動され、accessiblが表示されますE:

JMX consoles can connect to service:jmx:rmi:///jndi/rmi://localhost:1099/jmxrmi | org.apache.activemq.broker.jmx.ManagementContext | JMX connector 

ポートはリスニングポートに結果を聞いている場合もチェック:

[[email protected] ~]$ netstat -lptun | grep 1099 
(Not all processes could be identified, non-owned process info 
will not be shown, you would have to be root to see it all.) 
tcp  0  0 :::1099      :::*      LISTEN  16775/java 

のApache ActiveMQのは、サーバー上で実行されています。たとえば、IP 10.0.0.100などです。 Apache ActiveMQブラウザは自分のPC(10.0.0.200)で動作します。

Apache ActiveMQ Browserに接続しようとすると、接続は失敗し続けます。私は、次の設定を使用しています:

JMX URL: service:jmx:rmi:///jndi/rmi://10.0.0.100:1099/jmxrmi 
JMX role: admin 
JMS password: activemq 

私はjmx.passwordjmx.accessのデフォルトとして、この時点でのユーザーとパスワードを残しました。

ローカルポート1099にポート1099用のトンネルを作成し、ファイアウォールが問題ではないことを確認する代わりに10.0.0.100localhostのに接続するためのパテとの接続時に、私も試してみました。しかし、すべてが失敗します。

何か忘れていますか?

答えて

15

残念ながら、JMXは正常に動作するには2つのポートが必要です。 2つ目(RMIレジストリポート)は、デフォルトでは、ファイアウォールの問題を引き起こしてランダムに選択されるなど

JDK7u4ので、あなたは、使用するRMIポートを設定する

-Dcom.sun.management.jmxremote.rmi.port=<port> 

を使用することができます。

+0

私が使用した第二のポートがあったことを知りませんでした。ありがとう! –

5

JDKバージョンによって制限されているため、-Dcom.sun.management.jmxremote.rmi.portを使用できない場合は、managementContext自体にRMIレジストリポートを指定することもできます。

<broker xmlns="http://activemq.apache.org/schema/core" useJmx="true" brokerName="localhost" dataDirectory="${activemq.data}"> 
    ... 
    <managementContext> 
     <managementContext connectorPort="1099" rmiServerPort="<port>" /> 
    </managementContext> 
    ... 
</broker> 
8

苦しい時。ファイアウォールの後ろに接続する魔法。

<managementContext> 
    <managementContext createConnector="true" rmiServerPort="1098" connectorPort="1099" /> 
</managementContext> 

サンプル接続文字列:

service:jmx:rmi://10.0.4.14:1098/jndi/rmi://10.0.4.14:1099/jmxrmi 
関連する問題