External Repository for Tableau Resource Monitoring Tool

The Tableau Resource Monitoring Tool uses a PostgreSQL database as its repository to gather and store Tableau Server monitoring data that is used to provide performance and usage information.

Before the 2022.3 release, this PostgreSQL repository was automatically installed with the RMT Server, on the same machine as the RMT Server and this was the only option available. Starting in version 2022.3, you can reconfigure RMT Server to use an externally hosted PostgreSQL database instead of the locally installed database. When RMT Server is configured to use an externally hosted PostgreSQL database, we refer to it as the external repository.

The supported platform for hosting the external repository is an AWS RDS instance. Hosting the repository database externally allows you to manage the availability, backups, and disaster recovery of the repository component of the RMT Server.

With the addition of this option to configure an external repository, RMT Server can be configured in the following ways:

  • Continue to use the locally installed repository: This means that the PostgreSQL database that is automatically installed with RMT Server on the same machine will be used as the repository for RMT Server, and no further changes are made to this configuration.
  • Configure RMT Server to use an external repository: This means that the PostgreSQL database that RMT uses is hosted external to RMT Server. This requires making some configuration changes post installation. Currently only AWS RDS instances are supported as the hosting platform for PostgreSQL database.

In order to setup and manage the external repository, you should have a good understanding of the AWS RDS platform and PostgreSQL database. We recommend, you use the documentation on the AWS site for platform related instructions.

You will also need to know how to configure and manage the external repository configuration for Resource Monitoring Tool. This topic will provide you with that information in the sections below.

New installation of Resource Monitoring Tool

The instructions detailed in this section apply to a new installation of Resource Monitoring Tool. If you have an existing deployment of RMT, and want to move to an external repository configuration, see the Existing Resource Monitoring Tool installation section of this topic.

When you install RMT Server, it automatically installs the repository database on the same machine as the RMT Server. The process to configure the external repository is a post install configuration where you will reconfigure RMT Server to use an externally hosted PostgreSQL database.

Use the following steps to install Resource Monitoring Tool and reconfigure RMT Server to use an external repository:

  1. Create the external repository: Create an RDS instance to host the external repository with the following recommendations.

    • Minimum recommended PostgreSQL instance specifications:

      • db.m6g.2xlarge (8 vcpu, 32 GiB RAM)

      • SSD Storage with 500 GB disk space

    • Instance configuration values:
      • Max Worker Processes: Total Logical Processors

      • Max Workers Per Gather: Min(Total Logical Processors / 2, 4)

      • Max Parallel Workers: Total Logical Processors

      • Max Parallel Maintenance Workers: Min(Total Logical Processors / 2, 4)

      • Shared Buffers: Total Memory / 4

      • Effective Cache Size: 75% of Total Memory

      • Maintenance Work Memory: Total Memory / 16 Linux, Max 2GB - 1MB in Windows

      • Wal Buffers: Derived from Shared Buffers, likely around 16 MB

      • Work Memory: Derived from Shared Buffers and Max Workers Per Gather

    To learn how to create and connect to a PostgreSQL DB instance on AWS, see this page on AWS documentation site.

  2. Install RMT: Follow the instructions Install the RMT Server Using Command Line to Install RMT Server, but skip the steps for creating an environment. You will do that later after configuring RMT Server to use the external repository. Note that this will initially install a local PostgreSQL database.

  3. Test the connection to the external repository: Test the connection to the new database using psql, a PostgreSQL administrative tool that is installed with the RMT Server;

    Navigate to the 'bin' folder of the locally installed PostgreSQL installation directory.

    /var/opt/tableau/tabrmt/prerequisites/postgresql<version number>/bin

    Run the following command to test the connection. Substitute your own value below for aws_rds_servername, and provide the PostgreSQL password you created in AWS when prompted.

    psql -h <aws_rds_servername> -p 5432 -d postgres -U postgres

    If you receive an error at this point and cannot connect successfully, review the parameter values in the command against the values from the AWS RDS console.

    Once the connection has been successfully established, you can close the psql session with the following command:

    \q

  4. Run rmtadmin master-setup to configure RMT Server to use the external repository. Use the following command examples, and edit the command to reflect your Resource Monitoring Tool installation path, AWS RDS instance name, port number, and the RDS PostgreSQL admin user password:

    Navigate to the Resource Monitoring Tool RMT Server installation directory: sudo /var/opt/tableau/tabrmt/master

    Run the command to configure external repository: rmtadmin master-setup --db-config=external --db-server=aws_rds_servername --db-port=5432 --db-admin-username=postgres --db-admin-password='postgres_user_password'

  5. Now create an environment and download the bootstrap file:

    • Run the following command to create and environment:

      rmtadmin create-env --name=<myenvironment> --api-username=<TableauServer API user name> --api-password=<password for the Tableau Server API user account>

    • Download the bootstrap file to register Agents:

      rmtadmin bootstrap-file --env=<myenvironment> --filename<The absolute or relative path including the file name>

      The steps are described in full detail here: Install the RMT Server Using Command Line.

  6. Follow the instructions Install the Agent Using Command Line to Install and register Agents on Tableau Server Nodes.

