Tableau Resource Monitoring Tool 的外部消息队列服务 (RabbitMQ)

Tableau Resource Monitoring Tool 使用 RabbitMQ 作为它的消息队列服务,从代理收集数据,并将它们带到 RMT Server。队列中的信息经过处理,最终存储在 RMT 存储库(PostgreSQL 数据库)中。

在版本 2022.3 之前,RabbitMQ 消息队列服务是自动随 RMT Server 安装的,这是唯一可用的配置。从 RMT 版本 2022.3 开始,您可以重新配置 RMT Server 以使用外部托管的 RabbitMQ 服务。当 RMT Server 配置为使用外部托管的消息队列服务时,我们称之为外部消息队列服务。

在版本 2022.3 中添加了这个新选项后,RMT Server 可以通过以下方式进行配置:

  • 继续使用本地安装的消息队列服务:这意味着与 RMT Server 自动安装在同一台计算机上的 RabbitMQ 将被用作 RMT Server 的消息服务,并且不对该配置进行进一步的更改。
  • 配置 RMT Server 使用外部消息队列服务:这意味着 RMT 使用的 RAbbitMQ 是托管在 RMT Server 外部的。目前只有 AWS AMQ 支持作为 RabbitMQ 的托管平台。由于来自代理的所有消息都要通过 RabbitMQ,因此通过在外部托管 RabbitMQ,可以从安装 RMT Server 的计算机上释放资源。

若要设置和管理外部消息队列服务,您应该对 AWS AMQ 平台有很好的了解。我们建议查看 AWS 网站上的文档。您还需要知道如何为 RMT 配置和管理外部消息队列服务。本主题将在以下部分为您提供相关信息。

Resource Monitoring Tool 的新安装

此部分中提供的说明适用于 Resource Monitoring Tool 的新安装。如果您已有现有安装,并希望将本地 RabbitMQ 移动到外部托管的配置,请参见本主题的Tableau Resource Monitoring Tool 的现有安装部分。

使用以下步骤安装 Tableau Resource Monitoring Tool (RMT),并将 RMT Server 重新配置为使用外部消息队列服务:

  1. 使用以下建议为 Rabbit MQ 创建 Amazon AMQ 来托管外部消息队列服务:

    • 对于引擎类型,使用 RabbitMQ 引擎。有关 Rabbit MQ 的版本,请参见“产品兼容性”部分。

    • 使用与本地安装 RabbitMQ 时相同的默认版本。有关详细信息,请参见产品兼容性表。

    • 使用单实例代理。

    • 实例规格:mq.m5.large,2 vCPU/8 GiB RAM。

    • 创建一个 RabbitMQ 用户名/密码。

    若要了解详细信息,请参见 AWS 文档站点上的使用 Amazon MQ for Rabbit MQ

  2. 通过从 AWS MQ 页面复制 RabbitMQ Web 控制台 URL,并将其粘贴到 RMT Server上的 Web 浏览器中,测试从RMT服务器到消息代理的连接。通过设置代理时创建的用户名和密码登录。

  3. 按照本主题中的说明安装 RMT Server,但跳过创建环境的步骤在配置 RMT Server 以使用外部存储库之后,您将会这样做

  4. 按如下方式运行 rmtadmin 安装程序,以配置外部 Rabbit MQ 消息队列服务:

    rmtadmin master-setup --mq-config=external --mq-server=aws_amq_servername --mq-vhost='/' --mq-port=5671 --mq-username=aws_amq_username --mq-password='aws_amq_password' --mq-tls-certificate-host=aws_amq_servername

  5. 现在创建一个环境并下载引导程序文件。

    • 运行以下命令以创建环境:rmtadmin create-env --name=<myenvironment> --api-username=<TableauServer API user name> --api-password=<password for the Tableau Server API user account>

    • 下载引导程序文件以注册代理:rmtadmin bootstrap-file --env=<myenvironment> --filename<The absolute or relative path including the file name>

      使用命令行安装 RMT Server主题中详细描述了这些步骤。

  6. 按照使用命令行安装代理主题中的说明,在 Tableau Server 节点上重新注册代理。

Tableau Resource Monitoring Tool 的现有安装

将当前使用本地消息队列服务的现有 RMT 安装迁移到外部消息队列服务有两种途径:

  • 迁移并重建环境:这包括创建外部 Rabbit MQ 服务、配置 RMT Server 以使用外部消息队列服务、重建环境、重新进行所有定制配置(如事件阈值)以及重新注册代理。

    使用此方法时,来自代理、硬件指标、TS 日志、可视化项z负载、队列中尚未处理的超级查询的任何内容都将在迁移过程中丢失。这与上一部分中描述的 RMT 的新安装非常相似,只是在这种情况下您不会安装 RMT..

  • 数据丢失最少的手动迁移:这是专门为能够独立实施说明并且不想重新创建环境和事件阈值的客户设计的。此方法将防止事件数据在转换过程中丢失,但不会保留在转换过程中从 Tableau Server 节点硬件捕获的进程计数器信息。此迁移是手动的,不是 Resource Monitoring Tool 的内置迁移功能。

    执行此操作的说明如下:

迁移到外部 AWS AMQ

步骤 1:使用以下建议为 Rabbit MQ 创建 Amazon AMQ 来托管外部消息队列服务:

  • 使用 RabbitMQ 引擎类型。
  • 默认版本 (3.9.13) 等于 RMT 22.2 捆绑版本。
  • 使用单实例代理。
  • 使用默认值实例大小(mq.m5.large,2 vCPU/8 GiB RAM)。
  • 设置 RabbitMQ 用户名/密码。

