I am using PerfMon listener to get graphs for memory, cpu etc. For this I have obeyed the following steps:
At server:
The agent i have run on the server and cmd says
INFO 2016-03-30 15:12:04.206 [kg.apc.p] (): Binding UDP to 4444
INFO 2016-03-30 15:12:04.269 [kg.apc.p] (): Binding TCP to 4444
INFO 2016-03-30 15:12:04.269 [kg.apc.p] (): JP#GC Agent v2.2.0 started..
I have set java path till bin in the environment variable.
I also tried saving startAgent.bat with complete path of the java.exe file
At client/jmeter plan:
I have unpacked the JmeterPlugins standard jar and now I do see the listener jp#gc perfmon collection metric
In jmeter.properties I have also updated the server ip with port in remote host section
Under jp#gc - PerfMon Metrics Collector, I have added row with host ip its port 4444
Action:
Now if I run a small test and expected graph for CPU/memory etc, I just see
"ERROR: java.net.ConnectException: Connection timed out: connect"
I doubted firewall could be the issue so I set it off but that also did not help.
Any help will be much appreciated!
Your setup at client and server side is correct.
But you have not mentioned opening of port # 4444. So it is most probably the cause of issue.
In order to make it work, Your port#4444 should be visible to JMeter client machine.
To verify if it is visible or not. you can use..
http://www.canyouseeme.org/
http://portchecker.co/
If it is not visible from Client machine, then you will need to open it. Visit these links to learn how to open port.
http://www.wikihow.com/Open-Ports
or you may use following from command line
netsh advfirewall firewall add rule name="Open Port" dir=in action=allow protocol=TCP localport=4444
netsh advfirewall firewall add rule name="Open Port" dir=out action=allow protocol=TCP localport=4444
Try checking if you can connect to port 4444 on the machine where Server Agent is running using telnet command like:
telnet YOUR_HOST 4444
and sending test command like
You should receive Yep response. If it is not the case - server side performance monitoring won't work and you will need to establish connectivity between Metrics Collector and Server agent (usually it is enough to open TCP and/or UDP ports 4444 in firewall)
See How to Monitor Your Server Health & Performance During a JMeter Load Test article for more information
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
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've configured my server to run with the following flags:
Server--> Server Types --> WebSphere application servers --> Additional Properties --> Debugging Service:
JVM Debug Arguments= -Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8888
JVM Port= 8888
I configured eclipse debug configuration with the server ip (verified that ip is reachable with the ping command) and port
To be sure i increased the debugger timeout as well .
I've got: Failed to connect to remote VM. Connection refused.
Connection refused: connect
so i did a port scan on the server with (nmap xxx.xxx.xxx.xxx -p 8888) and the port seems:
PORT STATE SERVICE
8888/tcp closed sun-answerbook
moreover looking at the section Server--> Server Types --> WebSphere application servers --> Communications-->Ports of WebSphere admin consolle
i don't see the port 8888 in the list.
what do i need to do?
open the port on the machine? (how?)
add the port in the list of the above mentioned section?
other?
###### EDITED ########
ADDITIONAL CHECKS
netstat -na | grep 8888 --->no listening port/doesn't show me nothing
----------------------------------------------------------------------------
[root#dmgr ~]# iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
----------------------------------------------------------------------------
C:\Users\alex>nmap 192.168.115.235 -p 8888
Starting Nmap 7.60 ( https://nmap.org ) at 2018-02-23 10:58 ora solare Europa occidentale
Nmap scan report for xxxx.xxxxxxxxxxxx.com (192.168.115.235)
Host is up (0.0018s latency).
PORT STATE SERVICE
7777/tcp closed cbt
Nmap done: 1 IP address (1 host up) scanned in 4.59 seconds
so, no listening port on 8888, no iptables rules that deny the connection, how to investigate further?
You are almost there :-)
On the Debugging Service page where you set the port and arguments, there is a checkbox - Enable service at server startup - ensure that it is checked.
If not, check, and restart the server.
After that you should see the debugging port open. You can check it for example via netstat -an.
If the port is open and you still cannot connect then it is probably the firewall issue.
Here some more details about setting the debug - Starting the application server in debug mode
I am trying to connect to mongodb from my system to different system but i am getting following error-
MongoDB shell version v3.4.5
connecting to: mongodb://192.168.0.152:27017/
2017-06-23T18:06:50.643+0530 W NETWORK [thread1] Failed to connect to 192.168.0.108:27017 after 5000ms milliseconds, giving up.
2017-06-23T18:06:50.644+0530 E QUERY [thread1]
Error: couldn't connect to server 192.168.0.152:27017, connection attempt failed :
connect#src/mongo/shell/mongo.js:237:13
#(connect):1:6
exception: connect failed
I tried various solutions listed on stackoverflow but didn't find any solution yet.
Can somebody please help me out?
getaddrinfo() resolves domain names through the DNS protocol (which is not related the Netbios Naming System - reason why writing a Windows PC Name is usually a bad idea). Depending of the underlying implementation of the function it might or might not be able to resolve Netbios Names.
Usually using a Netbios computer name is a bad idea, you should rely on a proper DNS architecture.
If you have the exact same error with a mongodb:// URL using solely an IP address, it's weird... Please provide more details on the IP address try case.
Also ensure that the server is not firewalled. Try a netcat connection using netcat for windows:
nc IP 27017 -vv
should say 'Connected'
Netcat for Windows: https://eternallybored.org/misc/netcat/
To be able to connect to mongodb server hosted in another machine, you should be sure that your mongodb server allows connections from addresses other than 127.0.0.1
In the mongod.conf there should be some network interfaces configuration:
# network interfaces
net:
port: 27017
bindIp: 127.0.0.1
To allow any machine to connect to your server the bindIp should be set to: 0.0.0.0
I'm attempting to debug the startup of a service using the IFEO method (which I've successfully done on server versions prior to Windows 2012 on scenarios other than startup). The Debugger reg value is c:\debuggers-x64\cdb.exe -server tcp:port=1234. I then start the service and verify that cdb.exe is listening using netstat -na | findstr 1234 (I verified nothing was listening on this port prior to starting the service). Then I attempt to connect to the debugging server like this windbg.exe -remote tcp:server=localhost,port=1234 but it hangs for maybe 15-30 seconds and then fails. I try again and while it's hanging I run netstat -na | findstr 1234 again and it shows cdb.exe listening on port 1234 and it also shows a SYN_SENT to 127.0.0.1 on port 1234 (presumably sent by windbg.exe). It remains in the SYN_SENT state until windbg.exe reports a failure to connect.
So TCP connection establishment never completes. I checked the firewall and it's turned off. I also tried using the IP address of the network adapter (as opposed to localhost) but I get the same behavior. I also tried having cdb.exe listen on a port > 5000 but that also has the same behavior.
Does anyone know if there's new security introduced in Server 2012 for accessing TCP ports?
thanks