用於 Tableau Resource Monitoring Tool 的外部消息佇列服務 (RabbitMQ)
Tableau Resource Monitoring Tool 使用 RabbitMQ 作為其消息佇列服務,從代理程式程式處收集資料並將其帶到 RMT 伺服器。佇列中的這些資訊被處理並最終存儲在 RMT 存放庫(PostgreSQL 資料庫)中。
在 2022.3 版本前,RabbitMQ 消息佇列服務與 RMT 伺服器一起自動安裝,這是唯一可用的設定。從 RMT 版本 2022.3 開始,您可以重新設定 RMT 伺服器以使用外部託管的 RabbitMQ 服務。將 RMT Server 設定為使用外部託管的消息佇列服務後,我們將其稱為外部消息佇列服務。
使用 2022.3 版本中新增的這個新選項,可以透過以下方式設定 RMT 伺服器:
- 繼續使用本機安裝的消息佇列服務:即與 RMT Server 自動安裝在同一台機器上的 RabbitMQ 將作為 RMT Server 的消息服務,不再對該設定進行任何變更。
- 將 RMT Server 設定為使用外部消息佇列服務:即 RMT 使用的 RAbbitMQ 託管在 RMT Server 外部。目前僅支援 AWS AMQ 作為 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 以使用外部消息佇列服務:
使用以下建議為 Rabbit MQ 建立 Amazon AMQ,以託管外部消息佇列服務:
對於引擎類型,請使用 RabbitMQ 引擎。有關 Rabbit MQ 的版本,請參閱產品相容性部分。
使用與本機安裝 RabbitMQ 時相同的預設版本。有關詳情,請參閱產品相容性表問題。
使用單一執行個體代理程式。
執行個體規格:mq.m5.large,2 vCPU/8 GiB RAM。
建立一個 RabbitMQ 使用者名稱/密碼。
要了解更多資訊,請參閱 AWS 文件站台中的為 Rabbit MQ 使用 Amazon MQ 。
透過從 AWS MQ 頁面複製 RabbitMQ Web 主控台 URL 並將其在 RMT 伺服器中的 Web 瀏覽器中貼上,測試從 RMT 伺服器到消息代理程式的連線。透過您在設定代理程式時建立的使用者名稱和密碼登入。
按照本主題中的說明安裝 RMT 伺服器,但跳過建立環境的步驟。在將 RMT 伺服器設定為使用外部存放庫後執行此操作。
執行 rmtadmin setup 如下設定外部 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
現在建立一個環境並下載啟動程序檔案。
執行以下命令即可建立環境:
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 伺服器主題中詳細介紹了這些步驟。
使用命令列安裝代理程式主題中的說明在 Tableau Server 節點中重新註冊代理程式。
現有 Tableau Resource Monitoring Tool 安裝
將目前使用本機消息佇列服務的現有 RMT 安裝遷移到外部消息佇列服務有兩種途徑:
重新建立環境遷移:這包括建立外部 Rabbit MQ 服務、設定 RMT 伺服器以使用外部消息佇列服務、重新建立環境、重做所有自定義設定(如事件閾值)以及重新註冊代理程式。
使用此方法時,來自代理程式、硬體指標、TS 記錄、即負載、佇列中但尚未處理的超級查詢的任何內容都將在遷移過程中丟失。這與上一節中描述的全新安裝 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 文件站台中的為 Rabbit MQ 使用 Amazon MQ 。
第 2 步:測試來自 RMT 伺服器的連線
從 AWS MQ 頁面複製 RabbitMQ Web 主控台 URL,並將其在 RMT 伺服器上的 Web 瀏覽器中貼上。透過您在設定代理程式時建立的使用者名稱和密碼登入。
步驟 3:停止 RMT 代理程式服務並註銷代理程式
在每個節點上執行以下命令:不要停止 RMT Server,它應該保持執行。:
rmtadmin stop
rmtadmin deregister
步驟 4:驗證 LBS 連線
在 RMT Server 中執行 rmtadmin status
,並檢查輸出。當每個佇列的「總計」行中的所有值都達到 0(或接近 0)並保持在該值時,繼續下一步。
第 5 步:設定 RMT 伺服器以使用新的 Amazon MQ 服務
aws_amq_servername 值將與 Amazon MQ 頁面中列出的終端節點相同,只是應刪除末尾的通訊協定前綴和連線埠。請看以下範例:
取代: 將 “amqps://b-9512e888-a4a3-4b79-a9c0-07418c101941.mq.us-west-2.amazonaws.com:5671
” 取代為:“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 伺服器安裝資料夾:cd 'c:\Program Files\Tableau\Tableau Resource Monitoring Tool\master\'
巡覽至 RMT 伺服器安裝資料夾:sudo /var/opt/tableau/tabrmt/master
啟動 RMT Server:rmtadmin start
第 7 步:重新註冊代理程式
- 從 RMT 伺服器下載新的啟動程序檔案。
- 瀏覽到 http://localhost:9002/setup/register 存取代理程式 Web 介面,匯入啟動程序檔案。
- 按一下測試訊息佇列。如果收到錯誤,請查看之前的輸入。
- 按一下連線到訊息佇列
- 在「伺服器」區段下,按一下已預先選取「新環境伺服器」的下拉式功能表,然後從清單中選擇您嘗試註冊的伺服器,而不是接受預設值。捲動到底部並按一下「註冊代理程式」按鈕。
第 8 步:驗證 RMT 伺服器是否正在執行
登入 RMT Server Web 介面工具,並驗證是否正在處理新資料。
升級最佳做法
如果要升級到 2022.3 或更高版本,並遷移到使用外部消息佇列服務,則需要遵循以下一般步驟。
重新建立環境移轉:
- 將 RMT 伺服器和所有代理程式升級到版本 2022.3 或更高版本
- 建立 Amazon AMQ 代理程式服務。
- 設定 RMT 伺服器以使用外部消息佇列服務
- 重新建立環境並重新註冊所有代理程式
- 重新建立任何自定義設定。
附註:您將丟失一些事件和硬體處理資料,您還需要重新設定事件閾值
手動移轉,資料丟失最少:
- 將 RMT 伺服器和所有代理程式升級到版本 2022.3 或更高版本
- 請按照本主題的移轉部分中詳述的步驟進行操作。這主要包括建立一個 Amazon AMQ 代理程式服務,一個指向外部消息佇列服務的 RMT 伺服器。
- 重新註冊代理程式。
為 RabbitMQ 啟用 TLS 的升級步驟
由於 2022.3 之前版本中的代理程式一直使用未加密的連線與 RabbitMQ 消息佇列服務進行溝通,因此在升級到 2022.3 或更高版本後,需要更新這些代理程式,以便使用新的安全連線詳細資訊。執行此操作的步驟如下:
完成上一節所述升級步驟後,請執行以下命令停止所有代理程式:
rmtadmin stop --agent
執行以下命令下載適用於該環境的啟動程序:
rmtadmin bootstrap-file --env<myenvironment> --filename <The absolute or relative path including the file name>
在每個節點中執行以下命令:
rmtadmin rotate-mq-certificate <BOOTSTRAP_FILE> --username=<RMT Server Username> --password-file=<RMT Server Password file name>
- 成功執行
rmtadmin rotate-mq-certificate
命令後,重新啟動每台 Agent 機器。
產品相容性
此表僅列出 RMT 版本 2022.3 及更高版本,因為外部消息佇列僅適用於版本 2022.3 及更高版本。
RMT 版本 | RMT 附帶的 RabbitMQ 版本 | 支援外部消息佇列服務的 RabbitMQ 版本 |
22.3 | 3.10.5 | 3.10.5 |
誰可以執行此動作
如要安裝 Resource Monitoring Tool,您必須具備以下所有條件:
- 在您安裝 Resource Monitoring Tool 的電腦上有管理員權限。
- Tableau Server 管理員站台角色。
- Resource Monitoring Tool 管理員帳戶。