Skip to main content

Disaster Recovery Preparation

Important

If you’re running a version of Server listed in the table below, the process in this guide is not required and the Server Host Recovery Guide can be followed for disaster recovery if a copy of your machine’s RuntimeSettings.xml and MongoDB are available.

Alteryx Server Versions to use Server Host Recovery Guide

2021.4.2.47792 (Patch 4) or earlier versions or patches

2022.1.1.42590 (Patches 1 and 2)

Disaster Recovery Preparation – RuntimeSettings.xml

Due to recent changes in encryption methods (TGAL-6764), users must now proactively prepare for a disaster recovery scenario where the original Alteryx Server Controller node is no longer available. This guide will walk you through the procedure to prepare the RuntimeSettings.xml file on a backup controller node to be used for disaster recovery.

Note

This guide does not cover creating a backup of the Persistence layer required for disaster recovery. For more information on Server backup and recovery for embedded MongoDB, please see the Server Backup & Restore Best Practices: Part 1 and Part 2. For user-managed MongoDB instances, please contact your MongoDB administrator.

Important

Throughout this document, 2 machines will be referenced:

  • Original: The current machine running Alteryx Server.

  • Target: The backup machine to be used for disaster recovery. This machine does not require an Alteryx Server license to be used as a backup machine.

Prerequisites

  • Administrator access to original and target machines.

  • Original machine must be operational and Alteryx Service must be running.

Original Machine

Compatible Target Machines

2021.4.2.47792 (Patch 5) or newer patch

2021.4.2.47884 (Patch 11) or newer patch of 2021.4 version

2022.1.1.42590 (Patch 3) or newer patch

2022.1.1.42691 (Patch 9) or newer patch of 2022.1 version

2022.3.1.430 (Server GA) or newer patch

2022.3.1.553 (Patch 6) or newer patch of 2022.3 version

2023.1.1.123 (Server GA) or newer patch

2023.1.1.247 (Patch 2) or newer patch of 2023.1 version

All newer and future versions of Alteryx Server

Any GA or patch release as long as the original machine and target machine are on the same version and patch.

Step 1: Install Alteryx Server

#

Step

Details

1.1

Can you upgrade or install the latest version and patch of Alteryx Server on your original and target machines?

YES: Upgrade or install the latest version and patch of Alteryx Server on your original and target machines. Configure your original machine as normal.

Go to step 2.1.

Note

You do not need to configure Alteryx Server post installation on your target machine as this process does not require it to be licensed.

NO: Continue to step 1.2.

1.2

Can you upgrade your original and target machines to the latest patch for that version?

YES: Patch your original machine with the newest patch for its major version and install the latest matching version and patch on your target machine. For example, if you’re on 2022.3 Patch 3, install the newest patch that’s available for 2022.3. 

Go to step 2.1.

Note

You do not need to configure Alteryx Server post installation as this process does not require it to be licensed.

NO: Continue to step 1.3.

1.3

Is the version of Alteryx Server on your original machine listed in the Compatible Target Machines list in the Prerequisites section?

YES: Install or upgrade the target machine to the exact same major and patch version that exists on the original machine. Use the full install file opposed to the patch install.

If needed, please contact fulfillment@alteryx.com to request the needed install file.

Go to step 2.1.

Note

You do not need to configure Alteryx Server post installation as this process does not require it to be licensed.

NO: Continue to step 1.4

1.4

Install the newest patch version of Alteryx Server on target machine.

Install or upgrade the target machine to the newest patch available for the major version the original machine is on (for example, if original machine is on 2022.3 Patch 3, install the newest patch of 2022.3 on the target machine).

Go to step 2.1.

Note

You do not need to configure Alteryx Server post installation as this process does not require it to be licensed.

Step 2: Prepare and Copy Controller Token and RuntimeSettings.xml

#

Step

Details

2.1

Find Controller Token length on the original machine.

In Alteryx System Settings > Controller > General, select View. Record the length of the Controller Token.

Note

In some versions, the Controller Token is partially obscured. Double-click on the Token to highlight it in its entirety, then copy/paste into a text document to determine its length.

2.2

Is your Controller Token 40 characters long?

YES: Go to Alteryx System Settings > Controller > General > select Regenerate.

NO: Go to step 2.5.

2.3

Restart AlteryxService.

Browse through the rest of Alteryx System Settings and select Finish. This will restart the AlteryxService.

2.4

Reconnect additional nodes (if applicable).

If you have a multi-node setup, use the newly regenerated Controller Token to reconnect all your nodes to your Controller node.

2.5

Save and copy Controller Token from the original machine.

For Controller Token, go to Alteryx System Settings > Controller > General > Token > View.

