本帖最后由 清茶一杯 于 2016-9-1 11:42 编辑
[root@zabbix-16 ~]# java -jar /root/cmdline-jmxclient-0.10.3.jar - 192.168.16.251:18090 java.lang:type=Memory NonHeapMemoryUsage
Exception in thread "main" java.io.IOException: Failed to retrieve RMIServer stub: javax.naming.ServiceUnavailableException [Root exception is java.rmi.ConnectException: Connection refused to host: 192.168.16.251; nested exception is:
java.net.ConnectException: Connection refused]
at javax.management.remote.rmi.RMIConnector.connect(RMIConnector.java:369)
at javax.management.remote.JMXConnectorFactory.connect(JMXConnectorFactory.java:270)
at org.archive.jmx.Client.execute(Client.java:225)
at org.archive.jmx.Client.main(Client.java:154)
Caused by: javax.naming.ServiceUnavailableException [Root exception is java.rmi.ConnectException: Connection refused to host: 192.168.16.251; nested exception is:
java.net.ConnectException: Connection refused]
at com.sun.jndi.rmi.registry.RegistryContext.lookup(RegistryContext.java:122)
at com.sun.jndi.toolkit.url.GenericURLContext.lookup(GenericURLContext.java:205)
at javax.naming.InitialContext.lookup(InitialContext.java:417)
at javax.management.remote.rmi.RMIConnector.findRMIServerJNDI(RMIConnector.java:1955)
at javax.management.remote.rmi.RMIConnector.findRMIServer(RMIConnector.java:1922)
at javax.management.remote.rmi.RMIConnector.connect(RMIConnector.java:287)
... 3 more
Caused by: java.rmi.ConnectException: Connection refused to host: 192.168.16.251; nested exception is:
java.net.ConnectException: Connection refused
at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:619)
at sun.rmi.transport.tcp.TCPChannel.createConnection(TCPChannel.java:216)
at sun.rmi.transport.tcp.TCPChannel.newConnection(TCPChannel.java:202)
at sun.rmi.server.UnicastRef.newCall(UnicastRef.java:342)
at sun.rmi.registry.RegistryImpl_Stub.lookup(Unknown Source)
at com.sun.jndi.rmi.registry.RegistryContext.lookup(RegistryContext.java:118)
... 8 more
Caused by: java.net.ConnectException: Connection refused
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:589)
at java.net.Socket.connect(Socket.java:538)
at java.net.Socket.(Socket.java:434)
at java.net.Socket.(Socket.java:211)
at sun.rmi.transport.proxy.RMIDirectSocketFactory.createSocket(RMIDirectSocketFactory.java:40)
at sun.rmi.transport.proxy.RMIMasterSocketFactory.createSocket(RMIMasterSocketFactory.java:148)
at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:613)
... 13 more
server端配置:
tomcat端配置:(公司环境是yum安装的tomcat,不好更改)
[root@zabbix-16 ~]# java -jar /root/cmdline-jmxclient-0.10.3.jar - 192.168.16.251:18090 java.lang:type=Memory NonHeapMemoryUsage
Exception in thread "main" java.io.IOException: Failed to retrieve RMIServer stub: javax.naming.ServiceUnavailableException [Root exception is java.rmi.ConnectException: Connection refused to host: 192.168.16.251; nested exception is:
java.net.ConnectException: Connection refused]
at javax.management.remote.rmi.RMIConnector.connect(RMIConnector.java:369)
at javax.management.remote.JMXConnectorFactory.connect(JMXConnectorFactory.java:270)
at org.archive.jmx.Client.execute(Client.java:225)
at org.archive.jmx.Client.main(Client.java:154)
Caused by: javax.naming.ServiceUnavailableException [Root exception is java.rmi.ConnectException: Connection refused to host: 192.168.16.251; nested exception is:
java.net.ConnectException: Connection refused]
at com.sun.jndi.rmi.registry.RegistryContext.lookup(RegistryContext.java:122)
at com.sun.jndi.toolkit.url.GenericURLContext.lookup(GenericURLContext.java:205)
at javax.naming.InitialContext.lookup(InitialContext.java:417)
at javax.management.remote.rmi.RMIConnector.findRMIServerJNDI(RMIConnector.java:1955)
at javax.management.remote.rmi.RMIConnector.findRMIServer(RMIConnector.java:1922)
at javax.management.remote.rmi.RMIConnector.connect(RMIConnector.java:287)
... 3 more
Caused by: java.rmi.ConnectException: Connection refused to host: 192.168.16.251; nested exception is:
java.net.ConnectException: Connection refused
at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:619)
at sun.rmi.transport.tcp.TCPChannel.createConnection(TCPChannel.java:216)
at sun.rmi.transport.tcp.TCPChannel.newConnection(TCPChannel.java:202)
at sun.rmi.server.UnicastRef.newCall(UnicastRef.java:342)
at sun.rmi.registry.RegistryImpl_Stub.lookup(Unknown Source)
at com.sun.jndi.rmi.registry.RegistryContext.lookup(RegistryContext.java:118)
... 8 more
Caused by: java.net.ConnectException: Connection refused
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:589)
at java.net.Socket.connect(Socket.java:538)
at java.net.Socket.(Socket.java:434)
at java.net.Socket.(Socket.java:211)
at sun.rmi.transport.proxy.RMIDirectSocketFactory.createSocket(RMIDirectSocketFactory.java:40)
at sun.rmi.transport.proxy.RMIMasterSocketFactory.createSocket(RMIMasterSocketFactory.java:148)
at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:613)
... 13 more
server端配置:
1.修改zabbix_java相关选项
[root@zabbix-16 zabbix]# cd /usr/local/sbin/zabbix_java
[root@zabbix-16 zabbix_java]# vim settings.sh
[root@zabbix-16 zabbix_java]# sed -e '/^#/d;/^$/d' settings.sh #该文件默认全部注释,启用下面几项即可
LISTEN_IP="0.0.0.0"
LISTEN_PORT=10052
PID_FILE="/tmp/zabbix_java.pid"
START_POLLERS=5
2.修改zabbix_server文件
[root@zabbix-16 zabbix_java]# sed -e '/^#/d;/^$/d' /usr/local/etc/zabbix_server.conf
LogFile=/tmp/zabbix_server.log
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
[root@zabbix-16 zabbix_java]# vim /usr/local/etc/zabbix_server.conf
[root@zabbix-16 zabbix_java]# sed -e '/^#/d;/^$/d' /usr/local/etc/zabbix_server.conf
LogFile=/tmp/zabbix_server.log
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
JavaGateway=127.0.0.1
JavaGatewayPort=10052
StartJavaPollers=5
3.执行startup.sh
[root@zabbix-16 ~]# netstat -tnlup | grep 10052
tcp 0 0 :::10052 :::* LISTEN 29326/java
tomcat端配置:(公司环境是yum安装的tomcat,不好更改)
4.tomcat端,安装catalina-jmx-remote.jar
[root@zabbix-test-16 ~]# wget http://archive.apache.org/dist/tomcat/tomcat-7/v7.0.8/bin/extras/catalina-jmx-remote.jar
[root@zabbix-test-16 ~]# mv catalina-jmx-remote.jar /usr/share/java/tomcat6
5.修改catalina.sh文件 (默认没找到这个文件,手工创建的)
[root@zabbix-test-16 tomcat6]# vim /usr/share/tomcat6/bin/catalina.sh
[root@zabbix-test-16 tomcat6]# cat /usr/share/tomcat6/bin/catalina.sh
CATALINA_OPTS="-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.server.hostname=客户端IP"
6.修改server.xml
[root@zabbix-test-16 tomcat6]# vim /etc/tomcat6/server.xml
7.重启服务
[root@zabbix-test-16 tomcat6]# /etc/init.d/tomcat6 restart
[root@zabbix-test-16 tomcat6]# /etc/init.d/zabbix-agent restart
8.服务端测试(jar包在网上下载)
[root@zabbix-16 ~]# java -jar /root/cmdline-jmxclient-0.10.3.jar - 192.168.16.251:18090 java.lang:type=Memory NonHeapMemoryUsage
0
在server.xml中添加JMX端口,发现导致8080服务起不来
[cn.sjcloud.pingan.portal.catalog.service.impl.DataSyncService]添加一个监听者 cn.sjcloud.pingan.portal.catalog.service.impl.CmdbSyncObserver@40c65ddc
[cn.sjcloud.pingan.admin.system.handle.EventManager]注册监听开始
[cn.sjcloud.pingan.admin.system.handle.EventManager]cn.sjcloud.pingan.admin.system.event.CloudVMEvent第一次注册监听
[cn.sjcloud.pingan.admin.system.handle.EventManager]注册监听结束
[cn.sjcloud.pingan.admin.system.handle.EventManager]注册监听开始
[cn.sjcloud.pingan.admin.system.handle.EventManager]cn.sjcloud.pingan.admin.system.event.CloudDiskEvent第一次注册监听
[cn.sjcloud.pingan.admin.system.handle.EventManager]注册监听结束
[cn.sjcloud.pingan.admin.system.handle.EventManager]注册监听开始
[cn.sjcloud.pingan.admin.system.handle.EventManager]cn.sjcloud.pingan.admin.system.event.CloudRestoreEvent第一次注册监听
[cn.sjcloud.pingan.admin.system.handle.EventManager]注册监听结束
[cn.sjcloud.pingan.admin.system.handle.EventManager]注册监听开始
[cn.sjcloud.pingan.admin.system.handle.EventManager]cn.sjcloud.pingan.admin.system.event.CloudRestoreEmailEvent第一次注册监听
[cn.sjcloud.pingan.admin.system.handle.EventManager]注册监听结束
[cn.sjcloud.pingan.admin.system.handle.EventManager]注册监听开始
[cn.sjcloud.pingan.admin.system.handle.EventManager]cn.sjcloud.pingan.admin.system.event.CloudBackupEvent第一次注册监听
[cn.sjcloud.pingan.admin.system.handle.EventManager]注册监听结束
[cn.sjcloud.pingan.portal.catalog.service.impl.DataSyncService]添加一个监听者 cn.sjcloud.pingan.portal.catalog.service.impl.CmdbSyncObserver@40c65ddc
[cn.sjcloud.pingan.admin.system.handle.EventManager]注册监听开始
[cn.sjcloud.pingan.admin.system.handle.EventManager]cn.sjcloud.pingan.admin.system.event.CloudVMEvent第一次注册监听
[cn.sjcloud.pingan.admin.system.handle.EventManager]注册监听结束
[cn.sjcloud.pingan.admin.system.handle.EventManager]注册监听开始
[cn.sjcloud.pingan.admin.system.handle.EventManager]cn.sjcloud.pingan.admin.system.event.CloudDiskEvent第一次注册监听
[cn.sjcloud.pingan.admin.system.handle.EventManager]注册监听结束
[cn.sjcloud.pingan.admin.system.handle.EventManager]注册监听开始
[cn.sjcloud.pingan.admin.system.handle.EventManager]cn.sjcloud.pingan.admin.system.event.CloudRestoreEvent第一次注册监听
[cn.sjcloud.pingan.admin.system.handle.EventManager]注册监听结束
[cn.sjcloud.pingan.admin.system.handle.EventManager]注册监听开始
[cn.sjcloud.pingan.admin.system.handle.EventManager]cn.sjcloud.pingan.admin.system.event.CloudRestoreEmailEvent第一次注册监听
[cn.sjcloud.pingan.admin.system.handle.EventManager]注册监听结束
[cn.sjcloud.pingan.admin.system.handle.EventManager]注册监听开始
[cn.sjcloud.pingan.admin.system.handle.EventManager]cn.sjcloud.pingan.admin.system.event.CloudBackupEvent第一次注册监听
[cn.sjcloud.pingan.admin.system.handle.EventManager]注册监听结束
0
我很疑惑,这篇博文没在catalina.sh或者server.xml中定义端口,tomcat怎么知道 哪个作为监控JMX的端口了。而且后面 测试用了9999端口,
hlymlv 发表于 2016-8-31 23:53
http://lovelace.blog.51cto.com/1028430/1424964/看这个,加一个监听端口的,不需要在server.xml里配置
我很疑惑,这篇博文没在catalina.sh或者server.xml中定义端口,tomcat怎么知道 哪个作为监控JMX的端口了。而且后面 测试用了9999端口,
0
问题解决:还是catalina.sh 问题
此为正确的写法
CATALINA_OPTS="$CATALINA_OPTS
-Dcom.sun.management.jmxremote
-Djava.rmi.server.hostname=192.168.16.253
-Dcom.sun.management.jmxremote.port=12345
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false"
[root@zabbix-16 bin]# netstat -tnlup
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 5878/zabbix_agentd
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 1783/mysqld
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1411/sshd
tcp 0 0 :::10050 :::* LISTEN 5878/zabbix_agentd
tcp 0 0 :::41671 :::* LISTEN 11156/java
tcp 0 0 :::8009 :::* LISTEN 11156/java
tcp 0 0 :::8080 :::* LISTEN 11156/java
tcp 0 0 ::ffff:127.0.0.1:8082 :::* LISTEN 4286/java
tcp 0 0 ::ffff:127.0.0.1:8083 :::* LISTEN 4285/java
tcp 0 0 ::ffff:127.0.0.1:8084 :::* LISTEN 4284/java
tcp 0 0 :::49430 :::* LISTEN 11156/java
tcp 0 0 :::22 :::* LISTEN 1411/sshd
tcp 0 0 :::12345 :::* LISTEN 11156/java
[root@zabbix-16 bin]# java -jar /root/cmdline-jmxclient-0.10.3.jar - 192.168.16.253:12345 java.lang:type=Memory NonHeapMemoryUsage
09/01/2016 09:37:12 +0800 org.archive.jmx.Client NonHeapMemoryUsage:
committed: 40632320
init: 2555904
max: -1
used: 38613456
hlymlv 发表于 2016-8-31 23:53
这个 不错,可以看下
问题解决:还是catalina.sh 问题
此为正确的写法
CATALINA_OPTS="$CATALINA_OPTS
-Dcom.sun.management.jmxremote
-Djava.rmi.server.hostname=192.168.16.253
-Dcom.sun.management.jmxremote.port=12345
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false"
[root@zabbix-16 bin]# netstat -tnlup
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 5878/zabbix_agentd
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 1783/mysqld
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1411/sshd
tcp 0 0 :::10050 :::* LISTEN 5878/zabbix_agentd
tcp 0 0 :::41671 :::* LISTEN 11156/java
tcp 0 0 :::8009 :::* LISTEN 11156/java
tcp 0 0 :::8080 :::* LISTEN 11156/java
tcp 0 0 ::ffff:127.0.0.1:8082 :::* LISTEN 4286/java
tcp 0 0 ::ffff:127.0.0.1:8083 :::* LISTEN 4285/java
tcp 0 0 ::ffff:127.0.0.1:8084 :::* LISTEN 4284/java
tcp 0 0 :::49430 :::* LISTEN 11156/java
tcp 0 0 :::22 :::* LISTEN 1411/sshd
tcp 0 0 :::12345 :::* LISTEN 11156/java
[root@zabbix-16 bin]# java -jar /root/cmdline-jmxclient-0.10.3.jar - 192.168.16.253:12345 java.lang:type=Memory NonHeapMemoryUsage
09/01/2016 09:37:12 +0800 org.archive.jmx.Client NonHeapMemoryUsage:
committed: 40632320
init: 2555904
max: -1
used: 38613456
编辑回复