若要了解详细信息,请参见 AWS 文档站点上的使用 Amazon MQ for Rabbit MQ

步骤 2:测试来自 RMT Server 的连接

从 AWS MQ 页面复制 RabbitMQ Web 控制台 URL,并将其粘贴到 RMT Server上的 Web 浏览器中。通过设置代理时创建的用户名和密码登录。

步骤 3:停止 RMT 代理服务并注销代理

在运行代理的每个节点上运行以下命令:不要停止 RMT Server,它应该保持运行。:

rmtadmin stop

rmtadmin deregister

步骤 4:验证队列。

在 RMT Server 上,运行 rmtadmin status,并检查输出。当每个队列的“总计”列中的所有值都达到 0(或接近 0)并保持该值时,继续下一步。

步骤 5:配置 RMT Server 以使用新的 Amazon MQ 服务

aws_amq_servername 值将与 Amazon MQ 页面中列出的端点相同,除了末尾的协议前缀和端口应该被移除。查看以下示例:

替换:amqps://b-9512e888-a4a3-4b79-a9c0-07418c101941.mq.us-west-2.amazonaws.com:5671” with: “B-9512e888-a4a3-4b79-a9c0-07418c101941.mq.us-west-2.amazonaws.com

现在,运行 rmtadmin master-setup,替换您为 Amazon MQ 创建的用户名和密码。

rmtadmin master-setup --mq-config=external --mq-server=aws_amq_servername --mq-vhost='/' --mq-port=5671 --mq-username=aws_amq_username --mq-password=<aws_amq_password> --mq-tls-certificate-host=<aws_amq_servername>

注意以下各项:

  • 仅当您创建了自己的虚拟主机时,才替换下面的 --mq-vhost 参数中的名称(这样做是可选的)。
  • 同样,如果服务设置为在非默认端口上运行,请更改端口。
  • --mq-tls-certificate-host 值必须是您的 AWS MQ 实例的服务器名称,正如前面在 --mq-server 参数中所使用的那样,尽管它可以是一个通配符以增加灵活性。

步骤 6:启动 RMT Server

导航到 RMT Server 的安装文件夹:cd 'c:\Program Files\Tableau\Tableau Resource Monitoring Tool\master\'

导航到 RMT Server 的安装文件夹:sudo /var/opt/tableau/tabrmt/master

启动 RMT Server:rmtadmin start

步骤 7:重新注册代理

  • 从 RMT Server 下载一个新的引导程序文件。
  • 通过导航到 http://localhost:9002/setup/register 访问代理 Web 界面,导入引导程序文件。
  • 单击“测试消息队列”。如果收到错误,请查看之前的输入。
  • 单击“连接到消息队列”
  • 在“服务器”部分下,单击预先选择了“新环境服务器”的下拉列表,而不是接受默认设置,从列表中选择您尝试注册的服务器。滚动到底部,然后单击“注册代理”按钮

步骤 8:验证 RMT Server 是否正在运行

登录到 RMT Server Web 界面工具,并验证是否正在处理新数据。

升级最佳做法

如果您希望升级到版本 2022.3 或更高版本,同时迁移到使用外部消息队列服务,则需要遵循以下一般步骤。

迁移并重建环境:

  1. 将 RMT Server 和所有代理升级到 2022.3 或更高版本
  2. 创建 Amazon AMQ 代理服务。
  3. 将 RMT Server 配置为使用外部消息队列服务
  4. 重新创建环境并重新注册所有代理
  5. 重新创建任何自定义配置。

注意:您将丢失一些事件和硬件处理数据,并且还需要重新配置事件阈值

数据丢失最少的手动迁移:

  • 将 RMT Server 和所有代理升级到版本 2022.3 或更高版本
  • 按照本主题的迁移部分中详细介绍的步骤操作。这主要包括创建一个 Amazon AMQ 代理服务,并将 RMT Server 指向外部消息队列服务。
  • 重新注册代理。

为 RabbitMQ 启用 TLS 的升级步骤

由于 2022.3 之前版本中的代理一直使用未加密的连接与 RabbitMQ 消息队列服务进行通信,因此在升级到 2022.3 或更高版本时,需要更新这些代理以使用新的安全连接详细信息。执行此操作的步骤如下:

  1. 完成上一部分中描述的升级步骤后,通过运行以下命令停止所有代理:

    rmtadmin stop --agent

  2. 通过运行以下命令下载环境的引导程序文件:

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

  3. 在安装了代理的每台计算机上运行以下命令:

    rmtadmin rotate-mq-certificate <BOOTSTRAP_FILE> --username=<RMT Server Username> --password-file=<RMT Server Password file name>

  4. 成功运行 rmtadmin rotate-mq-certificate 命令后重新启动每台代理计算机。

产品兼容性

此表仅列出 RMT 版本 2022.3 及更高版本,因为外部消息队列仅在版本 2022.3 及更高版本中可用。

RMT 版本RMT 附带的 RabbitMQ 版本支持外部消息队列服务的 RabbitMQ 版本
22.33.10.53.10.5

谁可以执行此操作

为了安装 Resource Monitoring Tool,您必须具有以下所有各项:

  • 正在安装 Resource Monitoring Tool 的计算机上的管理员权限。
  • Tableau Server 管理员站点角色。
  • Resource Monitoring Tool 管理员帐户。
感谢您的反馈!您的反馈已成功提交。谢谢!