QMetry and Reports Installation on AWS Cloud Linux - 3 Tier (RHEL8, RHEL9 and RHEL10)
In this guide, we'll run you through installing QMetry Database on AWS RDS, QMetry Test Management application, and QMetry Reporting Tool in a 3 Tier Architecture on AWS.
This installation requires MySQL v8.4.8 on AWS RDS and installs QMetry over Apache Tomcat 11.0.5 and Open JDK 17.0.2 in a Podman container.
AWS 3 Tier Architecture
3 Tiers | Installations |
|---|---|
Server 1 | QMetry Application |
Server 2 | QMetry Reports |
AWS RDS 1 | QMetry Database |
AWS RDS 2 | QMetry Reports Database |
Pre-requisites
Before you begin installation, complete every check in the below checklist:
Prerequisite Checklist
Verify each of the following items:
Prerequisite | What to confirm |
|---|---|
Operating System | Linux - RHEL 8, 9 and 10 |
Required commands | unzip, wget, curl, and vim commands are supported. |
Internet access | Internet access is required to download and install Podman and QMetry installation images. |
Firewall and SELinux | Both are disabled on every server during installation. |
Proxy Servers | No proxy blocks downloads from the internet. |
Server communication | The application and report servers can reach each other on the required ports. |
Open ports | Ports 80, 443, 8080 and 3306 are free on the relevant servers. |
Root access | Podman installation requires root user access. |
Disk space | The Podman and data directories have enough free space. |
Installation files | Get the |
For more details, refer to the Pre-requisites for QMetry Application and Report Server Installation document.
In addition to this, ensure the following:
Four Servers are required: 2 AWS RDS for QMetry and Reports Databases, QMetry Application, and QMetry Reporting. These servers should be able to communicate with each other on respective ports as mentioned in the table below. Security groups should be configured accordingly. Refer QMetry Deployment Document for the hardware requirements.
QMetry Application and Report Servers should be able to communicate over 80/443 and Database Server 3306/DB Ports. Port 8080 should be enabled/open on Reports Server to allow connections from QMetry application server. The ports 80/443 and 3306 on the respective servers should be free and should not be in use by other applications. QMetry App server should be able to communicate with the report's server on port 3306.
By default, podman is managing storage under “/var/lib/” directory on the host machine. Installer will ask you to set up a storage location for QMetry application files related data during the installation of QMetry. Hence, make sure that both the directories have required disk space available as per usage requirement of QMetry application.
If you are planning Jira integration with QMetry and Jira is running on https, make sure your QMetry is also running over https protocol. QMetry and Jira should run on the same protocol.
The following Ports should be open:
Installation
Ports that need to be enabled and should be available for use
AWS RDS - QMetry Application Database & QMetry Reports Databases
3306 for both RDS
QMetry Application
80/443
QMetry Report
80/443, 8080 & 3306
AWS EFS
2049
AWS ElastiCache (if enabling the optional Redis Cache Cluster)
6379
Create and Configure 2 RDS for QMetry Application Database and QMetry Reports Database
Create and configure the two RDS instances
Create two RDS instances that share a common parameter-group family, one for the Application database and one for the Reports database.
Step 1. Create DB parameter groups
To create database parameter groups, perform the following steps:
Go to AWS Management Console and open the Amazon RDS console.
In the navigation pane, select Parameter groups.
Click Create parameter group.
Parameter group family: Select mysql8.4 as DB parameter group family.
Group name: Provide the name of the new DB parameter group.
Description: Provide a description for the new DB parameter group.
Click Create.
Repeat to create a second parameter group for the Reports RDS.
Step 2. Edit the parameter groups
Application RDS parameter group
Select the App parameter group and set these values:
Parameter | Value |
|---|---|
binlog_format | ROW |
character_set_client | utf8mb4 |
character-set-client-handshake | 0 |
character_set_server | utf8mb4 |
collation_server | utf8mb4_unicode_ci |
group_concat_max_len | 500000000 |
innodb_autoinc_lock_mode | 2 |
innodb_thread_concurrency | 10 |
log_bin_trust_function_creators | 1 |
lower_case_table_names | 1 |
max_allowed_packet | 536870912 |
sql_mode | NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO |
thread_cache_size | 200 |
innodb_log_buffer_size | 536870912 |
innodb_log_file_size | 1073741824 |
Report RDS parameter group
Select the Report parameter group and set these values:
Parameter | Value |
|---|---|
character-set-client-handshake | 0 |
group_concat_max_len | 500000000 |
innodb_autoinc_lock_mode | 2 |
innodb_strict_mode | 0 |
lower_case_table_names | 1 |
max_allowed_packet | 536870912 |
thread_cache_size | 200 |
Step 3. Create the Application Database RDS
To create application database RDS, perform the following steps:
Create an RDS with MySQL database version 8.4.8
Provide the RDS Name, Username and Password.
Select the Application DB Parameter Group from Step 2.
Start the service: RDS → Databases → Actions → Start.
Connect to the Application RDS and run the following so MySQL bin logs survive restarts (required for dependable report sync):
call mysql.rds_set_configuration('binlog retention hours', 24);Note
Save the Application RDS username, password, schema name, and endpoint. You will need them during installation.
Step 4. Create the Reports Database RDS
To create Reports Database RDS, perform the following steps:
Create an RDS with MySQL database version 8.4.8
Provide RDS Name, Username and Password
Select the Reports DB parameter group from Step 2.
Connect to the Reports RDS and create the analytics schema:
CREATE SCHEMA `qtmanalytics` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
Note
Save the Reports RDS username, password, schema name, and endpoint.
Install the QMetryApplication
Install QMetry Reports
Note
If you have purchased Advanced Reporting, then you will need a separate server for installing QMetry Reports.
Steps to Follow for QMetry Report Installation
To install QMetry Reports on the second server, perform the following steps:
Step 1: Get the installation zip file
Connect to the report server. Upload the QMetry_RHEL_Installer_ECR.zip to the /opt directory of the Report server and extract it with the following commands.
sudo su - cd /opt unzip QMetry_RHEL_Installer_ECR.zip cd QMetry_RHEL_Installer_ECR/
Step 2: Run the reports installer
chmod +x install.sh ./install.sh
Step 3: Online installation prompt
Options | Allowed Values | Default Value | Recommended Value |
|---|---|---|---|
Do you want to make an online installation (Y/N)? | Y, y, N, n | Y | Y |
Step 4: Podman Verification
Enter the podman credentials that were shared as part of the installation package.
Step 5: QMetry Installation Menu
Type 3 to install QMetry Reports.

