弁財天

ゴフマン「専門家を信じるのではなく、自分自身で考えて判断せよ」

NAT変換とDSEE7のjmx接続

NAT変換というよりプロキシ

ソース "cacao" からのイベント ID 0 の説明が見つかりません。
このイベントを発生させるコンポーネントがローカル コンピュータにインストールされていないか、
インストールが壊れています。ローカルコンピュータにコンポーネントをインストールするか、コンポーネントを修復してください。

イベントが別のコンピュータから発生している場合、イベントと共に表示情報を保存する
必要があります。

イベントには次の情報が含まれています:

"jmxmp://xxx.xxx.xxx.xxx:16850 com.sun.directory.dscc7 FALSE ignored Administrator 10753443".SPAWN : C:/PROGRA~1/dsee7/ext/cacao_2\/lib/tools//suexec 
C:/Program Files/dsee7/bin/dsadm.exe show-cert --no-inter -F ascii D:\dsee7

---

問題を起こしているアドレス(xxx.xxx.xxx.xxx)は負荷分散装置アドレス

コンシューマのサーバ群はNAT変換された独自セグメントの中に配置
DSEE7のマスタが稼働しているサーバはそのセグメントの外に配置

マスターとコンシューマの接続構成を行ったときに、このネット独自のNAT変換方式によって
独自セグメントの外からのアクセスはすべて負荷分散装置のアドレスになる
要するにプロキシからのアクセスになる

DSEE7の自動構成の結果、コンシューマが負荷分散装置のアドレスをマスターのアドレスと取り違えた設定になり
間違ったネットワーク設定のためレプリケーションの制御ができなくなった

Can not view webconsole/DSCC from browser and Error: Could not contact the DSCC agent on [host]. Use the command cacaoadm to check that the DSCC agent is installed and running on port 11162. [ID 1301705.1]

HinemosのRMIは-Djava.rmi.server.hostnameパラメータで回避できたが
このJMXMPはクセ者だ
JMX through a ssh tunnel

cacaoadm list-paramsで今の設定値を調べる
bash-3.00# ./dsrk6/dsee6/cacao_2/usr/lib/cacao/bin/cacaoadm list-params
snmp-adaptor-port=11161
snmp-adaptor-trap-port=11162
jmxmp-connector-port=11162
commandstream-adaptor-port=11163
rmi-registry-port=11164
secure-webserver-port=11165
java-flags=-Xms4M -Xmx128M -Dcom.sun.management.jmxremote -Dfile.encoding=utf-8
java-home=/export/airfs/dsrk6/jre
jdmk-home=/export/airfs/dsrk6/dsee6/private
nss-lib-home=/export/airfs/dsrk6/dsee6/private/lib
nss-tools-home=/export/airfs/dsrk6/dsee6/bin
retries=4
enable-instrumentation=false
network-bind-address=0.0.0.0

cacaoadm停止

bash-3.00# ./cacaoadm stop

cacaoadm set-paramで設定値変更

bash-3.00# ./cacaoadm set-param snmp-adaptor-port=21161
bash-3.00# ./cacaoadm set-param snmp-adaptor-trap-port=21162
bash-3.00# ./cacaoadm set-param jmxmp-connector-port=31162
bash-3.00# ./cacaoadm set-param commandstream-adaptor-port=21163
bash-3.00# ./cacaoadm set-param rmi-registry-port=21164
bash-3.00# ./cacaoadm set-param secure-webserver-port=21165

cacaoadm起動

bash-3.00# ./cacaoadm start
jmxmpベースの凝りすぎた実装によって、rmiのような柔軟な対応ができない

JConsole and JMXMP
cacaoadm set-paramで
javax.management.remote.JMXServiceURL="service:jmx:jmxmp://$JMXMP_HOST:$JMXMP_PORT"
のような設定ができるような機能が必要
Connecting to the JMX Agent Programmatically

Connecting to the JMX Agent Programmatically

Once you have enabled the JMX agent, a client can use the following URL to access the service:

service:jmx:rmi:///jndi/rmi://hostName:portNum/jmxrmi

where hostName is the host name and portNum is the port number specified when the JMX agent was enabled.

A client can create a connector to the agent by instantiating an javax.management.remote.JMXServiceURL object using the URL, and then creating a connection using the JMXConnectorFactory.connect method as follows:

JMXServiceURL u = new JMXServiceURL(
  "service:jmx:rmi:///jndi/rmi:// “ + hostName + ":" + portNum +  "/jmxrmi");
  JMXConnector c = JMXConnectorFactory.connect(u); 
Reference Guide
リファレンス実装(jmxremote_optional.jar)があるから開発してねってこと?

投稿されたコメント:

コメント
コメントは無効になっています。