> OctoPerf load testing - Monitoring documentation page. Overview of OctoPerf's infrastructure monitoring architecture and usage.

Source: https://api.octoperf.com/doc/monitoring/

# Server Monitoring

Monitoring the infrastructure while running a load tests provides invaluable information about what's happening server side. Understanding which requests are slow is only part of the answer. Monitoring provides the missing part: understanding which part of the infrastructure (Web server, Database, Operating System..) is the bottleneck.

Octoperf supports monitoring a variety of **web servers, application servers, databases, operating systems** and more. Correlate load testing metrics like response times with backend monitoring metrics like CPU usage in the same report.

## How it works

=== "OctoPerf SaaS"

    ![Monitoring Schema](https://api.octoperf.com/doc/monitoring/img/monitoring-schema.png "Monitoring Schema")

=== "OctoPerf EE"

    ![Monitoring Schema](https://api.octoperf.com/doc/monitoring/img/monitoring-schema-ee.png "Monitoring Schema")

The monitoring agent runs on an [On-Premise Agent](https://api.octoperf.com/doc/on-premise-agent/). The monitoring agent is basically a **docker container** which makes regular requests to OctoPerf. The monitoring agent contains everything to monitor web servers, application servers, operating systems and more.

**The agent performs only outgoing requests to our platform**. This configuration passes through firewalls in most cases. The monitoring agent automatically starts and stops monitoring servers when running load tests.

## Overview of prerequisites

Since we use existing components, each technology has its own prerequisites.
Here is a summary table, but each more details are available on the dedicated page of each monitor:

| Monitoring                                                   | Protocol   | Default port | Other                                                  |
| ------------------------------------------------------------ | ---------- | ------------ | ------------------------------------------------------ |
| [Generic JMX](https://api.octoperf.com/doc/monitoring/create-connection/generic-jmx/)        | TCP (JMX)  | 9004         | Activate remote JMX on JVM                             |
| [Apache HTTPD](https://api.octoperf.com/doc/monitoring/create-connection/apache-httpd/)      | HTTP/S     | 80/443       | Activate mod status                                    |
| [Apache tomcat](https://api.octoperf.com/doc/monitoring/create-connection/apache-tomcat/)    | TCP (JMX)  | 9004         | Activate remote JMX on JVM                             |
| [Lighttpd](https://api.octoperf.com/doc/monitoring/create-connection/lighttpd/)              | HTTP/S     | 80/443       | Activate mod status                                    |
| [NGINX](https://api.octoperf.com/doc/monitoring/create-connection/nginx/)                    | HTTP/S     | 80/443       | Activate mod status                                    |
| [MongoDB](https://api.octoperf.com/doc/monitoring/create-connection/mongodb/)                | TCP        | 27017        | Login/password                                         |
| [MySQL](https://api.octoperf.com/doc/monitoring/create-connection/mysql/)                    | TCP (JDBC) | 3306         | Login/password                                         |
| [Oracle](https://api.octoperf.com/doc/monitoring/create-connection/oracledb/)                | TCP (JDBC) | 1521         | Login/password                                         |
| [PostgreSQL](https://api.octoperf.com/doc/monitoring/create-connection/postgres/)            | TCP (JDBC) | 5432         | Login/password                                         |
| [Linux](https://api.octoperf.com/doc/monitoring/create-connection/linux/)                    | SSH        | 22           | Login/password                                         |
| [Windows](https://api.octoperf.com/doc/monitoring/create-connection/microsoft-windows/)      | TCP (JMX)  | 1099         | [Metrics agent](https://github.com/OctoPerf/jmx-agent) |
| [IIS](https://api.octoperf.com/doc/monitoring/create-connection/microsoft-iis/)              | TCP (JMX)  | 1099         | [Metrics agent](https://github.com/OctoPerf/jmx-agent) |
| [SQL Server](https://api.octoperf.com/doc/monitoring/create-connection/microsoft-sql-server/) | TCP (JMX)  | 1099         | [Metrics agent](https://github.com/OctoPerf/jmx-agent) |
| [Prometheus](https://api.octoperf.com/doc/monitoring/create-connection/prometheus/)          | HTTP/S     | 80/443       |                                                        |
| [New relic](https://api.octoperf.com/doc/monitoring/create-connection/new-relic-apm/)        | HTTPS      | 443          |                                                        |

## Real Time Monitoring

**Monitored counter metrics and threshold alarms are available in real-time during the load test**. Knowing server-side performance issues as they occur saves time.

![Threshold Alarms Line Chart](https://api.octoperf.com/doc/monitoring/img/alarms-line-chart.png "Threshold Alarms Line Chart")

*Line chart showing % Busy workers and associated threshold alarms raised during the test.*
