Server Monitoring Agent¶
The Server Monitoring Agent is a lightweight application that runs on your servers and provides detailed performance metrics during load tests. It won't modify your registry, install services outside its own directory, or require special permissions in most cases. It's designed for production systems, and it stays in its lane.
The biggest reason to use it (or CloudWatch Monitoring on AWS) is that the metrics flow directly into the load-test result alongside response times, errors, and throughput. That co-location is what lets the AI assistant do deep root-cause analysis: it can correlate a 14:23:15 response-time spike against a CPU saturation that happened on a specific server two seconds earlier, name the cause, and explain the chain. Without server data in the same dataset, AI analysis stops at "client-side symptoms" and you do the rest of the correlation by hand. See Why This Matters for AI Analysis for the longer version of this argument.
The agent works in two modes:
- Basic mode: CPU and memory only. Available at every license tier, including Free.
- Advanced mode: Hundreds of metrics including database connections, disk I/O, thread pools, garbage collection, and platform-specific counters. Available in the Pro tier. See the purchase configure page for current tier details.
This guide walks you through installing, running, and configuring the agent.
What You're Installing¶
The agent is a Java application that collects performance data while your load test runs. It listens on port 1099 (configurable) and auto-detects on your local network so the Load Tester can find it automatically.
Permissions: In most cases, the agent doesn't need special permissions: - Linux: No root required - Windows: No administrator required
The agent responds to any client that connects to its ports, so if you're in a locked-down environment, use firewall rules to restrict access or collect stats files manually.
Installing the Agent¶
Step 1: Download the Installer¶
- Go to www.webperformance.com/download/
- Click the green Server Monitor button for Windows 64-bit
- Or click Other platforms to see Linux, 32-bit, and other options
Step 2: Run the Installer¶
Windows:
Run the installer. A GUI will walk you through the installation. Default location is C:\Program Files\Web Performance\Server Monitor Agent\.
Linux:
The installer will prompt you for the installation directory. Default is ~/Web_Performance_Server_Monitor_Agent/.
Important: The agent is safe to install on production systems. It doesn't modify the registry (Windows) or system files. Everything installs in its own directory.
Silent Installation (for automation)¶
If you're deploying to multiple servers, use silent mode:
This installs with default settings. For custom settings, create a file named installer.properties in the same directory as the installer:
Then run the installer, and it'll use your custom settings.
Upgrading an Existing Agent¶
If you have an older agent already installed:
- Open the Servers View in Load Tester
- Select the server running the old agent
- Click Upgrade
The Load Tester will push the new version to the agent automatically.
Running the Agent¶
Windows¶
- Open the Start menu → Web Performance Server Monitor Agent → Server Monitor Agent
- A console window opens showing the agent status
You'll see output like:
Web Performance Server Monitoring Agent version 7.0.xxx now monitoring.
Agent listening on port 1099.
To stop the agent, type quit in the console.
Linux¶
- Navigate to your installation directory
- Run the start script:
The agent runs as a console application. You'll see:
Web Performance Server Monitoring Agent version 7.0.xxx now monitoring.
Using hostname override: 192.168.10.147
Agent listening on port 1099.
Critical: If you're SSH'd into the server, run the agent in screen or a similar utility. The agent is not a daemon. It will die the moment your SSH session times out.
To run in screen:
screen -S wpagent
cd ~/Web_Performance_Server_Monitor_Agent/
./Server_Monitor_Agent
# Press Ctrl+A, then D to detach
To reconnect later:
Auto-Detection and Configuration¶
When the agent starts, it broadcasts its presence on the local network via multicast. If your Load Tester controller is on the same network, the agent should appear automatically in the Servers View.
If it doesn't auto-detect (multicast blocked, different subnet, firewall), manually add it:
- Open the Servers View
- Click Add...
- Select Web Performance Server Monitor Agent
- Enter the IP address or hostname of the server
- Use port 1099 (default) unless you changed it
- Click OK
The Load Tester will verify the connection. If successful, you're done.
Choosing Basic vs. Advanced Mode¶
When you add an agent, it defaults to advanced mode (detailed metrics). If you don't have an Advanced Server Monitoring license, switch to basic mode:
- In the Servers View, right-click the agent
- Select Set to Basic Mode
Basic mode covers CPU and memory and is available at every license tier. Advanced mode covers hundreds of additional metrics and is available in the Pro tier.
See: Metrics & Counters for the full list of available metrics in advanced mode.
Running as a Background Process (Linux)¶
If you want the agent to run as a background process (survives SSH disconnects, starts on boot), use the provided script.
Start in Background¶
This launches the agent in a screen session named WPASA.
Auto-Start on Boot¶
Add this line to /etc/rc.local:
Replace [USER] with the appropriate username.
Or start remotely via SSH:
ssh [USER]@yourserver.com './Web_Performance_Server_Monitor_Agent/Start_Server_Monitor_In_Background'
Connect to a Running Agent¶
If the agent is running in the background, connect to its screen session:
To list all screen sessions:
Collecting Stats Files Manually (Firewall Workaround)¶
If you can't open firewall ports (1099 and 1100) or prefer not to, you can collect stats files manually and load them after the test.
Process:¶
- Start the agent on the server before your load test
-
On the agent console, type:
(Use the same sample period as your load test, typically 10 seconds) -
Run your load test (the agent collects data locally, no connection needed)
-
After the test, on the agent console:
-
Collect the stats file from:
- Linux:
~/.webperformance/AgentLogs/ - Windows:
%USERPROFILE%\.webperformance\AgentLogs\
You'll see a file like 2026_02_10_143022_edt_my-test.dat
- Load the stats file into Load Tester:
- Open your completed load test result
- Go to File → Import Server Logs
- Select the
.datfile
The server metrics will be integrated into your test results as if the agent had been connected in real time.
See: Monitoring Through Firewalls for detailed firewall configuration.
Viewing Collected Data¶
Once the agent is running and connected during a load test, metrics are automatically recorded. After the test:
In the Load Test Report: 1. Open your test result 2. Navigate to the Servers section 3. You'll see charts and tables showing: - CPU and memory over time - Correlation with client response times - A performance checklist highlighting bottlenecks
In the Metrics View: 1. Use the drop-down to select your server 2. Choose specific metrics (CPU, memory, database connections, etc.) 3. The table shows metric values sampled throughout the test
Agent Commands Reference¶
When the agent is running, you can type commands at its console:
Frequently Used¶
| Command | What It Does |
|---|---|
quit |
Stops the agent (type this before shutting down the server) |
commands |
Lists all available commands |
counters |
Refreshes the list of performance counters the agent is collecting |
Performance Logging (for firewall workaround)¶
Use these when you can't connect to the agent in real time and need to collect stats files manually:
start-log --sample-period=<seconds> --name=<testname>
Starts collecting a performance log that you'll load into Load Tester after the test.
--sample-period: How often to sample metrics (should match your load test setting, typically 10)--name: Optional name to identify the log file
Example:
After running this command, the agent will print the path to the log file:
ServerMonitorAgent: prepared for test 2026_02_10_143022_edt_production-test-500vu.
Results will be logged to ~/.webperformance/AgentLogs/2026_02_10_143022_edt_production-test-500vu.dat
Save that path. You'll need it to load the file after the test.
stop-log
Stops logging and closes the current log file. Always run this after your load test finishes so all data is saved to disk.
stop-log --force
Forcefully stops logging even if the log was started remotely by Load Tester. Use this only if the network connection died and Load Tester can't stop the log automatically.
License Management¶
No longer required. Since version 4.2, you don't need to import licenses onto the agent. Licensing is handled by the Load Tester controller.
Troubleshooting¶
Agent won't start:
- Check that Java is installed (agent requires Java 11 or later)
- Verify port 1099 isn't already in use: netstat -an | grep 1099
- Check for permission issues (though agent rarely needs special permissions)
Agent doesn't auto-detect: - Multicast may be blocked on your network - Agent and controller might be on different subnets - Solution: Add the agent manually in Servers View (see "Auto-Detection and Configuration" above)
"Connection refused" during load test:
- Verify the agent is running (ps aux | grep ServerMonitor on Linux)
- Check firewall rules allow connections to port 1099
- Confirm you're connecting to the correct IP address/hostname
Agent dies when SSH session ends:
- You didn't run it in screen or as a background process
- Solution: Use ./Start_Server_Monitor_In_Background or run in screen manually
Want to collect stats but can't open firewall ports:
- Use manual stats file collection (see "Collecting Stats Files Manually" above)
- Start the agent, run start-log command, run test, run stop-log, collect the .dat file
Next Steps¶
- Configure metrics: See Metrics & Counters for the list of available metrics and how to enable platform-specific counters
- Firewall setup: If you need to open firewall ports, see Monitoring Through Firewalls
- Performance analysis: After collecting server metrics, use the Server Performance Checklist to systematically identify bottlenecks
The agent is low-impact and safe for production systems. Start it before your test, let it collect data, and use the metrics to correlate server-side resource usage with client-side performance degradation.