Tableau Resource Monitoring Tool の外部リポジトリ
Tableau Resource Monitoring Tool は PostgreSQL データベースをリポジトリとして使用し、パフォーマンスや使用状況に関する情報を提供するために使用される Tableau Server の監視データを収集して保存します。
2022.3 リリース以前は、この PostgreSQL リポジトリは、RMT サーバーを使用するマシンに RMT サーバーとともに自動的にインストールされ、これ以外のオプションはありませんでした。バージョン 2022.3 から、ローカルにインストールされたデータベースの代わりに、外部でホストされている PostgreSQL データベースを使用するように RMT サーバーを再構築できるようになりました。RMT サーバーが外部でホストされている PostgreSQL データベースを使用するように構成されている場合、これを外部リポジトリと呼びます。
外部リポジトリをホストするプラットフォームとして、AWS RDS インスタンスがサポートされています。リポジトリ データベースを外部でホストすることで、RMT サーバーのリポジトリ コンポーネントの可用性、バックアップ、および災害復旧を管理することができます。
この外部リポジトリを構成するオプションが追加されたことにより、RMT サーバーを次のように構成することができます。
- ローカルにインストールされたリポジトリの使用を継続する: RMT サーバーとともに同じマシンに自動的にインストールされている PostgreSQL データベースを RMT サーバーのリポジトリとして使用します。この構成にこれ以上の変更を加えることはありません。
- RMT サーバーが外部リポジトリを使用するように構成する: RMT が使用する PostgreSQL データベースを RMT サーバーの外部でホストします。この場合、インストール後にいくつかの構成を変更する必要があります。現在、PostgreSQL データベースのホスティング プラットフォームとして、AWS RDS インスタンスのみがサポートされています。
外部リポジトリを設定および管理するためには、AWS RDS プラットフォームと PostgreSQL データベースをよく理解する必要があります。プラットフォームに関する説明は、AWS サイトのドキュメントを参照することをお勧めします。
また、Resource Monitoring Tool の外部リポジトリの構成を設定し、管理する方法も知っておく必要があります。このトピックでは、以下のセクションでその方法を取り上げます。
Resource Monitoring Tool の新規インストール
このセクションで説明する内容は、新規にインストールされた Resource Monitoring Tool に適用されます。RMT の既存の展開があり、外部リポジトリ構成に移行したい場合は、このトピックの「既存の Resource Monitoring Tool インストール」のセクションを参照してください。
RMT サーバーをインストールすると、RMT サーバーを使用するマシンにリポジトリ データベースが自動的にインストールされます。外部リポジトリの構成プロセスは、インストール後に行う構成です。ここで、外部でホストされている PostgreSQL データベースを使用するように RMT サーバーを再度構成します。
以下のステップに従い、Resource Monitoring Tool をインストールし、外部リポジトリを使用するように RMT サーバーを構成し直します。
外部リポジトリを作成する: 以下の推奨事項に従って、外部リポジトリをホストする RDS インスタンスを作成します。
PostgreSQL インスタンスの最小推奨仕様:
db.m6g.2xlarge (8 vcpu、32 GiB RAM)
SSD ストレージ、ディスク空き容量 500GB
- インスタンスの構成値
最大ワーカー プロセス数: 合計論理プロセッサー数
Gather 当たりの最大ワーカー数: Min(合計論理プロセッサー数/2、4)
最大パラレルワーカー数: 合計論理プロセッサー数
最大パラレル メンテナンス ワーカー数: Min(合計論理プロセッサー数/2、4)
共有バッファ: 合計メモリ量/4
有効キャッシュ サイズ: 合計メモリ量の 75%
メンテナンス作業用メモリ: 合計メモリ量/16 Linux、最大 2GB、Windows は 1MB
WAL バッファ: 共有バッファから算出、16 MB 程度
ワーク メモリ: 共有バッファと Gather 当たりの最大ワーカー数から算出
AWS 上の PostgreSQL DB インスタンスを作成して接続する方法については、AWS ドキュメント サイトのこちらのページをご参照ください。
RMT のインストール:「コマンド ラインを使用して RMT サーバーをインストール」の説明に従って RMT サーバーをインストールします。ただし、環境構築のステップは省略します。このステップは、外部リポジトリを使用するように RMT サーバーを構成した後に行います。ローカルの PostgreSQL データベースが最初にインストールされることに注意してください。
外部リポジトリへの接続をテストする: RMT サーバーとともにインストールされている PostgreSQL の管理ツール psql を使用して、新しいデータベースへの接続をテストします。
ローカルにインストールされた PostgreSQL のインストール ディレクトリの 'bin’ フォルダーに移動します。
C:\Program Files\Tableau\Tableau Resource Monitoring Tool\prerequisites\postgresql<version number>\bin
次のコマンドを実行して接続をテストします。Aws_rds_servername に下記の値を入力し、プロンプトが表示されたら、AWS で作成した PostgreSQL のパスワードを入力します。
\psql.exe -h <aws_rds_servername> -p 5432 -d postgres -U postgres
この時点でエラーが発生し、正常に接続できない場合は、コマンドのパラメータ値を AWS RDS のコンソールの値と照らし合わせて確認してください。
接続に成功したら、次のコマンドを使用して psql セッションを終了します。
\q
rmtadmin master-setup
を実行し、外部リポジトリを使用するように RMT サーバーを構成します。以下のコマンド例を参考に、コマンドに編集して、Resource Monitoring Tool のインストール パス、AWS RDS のインスタンス名、ポート番号、RDS PostgreSQL 管理者ユーザー パスワードを反映させてください。Resource Monitoring Tool RMT サーバーのインストール ディレクトリに移動します:
cd 'c:\Program Files\Tableau\Tableau Resource Monitoring Tool\master\'
次のコマンドを実行して外部リポジトリを構成します。./rmtadmin master-setup --db-config=external --db-server=aws_rds_servername --db-port=5432 --db-admin-username=postgres --db-admin-password='postgres_user_password’
環境を作成して、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 のノードにエージェントをインストールして登録します。
既存の Resource Monitoring Tool インストール
現在ローカル リポジトリを使用している既存の RMT インストールを外部リポジトリに移行するには、2 つの方法があります。どちらの方法を選択するかは、環境の規模と複雑さによって異なります。
環境の再構築を伴う移行: 環境を再構築して再開することによって、これまでに収集したデータが失われるため、設定やアラートの設定が少ない小規模な環境での RMT インストールに適しています。
この移行では、外部リポジトリを使用するように RMT サーバーを再構築し、環境を再作成し、インシデントのしきい値などのカスタム設定をすべてやり直し、エージェントを再登録する必要があります。この方法は、上記セクションの RMT の新規インストールとよく似ていますが、今回は RMT のインストールは行いません。
データ損失を最小限に抑えた手動による移行: 大規模で複雑な環境を持っていて、新たに環境を構築し直したくない場合に適しています。この移行は手動で行います。RMT の移行機能には組み込まれていません。これを行う手順は次のとおりです。
ローカル Resource Monitoring Tool リポジトリを外部の AWS PostgreSQL DB インスタンスに手動で移行する
ステップ 1: 外部リポジトリをホストする RDS インスタンスを作成します
新しい RDS インスタンスを作成する際は、以下の推奨事項を使用してください。
PostgreSQL インスタンスの最小推奨仕様:
db.m6g.2xlarge (8 vcpu、32 GiB RAM)
SSD ストレージ、ディスク空き容量 500GB
- インスタンスの構成値
最大ワーカー プロセス数: 合計論理プロセッサー数
Gather 当たりの最大ワーカー数: Min(合計論理プロセッサー数/2、4)
最大パラレルワーカー数: 合計論理プロセッサー数
最大パラレル メンテナンス ワーカー数: Min(合計論理プロセッサー数/2、4)
共有バッファ: 合計メモリ量/4
有効キャッシュ サイズ: 合計メモリ量の 75%
メンテナンス作業用メモリ: 合計メモリ量/16 Linux、最大 2GB、Windows は 1MB
WAL バッファ: 共有バッファから算出、16 MB 程度
ワーク メモリ: 共有バッファと Gather 当たりの最大ワーカー数から算出
AWS 上の PostgreSQL DB インスタンスを作成して接続する方法については、AWS ドキュメント サイトのこちらのページをご参照ください。
ステップ 2: 新しいデータベースに接続できることを確認するテストを行います
- RMT サーバーに付属している PostgreSQL の管理ツール psql を使用して、新しいデータベースへの接続をテストします。Aws_rds_servername に下記の値を入力し、プロンプトが表示されたら、AWS で作成した PostgreSQL のパスワードを入力します。
- ローカルにインストールされた PostgreSQL のインストール ディレクトリの 'bin’ フォルダーに移動します。
C:\Program Files\Tableau\Tableau Resource Monitoring Tool\prerequisites\postgresql<version number>\bin
次のコマンドを実行して接続をテストします。Aws_rds_servername に下記の値を入力し、プロンプトが表示されたら、AWS で作成した PostgreSQL のパスワードを入力します。
\psql.exe -h <aws_rds_servername> -p 5432 -d postgres -U postgres
この時点でエラーが発生し、正常に接続できない場合は、コマンドのパラメータ値を AWS RDS のコンソールの値と照らし合わせて確認してください。
接続に成功したら、次のコマンドを使用して psql セッションを終了します。
\q
ステップ 3 : 現在 RMT が使用しているローカル PostgreSQL データベースの管理者パスワードを取得します
以下のコマンドを実行して、ローカル リポジトリから管理者パスワードを取得します。これは、移行を行う前に、ローカル リポジトリのデータのバックアップを作成する際に必要となります。
RMT サーバーのインストール フォルダーに移動します。
cd 'c:\Program Files\Tableau\Tableau Resource Monitoring Tool\master\'
管理者パスワードを取得します:
rmtadmin get db.adminPassword
ステップ 4: 既存の PostgreSQL データベースのバックアップを作成します最初に、データベースのバックアップを作成するための準備として、RMT を停止します。
rmtadmin stop
- バックアップを取得できるように、DB サービスのみを再起動します:
rmtadmin start -db
- 以下のスクリプト例を参考に、ファイル パスに独自の値を入力してください。ポートをカスタマイズしている場合は、それも更新してください。プロンプトが表示されたら、前のステップで入力したパスワードを入力します:
- ローカル リポジトリの bin フォルダーに移動します:
cd 'C:\Program Files\Tableau\Tableau Resource Monitoring Tool\prerequisites\postgresql<version number>\bin'
- ローカル リポジトリの bin フォルダーに移動します:
バックアップを作成します:
pg_dump -f your_file_name.dump -F d -j 10 -Z 5 -d tabrmt -h localhost -p 5555 -U postgres
- -F d: pg_restore への入力に適したディレクトリ形式のアーカイブを出力します
- -j 10: 10 個のテーブルのバックアップを同時に並列処理します
- -Z 5: 使用する圧縮レベルを指定します
注: このステップから最終ステップまでの間に Resource Monitoring Tool によって収集されたデータは、移行が完了すると保持されなくなります。
ステップ 5: RMT サーバーが外部リポジトリを指すように構成します
- すべての RMT サービスを再起動します:
rmtadmin restart --all
例として、以下のコマンドを使用します。コマンドを編集して、RDS サーバー名、ポート、RDS の postgres ユーザー パスワードを反映させます。
RMT サーバーのインストール フォルダーに移動します。
cd 'c:\Program Files\Tableau\Tableau Resource Monitoring Tool\master\'
外部 リポジトリ を構成します:
rmtadmin master-setup --db-config=external --db-server=<aws_rds_servername> --db-port=5432 --db-admin-username=postgres --db-admin-password=<postgres_user_password>
ステップ 6: 外部リポジトリにバックアップを復元します
最初に、RMT サーバーを停止します:
rmtadmin stop
ステップ 4 で作成したバックアップを、新しい AWS RDS PostgreSQL インスタンスに復元します。以下のサンプル スクリプトを編集し、AWS RDS サーバー名とポートを反映させ、ダンプ ファイルのパスと名前が正しいことを確認します。プロンプトが表示されたら、RDS の "postgres "ユーザーのパスワードを入力します。
pg_restore -j 5 -c -h <aws_rds_servername> -p 5432 -U postgres -d tabrmt <your_file_name>.dump
- -j 5: 5 個のテーブルの復元を同時に並列処理します
- -c: データベース オブジェクトを再作成する前にクリーニング (ドロップ) します
ステップ 7:RMT サーバーを起動します
rmtadmin start
ステップ8: エージェントを再登録します
サービスの変更に成功したら、各エージェントを再起動し、以下のステップに従い Web インターフェイスを使用して再登録を行います。
- RMT サーバーから新しい bootstrap ファイルをダウンロードします。
- http://localhost:9002/setup/register に移動して、エージェントの Web インターフェースにアクセスし、bootstrap をインポートします。
- [メッセージ キューのテスト] をクリックします。エラーが発生した場合は、前の入力を確認してください。
- [Connect to Message Queue (メッセージ キューへの接続)] をクリックします。
- [サーバー] セクションで、[新しい環境サーバー] が事前に選択されているドロップダウンをクリックし、デフォルトを受け入れるのではなく、登録しようとしているサーバーをリストから選択します。一番下までスクロールして、[Register Agent (エージェントの登録)] ボタンをクリックします。
エージェント登録の詳細については、「コマンド ラインを使用してエージェントをインストールする」を参照してください。
ステップ 9: RMT サーバーが動作し、履歴データが表示されていることを確認します
RMT サーバーにログインし、古い時期のデータが存在することと、新しいデータが処理されていることを確認します。また、カスタム構成の値も確認し、すべてが正しく移行されていることを確認します。
アップグレードのベスト プラクティス
Tableau Resource Monitoring Tool のアップグレードと外部リポジトリへの移行を同時に行いたい場合の一般的なステップは以下の通りです。
環境の再構築による移行:
- RMT サーバーとすべてのエージェントを 2022.3 以降にアップグレードします。
- 2 - 4までのステップは、新規インストールの手順と非常によく似ています。上記の「Resource Monitoring Tool の新規インストール」を参照してください。この移行には、主に以下の内容が含まれます。
- AWS PostgreSQL DB インスタンスを作成します。
- 外部リポジトリを使用するように RMT サーバーを構成します。
- 環境を再構築し、すべてのエージェントを再登録します。
- カスタム構成がある場合は再設定します。
注: 過去のデータは失われます。また、カスタム構成は設定し直す必要があります。
データ損失を最小限に抑えた手動による移行:
- RMT サーバーとすべてのエージェントをバージョン 2022.3 以降にアップグレードします
- 移行のセクションで説明されているステップに従ってください。この移行には、主に以下の内容が含まれます。
- AWS PostgreSQL DB インスタンスを作成します。
- PostgreSQL データベースのバックアップを作成します。
- 外部リポジトリを使用するように RMT サーバーを構成します (PostgreSQL DB インスタンス)。
- 外部リポジトリにバックアップを復元します。
- エージェントを再登録します。
RMT の新しいバージョンが PostgreSQL のメジャー バージョンのアップグレードを必要とする場合のアップグレードについて
Resource Monitoring Tool の PostgreSQL メジャー バージョン要件に変更があった場合、ベスト プラクティスとして、Resource Monitoring Tool をアップグレードする前に、まず外部リポジトリ PostgreSQL のバージョンをアップグレードします。詳細は以下の通りです。外部リポジトリ PostgreSQL のバージョンをアップグレードする必要があるかどうかを確認するには、「製品の互換性表」を参照してください。
PostgreSQL のメジャー バージョンのアップグレードが必要な場合、以下のステップに従い RMT と RDS インスタンスをアップグレードしてください。
- RDS インスタンスのバックアップを作成します。これは、アップグレードをロールバックする必要がある場合に使用します。詳細については、AWS サイトの「Amazon RDS DB インスタンスのバックアップと復元」トピックを参照してください。
- Resource Monitoring Tool ディレクトリに構成ファイルのコピーを作成します。構成ファイルは、以下の場所にあります。
C:\Program Files\Tableau\Tableau Resource Monitoring Tool\master\config.json
- RDS インスタンスを新しいバージョンの PostgreSQL にアップグレードする方法については、AWS サイトの「Amazon RDS の PostgreSQL DB エンジンのアップグレード」トピックをご覧ください。
- RMT サーバーをアップグレードします。データベースの移行を含むアップグレードが正常に完了した場合は、次のステップに進みます。アップグレードに失敗した場合は、このセクションの手順を参照して、アップグレードを復元してロールバックする方法を確認してください。
- Tableau Server ノードのすべてのエージェントを新しい RMT バージョンにアップグレードします。詳細については、「Resource Monitoring Tool のアップグレード」を参照してください。
アップグレードの失敗からの復元
- アップグレードした RMT サーバーをアンインストールします。
- AWS RDS インスタンスをアップグレード前のバージョンに復元します。詳細については、AWS サイトの「Amazon RDS DB インスタンスのバックアップと復元」トピックを参照してください。
- アップグレード前にバックアップしておいた構成ファイルを以下の場所に置き換えます。このフォルダーは、アンインストール時に削除されている可能性があるため、作成する必要があります。
C:\Program Files\Tableau\Tableau Resource Monitoring Tool\master\config.json
- ローカル リポジトリをインストールする RMT サーバーをインストールします。
- 外部リポジトリを使用するように RMT サーバーを構成します:
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 と PostgreSQL のバージョンの互換性
外部リポジトリはバージョン 2022.3 以降でのみ利用可能であるため、この表には RMT のバージョン 2022.3 以降のみが記載されています。
RMT バージョン | RMT に付属の PostgreSQL バージョン | 外部リポジトリでサポートされている PostgreSQL バージョン |
2022.3 | 13.7 | 13.7 |
実行可能なユーザー
Resource Monitoring Tool をインストールするには、次のものがすべて必要です。
- Resource Monitoring Tool をインストールするマシンでの管理者パーミッション。
- Tableau Server の管理者サイト ロール
- Resource Monitoring Tool 管理者アカウント。