Migrate a Multi-Tenant Deployment for High Availability
Instructions for migrating your Cortex XSOAR Multi-tenant deployment to enable High Availability.
To migrate a multi-tenant deployment from BoltDB to Elasticsearch with High Availability, there are two steps. First, you use the Cortex XSOAR migration tool to migrate the databases. Then you set up additional app servers to achieve high availability.
The migration tool migrates Cortex XSOAR objects to an Elasticsearch database. When you run the migration tool, the contents of the Cortex XSOAR database are read, and a corresponding object is created in Elasticsearch. The migration tool is run from the main machine and each host machine. Migrate the main account on the main host, then the tenants on the main host, and then proceed to other hosts and tenant accounts. For complex environments with multiple host machines, we recommend migrating all tenants on a host before proceeding to the next host.
You cannot run more than one migration tool process at a time.
When you run the migration tool, parameter values identified in the
demisto.conffile override values supplied for tool flags and default values. If no value exists in the
demisto.conffile, values supplied in the tool flags override default values, but do not write the values to the
demisto.configfile. For example, if the db-path is identified in the configuration file, the tool will use the value in that file, not the value supplied or the default value, when running the tool.
If you are upgrading from Cortex XSOAR 6.0 to 6.1 and you have indicators and audits stored in Elasticsearch in Cortex XSOAR 6.0, upgrade from Cortex XSOAR 6.0 to 6.1 before the migration. Do NOT start the server. Then follow the migration instructions below.
Before you begin, ensure the following:
- All app servers have network access to port 9200 for communication with Elasticsearch.
- All app servers have network access to each other over port 443.
Download the migration tool
To download the migration tool, append
downloadName=elasticsearch_migration_tool_6_1_0to the end of the download link that you received.
Configuration file parameters
The elasticsearch object should be a top-level object in the
demisto.configconfiguration file (within the main curly brackets).
Migration tool flags
A comma-separated list of accounts to migrate. If not specified, all accounts are migrated.
The path to the configuration file for the server. Default: /etc/demisto.conf.
The path to the database directory. Default: /var/lib/demisto.
The number of indicators per batch to write to Elasticsearch indexes. Default: 700.
The index prefix used in Elasticsearch.
The API key to connect to Elasticsearch.
Required (unless a username and password are used)
The password to connect to Elasticsearch.
required(unless API key is used)
The URL of your Elasticsearch environment. Default: http://localhost:9200.
The username to connect to Elasticsearch.
required(unless API key is used)
The path to the file with the IDs to ignore, per object.
The log level to display. Default: info.
The location of the log file.Default: /var/log/demisto/elastic_migration.log
By default, the Elasticsearch tool checks existing indexes and migrates only the ones that are new. Using this flag, the Elasticsearch tool migrates all indexes even if they currently exist. This is useful, for example, if there was an error or invalid data that was fixed. When used, the objects-to-migrate and objects-to-ignore flags are ignored.
Comma-separated list of objects not to migrate. When the migrate-all flag is used, this flag is ignored.
Comma-separated list of objects to migrate. When the migrate-all flag is used, this flag is ignored.
Comma-separated list of partitions to migrate. If no partitions are specified, all partitions are migrated.
Show results of the previous migration.
Does not migrate multi-tenant accounts. When set to true, only the main tenant or host database are migrated.
Existing indicators are not modified during the migration.
Does not migrate the main host or host database.
Prints the migration tool version.
Answers yes to all questions, unless there is an error.
In the BoltDB, data related to incidents and indicators is stored in partitions by month. To minimize downtime during the migration, we recommend you create a copy of the database, then migrate data that is older than three months from the copy, while continuing to work in your current environment. Once the initial migration is completed, you should then migrate the last three months.
- Copy thedemisto.licfile from the/usr/local/demistodirectory on the main host to the/var/lib/demistodirectory.
- Add the following entry in thedemisto.conffile:license.file.path:"/var/lib/demisto"
- Follow the migration instructions for multi-tenant deployments.If you used Elasticsearch to store indicators and audits in Cortex XSOAR 6.0 prior to upgrade, ensure thedemisto.conffile is up-to-date with the Elasticsearch object before migration. To avoid overwriting indicators that might already exist in Elasticsearch, you must run the migration with the-objects-to-ignore "newInsights"flag. If you already migrated audits in a previous version, you must run the migration with the-objects-to-ignore "newInsights, audits"flag.
High Availability - Main Host
The main account cannot be High Availability if it has tenant accounts. Move any tenant accounts from the main host to another host before proceeding.
- Edit thedemisto.conffile to set the app server’s hostname:Under the Server object, set the value of the inClusterHostname parameter to the desired hostname.
- (Optional) Apply a certificate.
- (Optional) Install additional app servers.Verify that the clocks on the app servers are synchronized with an NTP server.
High Availability - Hosts
Add hosts to a HA group:
All hosts in the HA Group must have the same hardware specifications.
- Configure a shared directory, using the network file sharing solution of your choice, on each host. Make sure that the/var/lib/demistodirectory is configured as a shared folder. If you are using a location that is different from the default/var/lib/demisto, you must install the additional hosts using the-data-dirflag. For the existing host, follow instructions to Move Data Folders to Another Location on the Server.
- In the Main host, navigate to the Hosts page, under. A list of all of the hosts, including those you have migrated, will be displayed.SettingsAccount Management
- Select the Host for which you want to create an HA group and clickMake Host Highly Available.
- In the window that appears, clickDownload Host Installer.
- Use this dedicated installer for installing additional hosts to this HA group. The new hosts will automatically be configured to connect to the relevant Elasticsearch index.
Recommended For You
Recommended videos not found.