Copy and save the Controller Token to a text document. Then copy the text document to a location of your choice on your target machine.

Note

In some versions, the Controller Token is partially obscured. Double-click on the Token to highlight it in its entirety, then copy/paste into a text document.

2.6

Copy RuntimeSettings.xml from the original machine.

Copy the RuntimeSettings.xml file from %ProgramData%\Alteryx on your original machine to a location of your choice on your target machine.

Important

Do not copy the file to %ProgramData%\Alteryx on the target machine and do not modify the file.

Step 3: Recover RuntimeSettings.xml

#

Step

Details

3.1

Open Command Prompt to bin folder on the target machine.

Open a Command Prompt as an Administrator and navigate to the Alteryx\bin install folder. The commands in this section all need to be run from this folder.

Note

If you’re unsure of the location of this folder, check the properties of the ‘Alteryx System Settings’ shortcut, as the file it points to is in the desired folder.

Default location: C:\Program Files\Alteryx\bin.

3.2

Stop AlteryxService.

Enter the command:

net stop alteryxservice

If the AlteryxService was running, on success you should see "The AlteryxService service was stopped successfully."

If the AlteryxService was stopped, you should see “The AlteryxService service is not started.”

Leave this window open.

3.3

Backup existing RuntimeSettings.xml on the target machine.

Rename the target machine %ProgramData%\Alteryx\RuntimeSettings.xml to RuntimeSettings_BACKUP.xml as a backup.  

If RuntimeSettings.xml doesn’t exist, go to step 3.4.

3.4

Restore RuntimeSettings.xml.

Copy/paste the RuntimeSettings.xml file copied from your original machine in step 2.6 to %ProgramData%\Alteryx on your target machine.

Note

Make sure to copy file. Do not move/cut it as the file will be needed in its original state throughout this guide.

3.5

Clear Controller Token.

Edit %ProgramData%\Alteryx\RuntimeSettings.xml on your target machine.

Delete everything between the <ServerSecretEncrypted> tags, leaving just the tags as shown below:

DR_best_practices_01.png

3.6

Save RuntimeSettings.xml.

Save RuntimeSettings.xml on your target machine.

3.7

Restore Controller Token.

Back in the Command Prompt opened in step 3.1, enter the following command using the Controller Token from your original machine gathered in step 2.5:

AlteryxService.exe setserversecret=CONTROLLER_TOKEN_FROM_ORIGINAL_SERVER

Troubleshooting: Version 2021.3+ can error on this step with: "Set server secret failed: Error in CryptImportKey(3): Bad Data. (-2146893819)". To correct this, see steps 3.5 - 3.6 to ensure you removed the value from between the tags.

3.8

Clear Storage Keys.

Edit %ProgramData%\Alteryx\RuntimeSettings.xml located on your target machine again.

Delete everything between the <StorageKeysEncrypted> tags, leaving just the tags as shown below:

DR_best_practices_02.png

3.9

Restore Storage Keys.

Copy the <StorageKeysEncrypted> value from the RuntimeSettings.xml from step 2.6 and paste it between the <StorageKeysEncrypted> tags in RuntimeSettings.xml on your target machine. The length of this value varies by version. See examples below:

DR_best_practices_03.png

3.10

Save RuntimeSettings.xml.

Save RuntimeSettings.xml on your target machine.

3.11

Restore Run As User.

If you had a Run As User on the original Server, enter the following command, otherwise skip this step:

AlteryxService.exe setexecuteuser=NAME,DOMAIN,PASSWORD

3.12

Restore SMTP Password.

If you had filled in Alteryx System Settings > Server UI > SMTP > Password (even if the SMTP checkbox was unchecked), enter the following command, otherwise skip this step:

AlteryxService.exe setsmtppassword=PASSWORD

3.13

Restore Encryption Key.

Important

This requires the AlteryxService to be running on your original Server Controller node and your new Server will need to be able to access it over the network.

The steps in Encryption Key Transfer Process will allow you to transfer the encryption key from your original machine to your target machine. Note that the last step in Encryption Key Transfer Process requires you to restart the Service which is not possible in some cases where the target machine is not licensed.

Done! The RuntimeSettings.xml file on the target machine can now be used in a disaster recovery scenario where the original machine is no longer available. Keep in mind that RuntimeSettings.xml that was prepared in step 3 will only work on your target machine using a MongoDB that was used on your original machine.

Future Considerations

After this process, as you upgrade your original machine to newer versions of Server, you will also need to upgrade your target machine to the same version and patch to ensure the best results in a disaster recovery scenario.

If you change the controller token on your original machine, you will need to re-do steps 2 and onward to ensure the target machine and original machine controller tokens match.