Manage analysis servers
This section describes how to configure external analysis database servers to be used with LoadRunner Enterprise.
About analysis database servers
When you view data online, LoadRunner Enterprise reads it from an internal local time series database installed on the Controller machine. By default, the database stores data from all tests that were run on the Controller for a period of 30 days. You can change the default value in Define host settings. The local database runs as a service to ensure that the data is always available during the run; the service is called LoadRunner Data Service.
You can also install and use an external analysis database which enables you to store data from different runs of the same test run on different Controllers in one centralized location. This helps you perform over-time analytics tasks, and provides the following benefits:
-
Easy access to live and post-run data.
-
Enables mashing up LoadRunner Enterprise data with other data vendors, and using third-party dashboards, such as Grafana, to easily visualize the data.
-
Ability to automatically upload raw result data to an external Influx database server. Exporting raw data is useful when, for example, the run results are too large for Analysis to handle, or when you want to use test data in applications developed for your specific needs. For details, see Collate and export raw results.
-
Enables you to use the Quick Trending feature to analyze failed transactions from the Test Runs and Test Management page. For details, see Perform quick trending analysis.
After you configure an external analysis server, all run data from your selected projects is stored on an external time series database.
When you view data after a test run has finished, LoadRunner Enterprise uses the data stored on the external database. If the external database is unavailable, the data is brought from the local database on the Controller machine.
LoadRunner Enterprise currently supports the InfluxDB time series database for storing data externally and OneAnalysis.
Note: We recommend using a different connection for different projects in order to keep data access authorization between projects.
Configure external InfluxDB analysis servers
To configure your external analysis server, you need to add a connection to your time series database server, and assign it to different projects.
-
Prerequisites.
Installation Make sure that you have installed and configured InfluxDB on your local machine.
Secure Communication To enable secure communication with your InfluxDB server, perform the steps described in Enable HTTPS with external InfluxDB.
InfluxDB 2.x
When working with InfluxDB version 2.x, run the following InfluxDB commands from the command line interface:
influx.exe v1 auth create --username User --password Password --token YourToken --org YourOrg --read-bucket bucketId --write-bucket bucketId
influx.exe v1 dbrp create --bucket-id bucketId --rp PC_DEFAULT_RP --db DatabaseName --default --token YourToken --org YourOrg
where
User
,Password
, andDatabaseName
are used in the InfluxDB Authorization section of the Analysis Servers dialog box below. -
In LoadRunner Enterprise Administration, select Configuration > Integrations > Analysis Servers.
-
Configure the connection to your time series database.
Click the Add new Time Series database connection button , and provide the following details:
-
Assign the database server to different projects.
-
In the Linked Projects area, click Assign to open the Assign Projects dialog box.
-
Select the projects you want to assign to the server, and click Assign. The selected projects are added to the Linked Projects grid.
-
You can see project details (the project ID, name, and domain in which the project was created), and add or remove linked projects using the Linked Projects grid.
-
-
Upload raw result data to the Influx database server.
-
In the Test Management module, go to Test & Scripts . In the Tests and Scripts tab, click on an ID of a performance test.
-
In the Groups and Workload tab, click the Test Options button in the Groups pane toolbar. The Test Options dialog box opens.
-
Open the Collate tab and select Upload raw results to an external analysis database server (InfluxDB) to have LoadRunner Enterprise automatically export raw result data to an InfluxDB database. For details, see Collate and export raw results.
For details on the raw data that is exported to InfluxDB, see Raw data measurements.
-
-
Click Save to save the analysis server template.
-
Configure a third-party dashboard.
After setting up the LoadRunner Enterprise integration with InfluxDB, configure a third-party dashboard to view performance test run data.
You can use a third-party dashboard, such as Grafana, to easily visualize the data.
Enable HTTPS with external InfluxDB
This section explains how to enable secure communication with your external InfluxDB server. The steps differ according to the InfluxDB version you have.
To enable secure communication with your external InfluxDB server:
-
Prerequisites
For the configuration, you need to use either a self-signed or trusted CA signed certificate. These instructions explain how to use a self-signed certificate.
-
Copy the InfluxDB server certificate to the required LoadRunner Enterprise server and the Controller machines.
For details, see Distribute certificates in the LoadRunner Enterprise Installation Guide (available from Installation).
-
Configure InfluxDB to work with HTTPS.
InfluxDB version 2.xIf you are using InfluxDB version 2.x, configure InfluxDB to work with HTTPS as follows:
-
Create a self-signed certificate and certificate key using the OpenSSL utility.
Copy codeExample:openssl.exe req -x509 -nodes -newkey rsa:2048 -subj '/CN=Machine.Domain/subjectAltName=Machine.Domain /' -keyout ./influxdb-selfsigned.key -out ./influxdb-selfsigned.crt -days 3600
-
On the InfluxDB machine create a folder for the certificates. For example,
C:\ssl
. -
Copy the influxdb-selfsigned.crt and influxdb-selfsigned.key files to the folder you created.
-
Create a config.yaml file in the installation path of InfluxDB, and paste the following into the file:
Copy codehttp-bind-address: ":8086"
tls-cert: C:/ssl/influxdb-selfsigned.crt
tls-key: C:/ssl/influxdb-selfsigned.keyNote: You can use any port of your choice, including port 443.
-
Start the InfluxDB server by running the following command:
influxd.exe
. -
Check that InfluxDB is running over HTTPS by running the following command:
influx.exe ping --host https://Machine.Domain:8086
You should get an "
OK
" response.
InfluxDB 1If you are using InfluxDB 1, configure InfluxDB to work with HTTPS as follows:
-
On the InfluxDB machine create a folder for the certificates. For example,
C:\ssl
. -
Copy the influxdb-selfsigned.crt and influxdb-selfsigned.key files to the folder you created.
-
Open the InfluxDB configuration file <influxdb path>\influxdb.conf and uncomment and set the following parameters:
Copy code# Determines whether HTTPS is enabled.
https-enabled = true
# The SSL certificate to use when HTTPS is enabled.
https-certificate = "C:\\ssl\\influxdb-selfsigned.crt"
# Use a separate private key location.
https-private-key = "C:\\ssl\\influxdb-selfsigned.key" -
Open the command line and go to the InfluxDB path.
-
Start the InfluxDB server by running the following command:
influxd.exe -config influxdb.conf
-
Check that InfluxDB is running over HTTPS by running the following command:
influx -ssl -unsafeSsl -host localhost
Note: If using a CA certificate, remove the -unsafeSsl command:
influx -ssl -host localhost
.You should get the following response:
Connected to https://localhost:8086 version 1.8.0
InfluxDB shell version: 1.8.0
-
-
Configure InfluxDB in LoadRunner Enterprise. For details, see Configure external InfluxDB analysis servers above.
Enable HTTPS with internal InfluxDB
When running a LoadRunner Enterprise test, the Controller stores online graph data on the local InfluxDB. To store the online graph data, the Controller calls for the REST API provided by the InfluxDB. By default, the local InfluxDB runs on port 8086 and the REST calls are issued using the HTTP protocol. The LoadRunner Enterprise server calls for the InfluxDB REST API to retrieve the online graph data while running a test or when viewing test run results offline.
We recommend enabling HTTPS, especially if you plan on sending requests to InfluxDB over a network. Enabling HTTPS encrypts the communication between the Controller and the InfluxDB server.
To enable secure communication between the Controller and the local InfluxDB server:
-
Prepare the TLS certificate and the certificate private key files. InfluxDB supports three types of TLS certificates:
-
Single domain certificate issued to the Controller machine.
-
Domain wildcard certificate.
-
Self-signed certificate. The certificate must be added to the trusted root repository on both the Controller and the LoadRunner Enterprise server.
Example:
Here is an example for creating a self-signed certificate
influxdb.cer
and private keyinfluxdb.cer.pk
using OpenSSL. The certificate is for a Controller namedcntrl_machine.domain.org
.Copy codeopenssl.exe req -x509 -nodes -newkey rsa:2048 -keyout ./influxdb.cer.pk -out ./influxdb.cer -days 3600 -extensions 'req_ext' -config ./request.conf
The content of request.conf:
Copy code[ req ]
distinguished_name = dn
x509_extensions = req_ext
prompt = no
[ dn ]
CN = cntrl_machine.domain.org
[ req_ext ]
keyUsage = keyEncipherment, dataEncipherment
extendedKeyUsage = serverAuth
subjectAltName = @alternate_names
[ alternate_names ]
DNS.1 = cntrl_machine.domain.org
DNS.2 = cntrl_machine -
-
Install the certificate on the Controller machine and configure the InfluxDB settings.
-
Copy the influxdb.cer and influxdb.cer.pk files to the <LRE_host_installdir>\bin\influxdb\tls folder.
-
Go to <LRE_host_installdir>\bin\influxdb\config.yaml and add the following lines:
Copy codetls-cert: ./tls/influxdb.cer
tls-key: ./tls/influxdb.cer.pkTip: If you want to change port 8086 to another port, change the port value in the config.yaml file.
-
Restart the LoadRunner Data Service.
-
Go to <LRE_host_installdir>\dat\LTS.config and change the value of the InfluxDBSettings IsSecured parameter to true.
If the InfluxDB port is not 8086, set the required port value here.
-
Restart the LoadRunner Load Testing Service.
-
-
Configure the InfluxDB settings on the LoadRunner Enterprise server.
-
Edit the PCS.config file located in <LRE_server_installdir>\dat\ by changing the value of the InfluxDBSettings IsSecured parameter to true.
If the InfluxDB port is not 8086, set the required port value here.
- Restart IIS.
-
Export analysis server details to Excel
To export information displayed in the Analysis Servers grid to an Excel file, click Export to Excel . Data from the grid is saved to an Excel file and downloaded to the Downloads folder of the client user.
Raw data measurements
Exporting raw data is useful when, for example, the run results are too large for Analysis to handle, or when you want to use test data in applications developed for your specific needs.
The data exported to InfluxDB is stored in the database as follows:
Measurement | Description |
---|---|
Error |
The error events that occurred during the test run. Error events contain a Message, FieldLine, and Iteration field for any query that counts the amount of errors. They also have tags for ScriptName, Host, and GroupName. |
Transaction |
Complete transaction information. Transaction events contains the following fields: StartTime, EndTime, ThinkTime, and WastedTime. To enable a Grafana graph to display Transaction Response Time, you need to add this to the query. For example:
This query assumes you use a |
TransactionBreakdown |
Transaction breakdown information. This is Transaction events that also contain information about Web Page Breakdown. These events have additional columns that contain information about DNSTime, ConnectionTime, ServerTime, NetworkTime, ReceiveTime, FirstBuffTime, SSLTime, ErrorTime, RetryCount, and CompSize. All values except for RetryCount and CompSize are time-based (measured in microseconds) and represent metrics recorded when running a Web based script. |
VuserCount |
Vuser count during the test run. Vuser Count events contain a “Value” field which displays the number of running Vusers at the timestamp of the event. |
DataPoint |
Datapoint information recorded during the script run. Datapoint events contain the “Value” field which consists of |
MonitorDataPoint |
Datapoint information recorded by monitors during the run. This is similar to Datapoints. These events have a timestamps-value pair, along with added information about the event Name. These events contain the information stored from monitors during run, if any were configured. |
Each event has a timestamp and relevant columns in which the event's information is stored. The following columns are added to each event by default:
• RunID. In the format of “<result folder name>_<timestamp of export>”
• Product. Displays the name of the LoadRunner product: LoadRunner Enterprise , LoadRunner Professional, or LoadRunner Cloud.
• Emulation. Contains location information if Network Virtualization is used in the test.
• Region. Contains region information (available in LoadRunner Cloud only).
Notes and limitations
The following are notes and limitations for the analysis server:
Communication Port |
Port 8086 must be open for outgoing communication from the LoadRunner Enterprise server, and for incoming communication for the LoadRunner Enterprise host (for an internal database). For an external database, port 8086 must be open for both incoming and outgoing communication from the LoadRunner Enterprise server and LoadRunner Enterprise host. |
Communication security and system user |
LoadRunner Enterprise uses the same user name and password as the LoadRunner Enterprise system user to secure the data (IUSR_METRO by default). However, because the internal Influx database server is sensitive to some special characters, we recommend that you avoid using "\" in the password. If a LoadRunner Enterprise system user has a password with "\", change it before running any tests on newly-installed hosts. |
Accessing the internal Influx server after reinstalling host |
Problem: If you uninstall a host and reinstall it again, and during this time the LoadRunner Enterprise system user name or password is changed, access to the internal Influx database on the host is denied. This is because InfluxDB stores its data in a folder that also includes the data of the previous authentication user.By default, the folder is under <LRE_host_installdir>\orchidtmp\influxdb. Resolution: You must delete this folder in order for LoadRunner Enterprise to reconfigure the database with the new user. |
Unable to write data (InfluxDB 1.8.x only) |
Problem: If you encounter an "Unable to write data" error, it is possible that the maximum limit of series per database has been reached. The default limit is 1,000,000 transactions per database. Resolution:
|