Tableau Resource Monitoring Tool の外部メッセージ キュー サービス (RabbitMQ)
Tableau Resource Monitoring Tool は、RabbitMQ をメッセージ キュー サービスとして使用して、エージェントからデータを収集し、RMT サーバーに転送します。このキュー内の情報は処理され、最終的に RMT リポジトリ (PostgreSQL データベース) に格納されます。
2022.3 リリースより前は、RabbitMQ メッセージ キュー サービスは RMT サーバーと共に自動的にインストールされ、これが使用可能な唯一の構成でした。RMT バージョン 2022.3 以降では、外部でホストされた RabbitMQ サービスを使用するように RMT サーバーを再構成できるようになりました。外部でホストされたメッセージ キュー サービスを使用するように RMT サーバーが構成されている場合、その構成を外部メッセージ キュー サービスと呼びます。
バージョン 2022.3 で追加されたこの新しいオプションにより、RMT サーバーは次の方法で構成できます。
- ローカルにインストールされたメッセージ キュー サービスを引き続き使用する。これは、RMT サーバーと同じマシンに自動的にインストールされた RabbitMQ が、RMT サーバーのメッセージ サービスとして使用されることを意味し、この設定にはそれ以上の変更は加えられません。
- 外部メッセージ キュー サービスを使用するように RMT サーバーを構成する。これは、RMT が使用する RAbbitMQ が RMT サーバーの外部でホストされることを意味します。現在サポートされている RabbitMQ のホスティング プラットフォームは、AWS AMQ のみです。エージェントからのすべてのメッセージは RabbitMQ を通過するため、これを外部でホストすることにより、RMT サーバーがインストールされているマシンからリソースを解放できます。
外部メッセージ キュー サービスをセットアップして管理するには、AWS AMQ プラットフォームを十分に理解している必要があります。 AWS サイト上のドキュメント を確認することを推奨します。また、RMT の外部メッセージ キュー サービスを設定し、管理する方法も知っておく必要があります。このトピックでは、以下のセクションでその方法を取り上げます。
Resource Monitoring Tool の新規インストール
このセクションで説明する手順は、Resource Monitoring Tool の新規インストールに適用されます。既存のインストールがあり、ローカルの RabbitMQ を外部ホスト構成に移行したい場合は、このトピックの「Tableau Resource Monitoring Tool の既存のインストール」セクションを参照してください。
次の手順を使用して、Tableau リソース モニタリング ツールをインストールし、外部メッセージ キュー サービスを使用するように RMT サーバーを再構成します。
次の推奨事項に従って、Rabbit MQ 用の Amazon AMQ を作成し、外部メッセージ キュー サービスをホストします。
エンジンの種類には、RabbitMQ エンジンを使用します。Rabbit MQ のバージョンについては、製品の互換性セクションを参照してください。
Rabbit MQ をローカルにインストールしたときに使用したものと同じデフォルト バージョンを使用します。詳細については、製品の互換性テーブルを参照してください。
単一インスタンスのブローカーを使用します。
インスタンスの仕様: mq.m5.large、2 vCPU/8 GiB RAM
RabbitMQ のユーザー名とパスワードを作成します。
詳細については、AWS ドキュメント サイトの「Amazon MQ for Rabbit MQ の使用」を参照してください。
RMT サーバーからの接続テストをメッセージ ブローカーに対して行います。RabbitMQ Web コンソールの URL を AWS MQ ページからコピーし、RMT サーバーの Web ブラウザーに貼り付けます。ブローカーをセットアップしたときに作成したユーザー名とパスワードでログインします。
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
環境を作成し、bootstrap ファイルをダウンロードします。
次のコマンドを実行して、環境を作成します。
rmtadmin create-env --name=<myenvironment> --api-username=<TableauServer API user name> --api-password=<password for the Tableau Server API user account>
bootstrap ファイルをダウンロードして、エージェントを登録します。
rmtadmin bootstrap-file --env=<myenvironment> --filename<The absolute or relative path including the file name>
この手順については、「コマンド ラインを使用して RMT サーバーをインストール」トピックで詳しく説明しています。
「コマンド ラインを使用してエージェントをインストールする」トピックの手順に従って、Tableau Server ノードでエージェントを再登録します。
Tableau Resource Monitoring Tool の既存のインストール
現在ローカル メッセージ キュー サービスを使用している既存の RMT インストールを、外部のメッセージ キュー サービスに移行する方法は 2 つあります。
環境の再構築による移行: これには、外部の Rabbit MQ サービスの作成、外部のメッセージ キュー サービスを使用するための RMT サーバーの構成、環境の再構築、インシデントのしきい値などのすべてのカスタム設定のやり直し、およびエージェントの再登録が含まれます。
この方法を使用すると、エージェントに関するもの、ハードウェア メトリック、TS ログ、Viz ロード、キュー内のまだ処理されていないハイパー クエリはすべて、移行中に失われます。これは、上記のセクションで説明した 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 サーバーからの接続をテストする
RabbitMQ Web コンソールの URL を AWS MQ ページからコピーし、RMT サーバーの Web ブラウザーに貼り付けます。ブローカーをセットアップしたときに作成したユーザー名とパスワードでログインします。
ステップ 3: RMT エージェント サービスを停止し、エージェントを登録解除する
エージェントが稼動している各ノードで、次のコマンドを実行します。RMT サーバーは停止しないでください。稼動し続けている必要があります。
rmtadmin stop
rmtadmin deregister
ステップ 4: キューの検証
RMT サーバーで rmtadmin status
を実行し、出力を確認します。各キューの [合計] 列の値がすべて 0 (またはほぼ 0) になり、その値のまま変わらなくなったら、次の手順に進みます。
ステップ 5: 新しい Amazon MQ サービスを使用するように RMT サーバーを設定する
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 の値は、前に --mq-server 引数で使用したように、AWS MQ インスタンスのサーバー名である必要がありますが、ワイルドカードを指定することで柔軟性に対応することができます。
ステップ 6: RMT サーバーを起動する
RMT サーバーのインストール フォルダーに移動します。cd 'c:\Program Files\Tableau\Tableau Resource Monitoring Tool\master\'
RMT サーバーのインストール フォルダーに移動します。sudo /var/opt/tableau/tabrmt/master
RMT Server を起動します。rmtadmin start
ステップ 7: エージェントを再登録する
- RMT サーバーから新しい bootstrap ファイルをダウンロードします。
- http://localhost:9002/setup/register に移動してエージェントの Web インターフェイスにアクセスし、bootstrap ファイルをインポートします。
- [メッセージ キューのテスト] をクリックします。エラーが発生した場合は、前の入力を確認してください。
- [メッセージ キューに接続] をクリックします。
- [サーバー] セクションで、[新しい環境サーバー] が事前に選択されているドロップダウンをクリックし、デフォルトを受け入れるのではなく、登録しようとしているサーバーをリストから選択します。一番下までスクロールし、[エージェントの登録] ボタンをクリックします。
手順 8: RMT サーバーが稼動していることを確認する
RMT サーバーの 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
コマンドを正常に実行したら、各エージェント マシンを再起動します。
製品の互換性
外部メッセージ キューはバージョン 2022.3 以降からしか利用できないため、この表では RMT バージョン 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 管理者アカウント。