Step 6: Enter the report configuration parameters
After the installation starts, enter the following parameters when prompted.
Options | Details | Default Value | Example |
|---|---|---|---|
Enter Number of CPU's to allocate | Allocate 3/4th of the available CPUs. For example, if CPU has 8 cores, enter 6. To check total CPUs, run the command : lscpu | 4 | 6 |
Enter Memory to allocate in GB(s) | Entered memory would be used by the sync job while running full sync of data. Enter 3/4th of total memory available on the server. For example, if the memory on the server is 24 GB, enter 18. | 4 | 18 |
Wait for the script file to finish executing.
Options | Details | Example |
|---|---|---|
Enter Mysql Database Host IP / DNS Name (Qmetry) | Enter Database Host Public IP/DNS of QMetry application. | Specify QMetry App RDS DB Endpoint |
Enter Mysql Database Port (Qmetry) | Enter Database Port of QMetry application. If it is unchanged, use "3306" as Database port. | 3306 |
Enter Mysql Database Schema (Qmetry) | Enter Database schema name of QMetry application. | qmetry |
Enter Mysql Database Username (Qmetry) | Enter Database username of QMetry application. If it is unchanged, use "root" as username. | root |
Enter Mysql Database Password (Qmetry) | Enter Database password of QMetry application. | QMetry@123 |
Enter Mysql Database Host IP / DNS Name (Reports) | Enter Database Host Public IP/DNS of QMetry Report. | Specify QMetry Reports RDS DB Endpoint |
Enter Mysql Database Port (Reports) | Enter Database Port of QMetry Report Database. If it is unchanged, enter "3306" as Database Port. | 3306 |
Enter Mysql Database Schema (Reports) | Enter Database schema name as “qtmanalytics“ for QMetry Reports Database. | qtmanalytics |
Enter Mysql Database Username (Reports) | Enter Database username of QMetry Reports Database. If it is unchanged, use "root" as username. | root |
Enter Mysql Database Password (Reports) | Enter Database password of QMetry Reports Database. | QMetryreports@!Nf0# |
Enter Port To Start SyncJob (Reports) | Reports Sync Job runs from this port - 8080. | 8080 |
Do you want to Run Force Sync Now? (y/n) | Enter y to sync all the QMetry data to Reports Database with the current script. Always enter y at the time of fresh reports install. Always enter y at the time of fresh reports install. | Y |
Enter Memory to allocate in GB(s) to Spark | Entered memory would be used by the sync job while running full sync of data. Enter 3/4th of total memory available on the server. For example, if the memory on the server is 24 GB, enter 18. | 18 |
After successful installation of QMetry Report, you will see the message "QMetry Report Installation is complete".
Note
In cases when you need to force sync to re-sync any missing data, just repeat Step 4, and skip all parameter details (by hitting enter) and just enter y when prompted for a force sync.
Wait for the script to finish executing.
Step 7: Verify the podman
podman ps
Step 8: Restart Report Services
systemctl restart qmetry-reports
Wait for about 2 minutes before proceeding with the next step.
Step 9: Configure the database connection
Log into QMetry with 'admin' user login, and configure the reports server URL in the configuration menu.
Login to QMetry with administrator credentials and go to Customizations.
Select Insight Configuration and open Database Configuration tab.
Under Database Configuration tab, enter the following details:
Host: Reports Server Host Public IP/DNS
Port: 3306
Username: root
Password : <Enter Report database password>
Database Name: <Report DB schema specified during installation>
Select Test to confirm a successful connection, and then select Test & Save.

