Table of Contents | ||||
---|---|---|---|---|
|
...
Server 1 | QMetry App |
Server 2 | QMetry Reports |
AWS RDS | QMetry DB |
Pre-requisites
For additional information on verifying pre-requisites refer this article.
- The three servers should be on the same network and able to communicate with each other. Refer QMetry Deployment Document for the requirements.
- All the servers should have support of these commands: unzip, wget, curl and vim.
- Internet access should be enabled on all 3 servers to install using docker.
- Ensure Proxy Servers are not blocking downloads from the Internet.
- Docker installation requires root user access. To install using a non-root user, follow the steps specified here before starting the install on both QMetry and Report servers.
- QMetry and Report Servers should be able to communicate over 80/443 and Database Server 3306/DB Ports. Ports 8080 and 33061 should be enabled/open on Reports Server to allow connections from QMetry application server.
- Docker is installed under /var/lib/ directory. We recommend allocating enough space here to ensure QMetry has enough space to save your data.
- Data of QMetry attachments added is saved under : /var/lib/docker/volumes/qmetry_attachment/_data
- Get the following files from QMetry Support: QMetryApp.zip, Spark_Report_Install.zip, License and docker credentials required for installation.
- Post installation, QMetry Application and Report tool both should be configured either on https or http.
- Following Ports should be open on respective servers:
Installation | Ports that need to be enabled |
---|---|
QMetry Database Server | 3306 |
QMetry Application | 80/443 |
QMetry Reporting Tool | 80/443, 8080, 8000, & 33061 |
Setting up QMetry DB Server in AWS
For database you need to setup a RDS.
...
- Login to AWS Management Console and open the Amazon RDS console.
- RDS > Databases > Actions > Stop RDS Service.
- Go to Configurations tab > Parameter Group.
- Search and then add / edit the following parameters.
Parameters | Values |
---|---|
lower_case_table_names | 1 |
max_allowed_packet | 536870912 |
character_set_server | utf8mb4 |
collation_server | utf8mb4_unicode_ci |
innodb_thread_concurrency | 10 |
query_cache_limit | 1073741824 |
table_definition_cache | 2000 |
group_concat_max_len | 1536000 |
innodb_autoinc_lock_mode | 2 |
tx_isolation | REPEATABLE-READ |
sql_mode | STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION |
binlog_error_action | ABORT_SERVER |
binlog_format | ROW |
binlog_group_commit_sync_delay | 0 |
binlog_group_commit_sync_no_delay_count | 0 |
binlog_gtid_simple_recovery | 1 |
binlog_max_flush_queue_time | 0 |
binlog_order_commits | 1 |
binlog_row_image | FULL |
binlog_rows_query_log_events | 0 |
binlog_stmt_cache_size | 32768 |
max_binlog_stmt_cache_size | 18446744073709547520 |
log_bin_trust_function_creators | 1 |
log_bin_use_v1_row_events | 0 |
...
- RDS username
- RDS password
- RDS Database Schema name
- RDS Endpoint
Installing QMetry Application
Step 1. Copy the QMetryApp.zip received from QMetry Support to your server. Navigate to the directory where this file is kept and execute the following commands.
...
Step 8. Additional Tomcat Configuration: QMetry is installed with a default configuration of minimum and maximum heap memory utilization. You can modify these settings depending on your hardware configuration. Refer Additional Configuration for more details.
Installing QMetry Reporting
If you have purchased Advanced Reporting then you will need a separate server for QMetry Reporting.
...
Server Configurations | Small Teams < 50 Users | Medium Teams < 500 Users | Large Teams 500+ Users | |||
Stand Alone Server | ||||||
| Min | Recommended | Min | Recommended | Min | Recommended |
CPU | 4 Cores | 4 Core | 8 Core | 16 Core | 16 Core | 24 - 32 Core |
Memory | 8 GB | 16 GB | 16 GB | 24 GB | 32 GB | 32 - 64 GB |
HDD (Free Space) | 100 GB | 250 GB | 50 GB | 100 GB | 50 GB | 500 GB |
Steps to Install QMetry Reports
Step 1 - Connect to Report Server and Download the file.
Upload the Spark_Report_Install.zip to the /opt directory of the Report server and unzip it
- sudo su -
- cd /opt
- unzip Spark_Report_Install.zip
- cd Spark_Report_Install/
Step 2 - Run the reports installer file
- chmod +x spark-install.sh
- sh spark-install.sh
- The install script prompts the following options
...
Wait for the script file to finish executing.
Step 3 - Add reports configuration to the apps file by executing it
- cd /var/lib/docker/volumes/spark_report_spark-apps/_data
- sh ConfigureSyncApp.sh
...
Options | Details | Example |
---|---|---|
qmetry-host | QMetry DB Host Public IP/DNS | 10.10.11.100 |
qmetry-port | QMetry App MySQL DB Port. Enter 3306, unless QMetry DB port is different | 3306 |
qmetry-schema | QMetry App DB schema name. Enter : qmetry | qmetry |
qmetry-username | QMetry App DB username. Enter : root | root |
qmetry-password | QMetry App DB password. If it is unchanged from default, enter : qmetry | qmetry |
Reports-host | Enter the static docker IP : 10.5.0.7 as the IP address of QMetry Reports server | 10.5.0.7 |
Reports-port | Enter the port where reports DB is running. Enter : 3306 | 3306 |
Reports-schema | Enter the database schema name of QMetry Reports DB - | qtmanalytics |
Reports-username | Enter username of QMetry Reports DB | root |
Reports-password | Enter password of QMetry Reports DB - qmetryreports@!Nf0# | qmetryreports@!Nf0# |
server-port | Reports Sync Job runs from this port - recommended : 800080808000 | 8080 |
forceSync | Enter y to sync all the QMetry data to Reports DB with the current script. Always enter y at the time of fresh reports install | Type : y |
Enter Memory to allocate in GB(s) to Spark | Entered memory would be used by the sync job while running a full sync of data. Enter 3/4th of total memory available on server. For example, if memory on server is 24 GB, enter 18 | 18 |
...
After waiting for about a minute, command docker ps should return the following :
Step 4 - Restart Reports Services
- docker restart qmetry-reports qmetry-reports-db
Step 5 - Login to QMetry with 'admin' user login, and configure the reports server URL in the configuration menu
Go to QMetry > Customization > Insight Configuration
...
Your QMetry and Reports Installation is complete.
Installing Redis Caching Server
With the release of v8.5.2, QMetry is providing capability of installing Redis server. Overall performance and scalability can be improved using Redis caching. To install the Redis Server, refer to Installing Redis Caching Server.
...