Existing Resource Monitoring Tool installation

In this release, to configure external repo, you will essentially have to start with a new installation of Tableau Resource Monitoring Tool using the steps described in the above section.

Upgrade best practices

Here are the general steps you need to follow if you want to upgrade Tableau Resource Monitoring Tool and migrate to an external repository at the same time:

Migration with environment recreation:

  1. Upgrade RMT Server and all Agents to 2022.3 or later.
  2. Steps through 2-4 are very similar to the steps you would take to do a new install - see New installation of Resource Monitoring Tool above. This mainly involves:
    • Create an AWS PostgreSQL DB Instance.
    • Configure RMT Server to use the external repository.
    • Recreate environments and re-register all the Agents.
  3. Reconfigure any custom configurations.

Note: You will lose historical data and also need to reconfigure any custom configurations.

Upgrading when the new version of RMT requires a major version PostgreSQL upgrade

When there is a change in the PostgreSQL major version requirement for Resource Monitoring Tool, it is a best practice to upgrade the external repository PostgreSQL version first before you upgrade Resource Monitoring Tool. More details are provided below. To see if you should upgrade your external repository PostgreSQL version, see the product compatibility table.

Use the following steps to upgrade RMT and the RDS instance when a PostgreSQL major version upgrade is required

  1. Make a backup of your RDS instance. You will need this in case you need to roll back the upgrade. For more information, see Backing up and restoring an Amazon RDS DB instance topic on the AWS site.
  2. Make a copy of the configuration file in the Resource Monitoring Tool directory. The configuration file is located at:
    /var/opt/tableau/tabrmt/master/config.json
  3. Upgrade the RDS instance to the new version of PostgreSQL For more information, see Upgrading the PostgreSQL DB engine for Amazon RDS topic on the AWS site.
  4. Upgrade RMT Server. If the upgrade including the database migration completes successfully, proceed to the next step. If the upgrade fails, see the instructions in this section on how to recover and roll back the upgrade.
  5. Upgrade all the Agents on Tableau Server nodes to the new RMT version. For more information, see Upgrading Resource Monitoring Tool.

Recovering from a failed upgrade

  1. Uninstall the upgraded RMT Server.
  2. Restore the AWS RDS instance to the version previous to the upgrade. For more information, Backup up and restoring an Amazon RDS DB instance topic on the AWS site.
  3. Replace the config file that you backed up prior to upgrade in the following location. You may have to create this folder as it might have been deleted during uninstall:

    /var/opt/tableau/tabrmt/master/config.json

  4. Install RMT Server which installs a local repository.
  5. Configure RMT Server to use the external repository: rmtadmin master-setup --db-config=external --db-server=<aws_rds_servername> --db-port=5432 --db-admin-username=postgres --db-admin-password=<postgres_user_password> .

 

RMT and PostgreSQL version compatibility

This table lists RMT version 2022.3 and later only, since the external repository is only available from version 2022.3 and later.

RMT Version PostgreSQL Version shipped with RMT Supported PostgreSQL Version for external repository
2022.3 13.7 13.7

Who can do this

To install Resource Monitoring Tool, you must have all the following:

  • User account with full sudo access.
  • Tableau Server Administrator site role.
  • Resource Monitoring Tool Administrator account.
Thanks for your feedback!Your feedback has been successfully submitted. Thank you!