I am trying to monitor a remote IBM WAS with VisualVM but I can't connect.
To enable JMX on the IBM Websphere open the WebSphere administrative console and:
navigate to: Server -> Server Types -> WebSphere application servers ->[SERVER_NAME]
Expand Java and Process Management and click Process definition
Click Java Virtual Machine
In the Generic JVM arguments field append the following properties:
-Djavax.management.builder.initial= -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.port=1099 -Djava.rmi.server.hostname=XX.228.75.XX
Restart the server
When the server starts, open VisualVM and add a new Remote Connection:
In the connection field, put the server host and the port previously configured, for instance 1099.
Related
Jmeter Distributed testing - unable to connect the remote (slave systems)
I am getting the below error
"non-JRMP server at remote endpoint"
It looks like an incorrect setup of RMI ports, JMeter master tries to connect to the slave machine using the hostname or IP address and port which is specified in the remote_hosts property or passed via -R command line argument.
The error means that something else, not JMeter's RMI registry is running on machine 192.168.0.103 on port 1099.
So you need to connect to your slave machine and check what's listening on port 1099 using netstat or equivalent and either terminate that application or amend JMeter configuration to use different port.
More information: How to Perform Distributed Testing in JMeter
I'm Trying to setup Master Slave setup of Jmeter in Cloud.
Things I have done the setup in CLOUD for Master and Slave
I have created rmi.keystore.jks file in Master and copied the same to Slave machine.
I have installed the same versions of Java and Jmeter in both the Machines
I have added IP address of Slave machine in jmeter.properties file of Master
Please help me why I'm facing connection timed out error when trying to execute jmeter script in Cloud machine. Receiving:
Connection refused to host: 10.XXX.XX.XXX; nested exception is: java.net.ConnectException: Connection timed out: connect
If this is really in CLOUD then:
My expectation is that you need to use external IP addresses as I can only see Class B network-type address which most probably cannot be connected from the outer world
You need to ensure that the following ports are open in the CLOUD (whatever you mean by this term) and in operating system firewalls/security groups:
1099 (or whatever port you define as the server_port)
the port you define as the server.rmi.localport
the port(s) you define as the client.rmi.localport
More information:
Remote hosts and RMI configuration
How to Perform Distributed Testing in JMeter
Why am I getting the following error in PerfMon jmeter plugin?
"ERROR: java.io.IOException: Agent is unreachable via TCP"
how to configure perfmon plugin in Jmeter 4.0 version
Make sure to install Server Agent to the server you want to monitor and launch it
Make sure that default port of 4444 is open for TCP and UDP traffic in your operating system firewall.
In order to test connectivity you can send test message to the Server Agent using Telnet client software (you can use Putty if you don't have any Telnet client installed). If everything is fine you should see Yep response. JMeter should be able to connect to the Server Agent and collect the metrics of your choice:
More information: How to Monitor Your Server Health & Performance During a JMeter Load Test
I am trying to connect teamcity server running in Ubuntu, from windows but its not working.
I changed firewall settings and opened up port 9090 and 8111.
I got these logs from windows agent
Call http://my.domain.com:8111/RPC2 buildServer.registerAgent3:
org.apache.xmlrpc.XmlRpcException:
jetbrains.buildServer.CannotPingAgentException: Unable to ping agent .
Check firewall and/or try to specify 'ownAddress' in the agent
configuration. Details: Agent '' cannot be accessed by any of the
addresses: [183.83.50.68, 192.168.1.146], (port 9090)
It means that TeamCity server can't access TeamCity agent by the specified addresses and port.
Ensure that your agent IP address is 183.83.50.68 and that incoming connections to the 9090 port are not blocked by not only firewall, but also by antivirus or similar software.
Or you can update to the TeamCity 9.1 or later - in these versions server doesn't have to be able to connect to the agent, only agent-to-server connection is necessary.
I set up JMX on one of services running on Amazon EC2 instance but it doesn't work properly. I'm using VisualVM to connect and after short period of pending it fails with timeout. Looks like it fails because of missing response data or lags. I checked that JMX port is enabled in security group and also tried with different port with no JMX enabled and also with port not enabled in security group settings and both fails immediately, so it looks different. My EC2 instance and desktop both have Ubuntu 12.04 and JDK 7 installed.
It turns out ports don't make sense since connection is SSL secured. I have a private key and have no idea how to use it with JConsole or VisualVM.
JMX needs an RMI registry operating on an open port. By default the RMI registry port is chosen randomly at the startup time and it doesn't play well with firewalls.
Since JDK7u4 you can use
-Dcom.sun.management.jmxremote.rmi.port=<port>
to set the RMI port to be used. Then you can enable that port in the security group.
Note the .rmi. part of the above setting because this usually gets confused with the com.sun.management.jmxremote.port setting. You should not!
This works for me. Set the JMX options on your server:
-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.port=<some port>
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false
-Djava.rmi.server.hostname=localhost
Open up an SSH tunnel:
ssh -i /path/to/key -D <some port> username#public_dns_address
Start VisualVM:
jvisualvm -J-Dnetbeans.system_socks_proxy=localhost:<some port> -J-Djava.net.useSystemProxies=true
Add a remote connection to the server. Add a JMX connection using the port you've specified for JMX.
To be clear, in all three cases above, should be the same port.