Step 10: Set up the report data sync
On the Sync Data tab, set up the Report Data Sync from your reports server to QMetry Reporting.
Report Server URL: Enter your report server domain URL followed by port 8080. Confirm that port 8080 is open on the report server.
Select Test to confirm a successful connection and then select Test & Save.
Note
Run Sync Data the first time after you install QMetry reports installation. The time that the sync takes depends on the amount of data in QMetry. You can monitor sync progress and status in the interface. QMetry custom reports are not accessible while the sync runs. Run the sync only during off-peak hours.
Users can start using QMetry Reports when the sync is completed. QMetry remains available during this time.

Enabling Redis Caching Cluster (optional)
QMetry provides a capability for improving the overall performance and scalability even more by setting up Redis Caching Cluster. This step is optional. Follow the below steps to configure Redis Cache.
Create a Redis cluster using AWS ElastiCache service for the Redis v7.0.7
AWS ElastiCache Redis Cluster should be accessible to all the EC2 servers of QMetry application for caching related communication and configuration.
Ensure port #6379 is opened for incoming connections in the security group to allow connections from AWS EC2.
Port #6379 should be free and not in use by other applications.
Configure Redis connection details in QMetry.

Login to QMetry Application using “admin“ account, and go to the top right corner admin > Profile section. Edit the Profile.
Enter the Redis URL and Test. In case, the test fails, check and ensure connectivity between ElastiCache Redis Cluster and AWS EC2.
Upon successful Test, update the details.
Install Automation API Features
Installing the Automation API with your on-premise QMetry installations will enable several automation API related features including faster automation result file imports into QMetry. If you plan to use Automation APIs to import test results into QMetry, refer to Install Automation API Feature for Offline Installations.
Get Support
Please generate a support ticket on the Support Portal for a detailed installation guide or contact your sales representative.

