Share this page

# InfluxDB analysis servers

This section describes how to configure an external InfluxDB analysis database server to provide external storage for run result data and perform over-time analytics tasks.

In this topic:

## About analysis database servers

When you view data online, it is read 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 OpenText Performance Engineering 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 OpenText Enterprise Performance Engineering 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 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, the data used is that stored on the external database. If the external database is unavailable, the data is brought from the local database on the Controller machine.

Back to top

## 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.

1. Prerequisites.

   Requirement | Description
   --- | ---
   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`, and `DatabaseName` are used in the InfluxDB Authorization section of the Analysis Servers dialog box below.

2. In Administration, select Configuration > Integrations > Analysis Servers.

3. In the Influx section, click the Add new Time Series database connection button to open the New Connection page.

4. Configure the connection to your time series database.

   UI Elements | Description
   --- | ---
   Name | The name of the database server. Note: If you are using an InfluxDB v2.x database server, the database name must be the same name as the bucket you created for the InfluxDB 2.x server.
   Server URL | The fully qualified domain name for the external InfluxDB server, or an IPv4 or IPv6 address. Note: The external InfluxDB server IPv6 address must in the format `http(s)://[server IPv6 address]`.
   Server Port | The port number used by the database server.
   Type | Displays the database server type (Influx).
   Description | A description of the server.
   InfluxDB Authorization | Enter the following: Database Name. The name of the Influx database server. User. The user name to access the Influx database server. Password. The password to access the Influx database server. InfluxDB 1.8.x only: Verify that authorization is enabled in <LRE_host_installdir>\bin\influxdb\influxdb.conf ("auth-enabled = true"), otherwise the user and password are skipped.
   Proxy Authentication | Enter the following: Proxy Server. The name of the proxy server. User. The relevant user name for the HTTP connection. Password. The relevant password for the HTTP connection.
   Test Connection | Click to test the connection to the database server.

5. Assign the database server to different projects.

   1. In the Linked Projects area, click Assign to open the Assign Projects dialog box.

   2. Select the projects you want to assign to the server, and click Assign. The selected projects are added to the Linked Projects grid.

   3. 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.

6. Upload raw result data to the Influx database server.

   1. In the Test Management module, go to Test & Scripts. In the Tests and Scripts tab, click on an ID of a performance test.

   2. In the Groups and Workload tab, click the Test Options button in the Groups pane toolbar. The Test Options dialog box opens.

   3. To have raw result data automatically exported to an InfluxDB database, open the Collate tab and select Upload raw results to an external InfluxDB server. For details, see Export raw results.

   For details on the raw data that is exported to InfluxDB, see Raw data measurements.

7. Click Save to save the analysis server template.

8. Configure a third-party dashboard.

   After setting up the 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.

Back to top

## 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:

1. 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.

2. Copy the InfluxDB server certificate to the required server and the Controller machines.

   For details, see Distribute certificates.

3. Configure InfluxDB to work with HTTPS according to your InfluxDB version.

   InfluxDB version | Description
   --- | ---
   1. InfluxDB version 2.x | Create a self-signed certificate and certificate key using the OpenSSL utility. For example: Copy code
          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
   4. 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 code
          http-bind-address: ":8086"
          tls-cert: C:/ssl/influxdb-selfsigned.crt
          tls-key:  C:/ssl/influxdb-selfsigned.key
   Note: 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.
   3. InfluxDB version 1 | 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`

4. Configure InfluxDB in OpenText Enterprise Performance Engineering. For details, see Configure external InfluxDB analysis servers above.

Back to top

## Enable HTTPS with internal InfluxDB

When running a performance 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 OpenText Enterprise Performance Engineering 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 local InfluxDB server:

1. 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 OpenText Enterprise Performance Engineering server.

   Example:

   Here is an example for creating a self-signed certificate `influxdb.cer` and private key `influxdb.cer.pk` using OpenSSL. The certificate is for a Controller named `cntrl_machine.domain.org`.

   Copy code

          openssl.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

2. Install the certificate on the Controller machine and configure the InfluxDB settings.

   1. Copy the influxdb.cer and influxdb.cer.pk files to the <LRE_host_installdir>\bin\influxdb\tls folder.

   2. Go to <Host_installdir>\bin\influxdb\config.yaml and add the following lines:

      Copy code

                tls-cert: ./tls/influxdb.cer
                tls-key: ./tls/influxdb.cer.pk

      Tip: If you want to change port 8086 to another port, change the port value in the config.yaml file.

   3. Restart the OpenText Performance Engineering Data Service.

   4. Go to <Host_installdir>\dat\LTS.config and change the value of the InfluxDBSettings IsSecured parameter to true:

      Copy code

          <InfluxDbSettings port="8086" IsSecured="true"

   5. If the InfluxDB port is not 8086, set the required port value here.

   6. Restart the OpenText Performance Engineering Load Testing Service.

3. Configure the InfluxDB settings on the OpenText Enterprise Performance Engineering server.

   1. Edit the PCS.config file located in <Server_installdir>\dat\ by changing the value of the InfluxDBSettings IsSecured parameter to true:

      Copy code

          <InfluxDbSettings port="8086" IsSecured="true"

      If the InfluxDB port is not 8086, set the required port value here.

   2. Restart IIS.

Back to top

## Export analysis server details to Excel

To export information displayed in the Analysis Servers grid to an Excel file, click the Export to Excel button . Data from the grid is saved to an Excel file and downloaded to the Downloads folder of the client user.

Back to top

## 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: `SELECT mean("response-time") FROM (SELECT ("EndTime" - "StartTime" - "ThinkTime")/1000000 AS "response-time" FROM Transaction WHERE ("RunID" =~ /^$RunID$/)) WHERE $timeFilter` This query assumes you use a `RunID` variable to select the RunID you want to view. The `timeFilter` is also included. You also have tags that hold information about `VuserID`, `GroupName`, and `Status`.
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 `<timestamp,value>`. It also has tags for `Name`, `ScriptName`, `GroupName`, and `VuserID`.
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 product: OpenText Enterprise Performance Engineering , OpenText Professional Performance Engineering Professional, or OpenText Core Performance Engineering.

• Emulation. Contains location information if network virtualization is used in the test.

• Region. Contains region information (available in OpenText Core Performance Engineering only).

Back to top

## Notes and limitations

The following are notes and limitations for the InfluxDB time series database analysis server.

Area | Description
--- | ---
Communication Port | Port 8086 must be open for outgoing communication from the server, and for incoming communication for the host (for an internal database). For an external database, port 8086 must be open for both incoming and outgoing communication from the server and host.
Communication security and system user | OpenText Enterprise Performance Engineering uses the same user name and password as the 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 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 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 so that the database can be reconfigured 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: On the Controller host, stop the OpenText Performance Engineering Data Service. Open the <LRE_host_installdir>\bin\influxdb\influxdb.conf file, and set `max-series-per-database=0` to make it unlimited.

Back to top

https://admhelp.microfocus.com Enterprise Performance Engineering,LoadRunner Enterprise 8942
Tips to improve your search results...OpenText™ Enterprise Performance Engineering Help Center OpenText™ Enterprise Performance Engineering Help 26.1 All View Local Help Center View Online Help Center Version: