

This first stage of the Environment Watch and/or Data Grid Audit setup involves installing required third-party software from the Elastic stack. There are three Elastic components used for these two products:
Elastic component | Environment Watch | Data Grid Audit |
---|---|---|
Elasticsearch | Required | Required |
Kibana | Required | Recommended but optional |
APM Server | Required | Not used |
When you complete stage 1, there will be no integration between any of the Elastic components and Relativity when you complete this step. The integration will be set up during stage 2. Within stage 1, you will first set up and verify your Elasticsearch cluster and then proceed to set up Kibana and/or APM Server depending on whether you are configuring Environment Watch, Data Grid Audit, or both.
Stage 1 of this installation guide is based on a scenario where you are configuring a single shared Elasticsearch cluster to use for both Environment Watch and Data Grid Audit in a Tier 1 (Small) Relativity Server environment. The System Requirements section below includes additional details on software and hardware requirements based on the size of your Relativity Server environment and whether you are setting up Environment Watch, Data Grid Audit, or both.
Before you start, we will cover some key Elastic stack concepts.
Elasticsearch is a distributed search and analytics engine, scalable data store, and vector database built on Apache Lucene. It’s optimized for speed and relevance on production-scale workloads.
Elasticsearch is built on a distributed architecture made up of many servers or nodes. An Elasticsearch cluster is a group of one or more node instances that are connected together. Clustering enables Elasticsearch nodes to work together to ensure high availability when one or more nodes are down. An Elasticsearch cluster can continue operating normally if some of its nodes are unavailable or disconnected, as long as there are enough well-connected nodes to ensure high resilience and improved search performance.
See below for more information on Elasticsearch cluster configuration and high availability options:
An Elasticsearch node is a single server that is a part of a cluster. If you are running a single node of Elasticsearch, then you have a cluster of one node. A node can have one or many roles that define the role(s) it plays within the cluster. You define a node’s roles in the elasticsearch.yml file. The node role(s) is defined within the elasticsearch.yml . If you don’t set roles, the node is assigned to most available roles.
See here for more information on Elasticsearch node settings and roles.
The two key roles for an Environment Watch and/or Data Grid Audit cluster are master and data.
Every Elasticsearch cluster requires at least one node designated master and data.
Kibana is a user interface that lets you visualize your Elasticsearch data and navigate the Elastic stack. See below for more information on Kibana.
The APM Server provides a fully Open Telemetry compliant telemetry backend to periodically receive log, metric, and trace data from each monitored server.
See here for more information about Elastic’s APM Server.
Setting up your Elastic stack components will require you to install Elastic software on one or more servers. This installation guide is based on a scenario where you are configuring a single shared Elasticsearch cluster to use for both Environment Watch and Data Grid Audit in a Tier 1 (Small) Relativity Server environment. In this scenario you will be installing Elastic on five separate servers as pictured below. The Hardware Requirements by Instance Tier section below provides hardware guidance based on the size of your Relativity Server environment and whether you are setting up Environment Watch, Data Grid Audit, or both.
Tier 1 environment used for Environment Watch and Data Grid Audit
Any server being used to host Elastic components requires:
The number of servers and hardware specifications that you need to host the Elastic components will vary depending on the size of your Relativity instance and whether you intend to use the cluster for Environment Watch, Data Grid Audit, or both. Below you will find recommendations based on four Relativity Server instance tiers. These are only recommendations. You can adjust the node counts and role blends for your environment based on observed and desired performance and reliability needs.
A few other key notes and reminders:
Tier Definitions
The instance tiers are defined by the number of Web, Agent, and Worker servers in the instance.
Tier | Web Servers | Agent Servers | Workers |
---|---|---|---|
0 - Test | Single device | ||
1 - Small | 1 | 4 | 1 |
2 - Medium | 2-4 | 5-9 | 2-9 |
3 - Large | 5+ | 10+ | 10+ |
Elastic component | Server Count | CPU | RAM (GB) | Disk (TB) |
---|---|---|---|---|
Environment Watch Only | ||||
Elasticsearch nodes | 2 | 4 | 32 | 1 |
Kibana | 1 | 4 | 32 | 1 |
APM Server | 1 | 4 | 32 | 1 |
Data Grid Audit Only | ||||
Elasticsearch nodes | 2 | 4 | 32 | 1 |
Kibana (optional) | 1 | 4 | 32 | 1 |
APM Server | N/A | - | - | - |
Environment Watch and Data Grid Audit | ||||
Elasticsearch nodes | 3 | 4 | 32 | 1 |
Kibana | 1 | 4 | 32 | 1 |
APM Server | 1 | 4 | 32 | 1 |
Elastic component | Server Count | CPU | RAM (GB) | Disk (TB) |
---|---|---|---|---|
Environment Watch Only | ||||
Elasticsearch nodes | 3 | 4 | 32 | 2 |
Kibana | 1 | 4 | 32 | 2 |
APM Server | 1 | 4 | 32 | 2 |
Data Grid Audit Only | ||||
Elasticsearch nodes | 3 | 4 | 32 | 2 |
Kibana (optional) | 1 | 4 | 32 | 2 |
APM Server | N/A | - | - | - |
Environment Watch and Data Grid Audit | ||||
Elasticsearch nodes | 6 | 4 | 32 | 2 |
Kibana | 1 | 4 | 32 | 2 |
APM Server | 1 | 4 | 32 | 2 |
Elastic component | Server Count | CPU | RAM (GB) | Disk (TB) |
---|---|---|---|---|
Environment Watch Only | ||||
Elasticsearch nodes | 4 | 4 | 32 | 4 |
Kibana | 1 | 4 | 32 | 4 |
APM Server | 1 | 4 | 32 | 4 |
Data Grid Audit Only | ||||
Elasticsearch nodes | 1-15 (scale on demand) | 4 | 32 | 2 |
Kibana (optional) | 1 | 4 | 32 | 2 |
APM Server | N/A | - | - | - |
Environment Watch and Data Grid Audit | ||||
Elasticsearch nodes | 4 -18 (scale on demand) | 4 | 32 | 4 |
Kibana | 1 | 4 | 32 | 4 |
APM Server | 1 | 4 | 32 | 4 |
Environment Watch only requires a free and open ("Basic") Elastic license. By default, new installations have a Basic license that never expires. If you would like to utilize additional Elastic features from the Platinum or Enterprise subscription, you will need to purchase the license separately.
If you have used Elasticsearch for the optional Data Grid Audit feature on Relativity Server prior to April 2025, you would have been using a Platinum license key provided by Relativity. Effective with Server 2024 Patch 1, the Platinum license is no longer required for Data Grid Audit and Relativity will not provide a Platinum license for any new deployments of Data Grid Audit. All existing Data Grid Audit customers will have until early 2026 to adopt Relativity Server 2024 and update to a Basic Elastic license.
Download Elasticsearch
bin\elasticsearch.bat
.\bin\elasticsearch-service.bat install
Configure elasticsearch.yml on Each Node
The cluster name must be the same across all node servers. The value of the cluster.initial_master_nodes parameter should be the domain name of the master node server. The discovery.seed_hosts parameter should include the domain names of all servers where Elasticsearch will be set up.
a. Configuration in elasticsearch.yml file of master node
Add the following parameter in the elasticsearch.yml file
node.roles: [ master ]
discovery.seed_hosts: ["domain name of master node server", "domain name of data node server", "domain name of data node server"]
cluster.initial_master_nodes: ["domain name of master node server"]
http.host: 0.0.0.0
transport.host: 0.0.0.0
network.host: 0.0.0.0
b. Configuration in elasticsearch.yml file of data node
Add the following parameter in the elasticsearch.yml file
node.roles: [ data ]
discovery.seed_hosts: ["domain name of master node server", "domain name of data node server", "domain name of data node server"]
cluster.initial_master_nodes: ["domain name of master node server"]
http.host: 0.0.0.0
transport.host: 0.0.0.0
network.host: 0.0.0.0
path.data: X:/ElasticData
path.logs: X:/ElasticLogs
Note: Where X shouldn't be C Drive or Temporary Storage Drive
Set JVM Heap Size
-Xms8g
-Xmx10g
Run Elasticsearch as a Windows Service
.\bin\elasticsearch-service.bat start
Generate SSL Certificates (Self-Signed or CA-Signed)
.\bin\elasticsearch-certutil.bat http
Enable HTTPS for Elasticsearch
xpack.security.enabled: true
xpack.security.http.ssl.enabled: true
xpack.security.http.ssl.keystore.path: certs/http.p12
xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.verification_mode: certificate
xpack.security.transport.ssl.keystore.path: certs/transport.p12
xpack.security.transport.ssl.truststore.path: certs/transport.p12
Restart Elasticsearch Services on All Nodes
.\bin\elasticsearch-service.bat restart
Create Elastic User Passwords
.\bin\elasticsearch-reset-password -u elastic
Download Kibana
Start Kibana from the command line
.\kibana.bat
Enroll Kibana
Generate Kibana encryption keys
.\kibana-encryption-keys generate
Create Kibana Windows Service
Rename Kibana Service Using NSSM
Enable HTTPS for Kibana
Encrypt Traffic Between Kibana and Elasticsearch
elasticsearch.ssl.verificationMode: certificate
elasticsearch.ssl.certificateAuthorities: certs/ca.crt
Restart the Kibana service from Windows Services
Download APM Server
Configure APM Server (config\apm-server.yml) In the "Elasticsearch output" section, perform the below changes:
apm-server:
host: "0.0.0.0:8200"
output.elasticsearch:
hosts: ["<https://192.168.1.101:9200>"]
username: "elastic_username"
password: "elastic_password"
ssl.certificate_authorities: certs/ca.crt
Execute required scripts to install APM service
a. Navigate inside the downloaded apm-server.
Open the PowerShell or Command prompt in administrator mode.
Execute PowerShell.exe -ExecutionPolicy UnRestricted -File .\install-service.ps1 to install the APM_Server.
Start the APM Server service Navigate to apm-server folder and execute "Start-Service apm-server" command in PowerShell/Command prompt using admin rights.
Add Elastic APM Integration
Login to Kibana and select the Elastic APM under the Integration or in search bar type Elastic APM and select under Integration.
In the Right top select Add Elastic APM button.
Add Integration name into it and for server configuration [MUST ENSURE THE HOSTNAME IS USED - NOT LOCALHOST]. Update apm hostname and apm url
Ex: Host:192.168.1.101:8200
URL: http://192.168.1.101:8200
Click on Save and Continue.
Select "Add Elastic Agent later" button as Agent is not required for the initial setups.
Refresh and Verify the "publish_ready" property is true
curl -k -u elastic:your_password <https://192.168.1.101:9200/_cluster/health?pretty>
curl -k -X GET "<http://192.168.1.101:8200>"
After setting up Elastic proceed to stage 2: Use the Relativity Server CLI to setup Environment Watch and/or Data Grid
On this page
Why was this not helpful?
Check one that applies.
Thank you for your feedback.
Want to tell us more?
Great!