Enable Data Grid Audit
This section applies to Datagrid Only.
After installing the required Elastic components for Data Grid Audit, the integration between Elastic and Relativity is configured by running the Relativity Server CLI on the Primary SQL Server.
Please review the following important information before proceeding:
- For Existing Data Grid Audit Customers: You must be on Elasticsearch 7.17 or later the first time you run the Relativity Server CLI for Data Grid Audit against this cluster — this applies regardless of how long Data Grid Audit has been in use.
- Before upgrading to Elasticsearch 8.x or 9.x, the
ESIndexCreationSettingmay need to be updated. For details, refer to the Instance setting Details. - Always verify the minimum required Elasticsearch version in your specific release bundle, as it may differ from the versions mentioned here.
Prerequisites
-
Install the mapper-size plugin on all nodes in the Elasticsearch cluster (instructions available here). The Elasticsearch service must be restarted on each node after installing the plugin.
-
The Server-bundle zip file has been downloaded and extracted to
C:\Server.Bundle.x.y.z -
Verify that the InfraWatch Services application is installed in the Relativity instance (this RAP is delivered as part of the base Relativity Server 2024 installation package). To confirm, open the Relativity Application Library and verify that InfraWatch Services appears in the installed application list.
-
Network accessibility from the SQL Primary server — The CLI runs on the SQL Primary server and makes outbound HTTPS connections to both Relativity and Elasticsearch. Before running the CLI, verify that both endpoints are reachable from the SQL Primary server:
CopyTest-NetConnection -ComputerName <relativity-hostname> -Port 443
Test-NetConnection -ComputerName <elasticsearch-masternode-hostname> -Port 9200Example output:
CopyPS C:\Users\relserviceaccount> Test-NetConnection -ComputerName <relativity-hostname> -Port 443
ComputerName : <relativity-hostname>
RemoteAddress : <relativity-ip-address>
RemotePort : 443
InterfaceAlias : Ethernet 3
SourceAddress : <sql-primary-ip-address>
TcpTestSucceeded : True
PS C:\Users\relserviceaccount> Test-NetConnection -ComputerName <elasticsearch-masternode-hostname> -Port 9200
ComputerName : <elasticsearch-masternode-hostname>
RemoteAddress : <elasticsearch-masternode-ip-address>
RemotePort : 9200
InterfaceAlias : Ethernet 3
SourceAddress : <sql-primary-ip-address>
TcpTestSucceeded : TrueBoth must return
TcpTestSucceeded : Truebefore proceeding. If either fails, resolve the network or firewall issue before continuing. -
SSL/TLS certificate trust — SQL Primary server — The SSL certificates for both Relativity and Elasticsearch must be trusted on the SQL Primary server before running the CLI. Certificate trust on all other servers (Web Servers, Agent Servers) is covered in prerequisite 6.
Relativity SSL certificate:
- The SSL certificate must be trusted on the SQL Primary server, and must be issued to the same hostname you provide as the Relativity instance URL. A mismatch between the certificate hostname and the URL will cause SSL validation to fail even if the certificate itself is valid.
- To verify from the SQL Primary server (curl will prompt for the password):
Copy
curl.exe -v -u <relativity-admin-username> "https://<relativity-hostname>/Relativity/" - Success — any HTTP response, including
401 Unauthorized, confirms the TLS handshake completed and the certificate is trusted:Copy* SSL connection using TLSv1.2 / ...
< HTTP/1.1 401 Unauthorized - Failure — a
curl: (60)error means the certificate is not trusted on this server:Copycurl: (60) SSL certificate problem: unable to get local issuer certificate
Elasticsearch SSL certificate:
- The Elasticsearch cluster certificate must be trusted on the SQL Primary server.
- To verify from the SQL Primary server (
--ssl-no-revokebypasses CRL/OCSP revocation checks, which often fail in environments where revocation endpoints are unreachable):Copycurl.exe --ssl-no-revoke -u <elasticsearch-admin-username> "https://<elasticsearch-masternode-hostname>:9200/" - Success — any HTTP response body confirms the certificate is trusted.
- Failure — a
curl: (60)error means the certificate is not trusted:Copycurl: (60) SSL certificate problem: self-signed certificate in certificate chain
If either command returns a
curl: (60)error, import the relevant CA certificate into the Windows Trusted Root Certification Authorities store on the SQL Primary before proceeding. See SSL/TLS Certificate Issues for import instructions.If using a private CA certificate: After importing the certificate, if the CLI still fails with an SSL or connection error, .NET Framework 4.x on the server may be defaulting to TLS 1.0/1.1, which is rejected by corporate HTTPS endpoints. Set the following registry keys on the SQL Primary server and reboot before retrying the CLI. See TLS Version Mismatch for full steps.
Registry Key Value Name Value HKLM\SOFTWARE\Microsoft\.NETFramework\v4.0.30319SchUseStrongCrypto1(DWORD)HKLM\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319SchUseStrongCrypto1(DWORD) -
SSL/TLS certificate trust — Web Servers and Agent Servers — The Elasticsearch SSL certificate must also be trusted on every Web Server and Agent Server in the Relativity environment. ARM jobs that include Data Grid content communicate directly with Elasticsearch from Agent Servers and will fail with 401/SSL errors if the certificate is not trusted there. SQL Secondary servers do not require the Elasticsearch CA certificate — they do not make direct connections to Elasticsearch for Data Grid Audit setup or operation.
For each Web Server and Agent Server:
- Import the Elasticsearch CA certificate into the Windows Trusted Root Certification Authorities store. See SSL/TLS Certificate Issues for import steps.
- Restart all Relativity services on the host (
kCura Edds Agent Manager,kCura Edds Web Processing Manager,kCura Service Host Manager).
A working Audit tab does not confirm that Agent Servers have the certificate — the Audit tab communicates through the web tier, while ARM agents connect to Elasticsearch directly.
-
Relativity admin account permissions — The Relativity admin account used with the CLI must:
- Be a member of the System Administrators group in Relativity.
- Have read/write access to the Secret Store.
- Not have two-factor authentication (2FA) enabled. The CLI cannot complete an interactive 2FA challenge. Using an account with 2FA enforced will result in authentication failures during setup.
- The CLI must be run from an elevated (Run as Administrator) command prompt or PowerShell on the SQL Primary server — see Step 1 of the setup instructions.
If the Relativity password provider has Trusted IP Address restrictions configured, add the SQL Primary server's IP address to the trusted IP list before running the CLI. Authentication requests originate from the SQL Primary server and will be blocked for unlisted IPs even with valid credentials.
-
Elasticsearch admin account — The Elasticsearch credential provided to the CLI must have superuser privileges (or equivalent cluster-level read/write permissions). Using a limited-privilege account will result in
Unauthorizederrors during API key creation and index operations. -
Instance URL requirements — Providing the wrong Relativity or Elasticsearch URL is one of the most common causes of setup failure. Review these requirements before running the CLI.
Relativity instance URL:
- Use the load balancer or primary web server hostname that is reachable from the SQL Primary server, in the format
https://<domainurl>/Relativity. - Do not use a private or internal hostname that resolves differently from the SQL server than from workstations. The CLI makes REST API calls from the SQL Primary server, so the URL must resolve and be routable from that machine.
- The URL must use HTTPS and the certificate at that hostname must be trusted on the SQL Primary server (see prerequisite 5).
- Example:
https://<domainurl>/Relativity
Elasticsearch cluster endpoint URL:
- Use the master node hostname — do not use a data node URL. The CLI communicates with the cluster through the master/coordinating node, which handles cluster-level operations such as API key creation and index management.
- The default port is
9200. The URL must use HTTPS if TLS is enabled on the cluster. - Use a hostname that matches the Subject Alternative Name (SAN) or Common Name (CN) on the Elasticsearch TLS certificate. Using an IP address or alternate hostname not covered by the certificate will cause a certificate mismatch (SSL error) even if the certificate is otherwise trusted.
- Example:
https://<elasticsearch-masternode-hostname>:9200
Tip: If your environment uses a load balancer in front of Elasticsearch, confirm that the load balancer certificate covers the hostname you are providing, and that the backend nodes are also individually accessible for certificate validation. When in doubt, use the individual node hostname that matches the certificate CN/SAN.
- Use the load balancer or primary web server hostname that is reachable from the SQL Primary server, in the format
Set up instructions
The CLI setup is safe to re-run. If a run fails partway through, simply re-execute .\relsvr.exe setup — no manual cleanup is needed. The CLI will recreate API keys, update secrets, and reapply all configuration from the beginning. There is no partial state that needs to be removed before retrying.
Follow these steps to set up Data Grid Audit using the Relativity Server CLI. All setup will occur on the SQL Primary server.
-
Open an elevated command prompt or PowerShell on the SQL Primary server (right-click | Run as Administrator). Run the following command and select DataGrid:
CopyC:\Server.Bundle.x.y.z\relsvr.exe setup
Relativity Server CLI - 24.0.1196
Copyright (c) 2025, Relativity ODA LLC
What would you like to setup?
> DataGrid
Environment watch
Exit -
Enter the required Relativity and Elasticsearch parameters.
CopyConfirm you would like to perform the 'DataGrid' setup [y/n] (y): y
Existing settings do not exist
Enter the Relativity admin username (<relativity-admin-username>): <relativity-admin-username>
Enter the Relativity admin password: *********
Enter the Relativity instance url (https://<domainurl>/Relativity): https://<domainurl>/Relativity
Relativity instance is verified
Enter the Elasticsearch admin username (elastic): elastic
Enter the Elasticsearch admin password: *********
Enter the Elasticsearch cluster endpoint URL (https://<elasticsearch-masternode-hostname>:9200): https://<elasticsearch-masternode-hostname>:9200Parameter Description Example Relativity admin username The username of a Relativity System Administrator account. Must use Forms Authentication with two-factor authentication disabled. <relativity-admin-username>Relativity admin password The password for the Relativity admin account. Relativity instance URL The HTTPS URL of the Relativity web server or load balancer, reachable from the SQL Primary server. Must end with /Relativity.https://<domainurl>/RelativityElasticsearch admin username The username of an Elasticsearch account with superuser privileges. elasticElasticsearch admin password The password for the Elasticsearch admin account. Elasticsearch cluster endpoint URL The HTTPS URL of the Elasticsearch master. Do not use a data node URL. The hostname must match the CN/SAN on the Elasticsearch TLS certificate. Default port is 9200.https://<elasticsearch-masternode-hostname>:9200 -
Wait for Setup to Complete.
CopyElasticsearch cluster endpoint URL is verified
Elasticsearch plugin verified
API Key creation and validation completed ------------------------- 100%
Relativity instance setting validation completed ------------------ 100%
Relativity secret store updated ----------------------------------- 100%
Elastic Stack settings validation completed ----------------------- 100%
Relativity toggles validation completed --------------------------- 100%
The Relativity Data Grid setup has been completed. Please restart all Relativity services, including "kCura Edds Agent Manager," "kCura Edds Web Processing Manager," and "kCura Service Host Manager" on each server contained within this Relativity instance to complete the setup.If the setup completes successfully, Datagrid is now configured for the environment.
Warning: Before restarting services, check whether the NewDataGridMigratorToggleOverwrite instance setting exists in your Relativity instance. If it is present, it must be set to True before running any ARM jobs — otherwise ARM jobs will fail during the Audit Migration stage and may time out and discard all migration progress. If the setting is not present, no action is required.
-
Restart the following Relativity services on all machines in the Relativity instance:
kCura Edds Agent Manager,kCura Edds Web Processing Manager, andkCura Service Host Manager. -
Verify the Audit setup — navigate to the Audit tab in the Relativity environment and confirm all of the following:
- Recent audit events are visible and populating (new user actions appear within a few minutes).
- No error banners or "Elasticsearch connection failed" messages are displayed.
- Audit search returns results without errors.
On this page