Tableau 2018.2 新機能紹介:TSM CLI入門 #tableau
はじめに
こんにちは。大阪オフィスのDI部メンバー、tamaです。
Tableau Serverはv2018.2から、管理機能面が刷新されました。簡潔に言うと、「TSM」という管理機能が登場し、従来の管理機能と入れ替わる形となりました。
このTSMはWebブラウザからTableau Serverの管理が行えるものですが、実は全部が全部このTSMでできるわけではありません。このTSMで出来ないことは、新しいコマンドラインツールのTSM CLIを使用する必要があります。
tabadminとは違う新しいコマンドが出現したということで、今回はその「TSM CLI」について触れてみたいと思います。
TSMとTSM CLIのカンケイ
上記で少し書いてはいますが、今回登場したTSMとTSM CLIという2つの管理機能ですが、それぞれ、そもそもどういう位置付けなのか、整理してみます。
旧管理ツール(〜2018.1)
- Tableau Server Configuration
- tabadmin コマンドラインツール
Tableau Server Configuration
Tableau Serverのインストール時に必ず出てくる、おなじみTableau Serverの設定ツールです。認証方式やアラート等について、このツールで設定する必要がありました。インストール後も、Tableau ServerをインストールしているWindows Serverのメニューからいつでも使用することができます。
tabadmin コマンドラインツール
Tableau Server Configurationには無い設定等を行うことができるコマンドです。簡単なものでいうと、Tableau Serverの停止や再起動、またロゴの変更もtabadminで行うことが出来ました。
2018.2〜の管理ツール
- TSM
- TSM CLI
TSMはWebブラウザからTableau Serverの管理を行うツールで、TSM CLIはTSMでは行えないことをコマンドで実行するツール…。
こう見てみると、今までで言う「Tableau Server Configuration」と「tabadmin」が、それぞれTSMとTSM CLIとしてバージョンアップしたようにも見えますね。しかし、それぞれで出来ることがそのままスライドしたわけではありません。出来ることも利用手順も異なるので、「完全に新しいものになった」と認識しておいた方が混乱せずにすむと思います。
旧管理ツールとTSMの違い
「『そのままスライドしたわけではない』といっても、実際どこがどう変わったのよ?」となると思いますが、そこらへんについては、Tableauが公式ヘルプにまとめています。
「コマンド(TSM CLI)でしかできないこと」や「tabadminとTSM CLIで異なること」が書かれているので、Tableau Server管理者は要チェックです。
今回は、上記のうち、個人的に重要と思った部分を下記に抜粋してみます。
キャッシュの設定はコマンドで設定するようになった
Vizのキャッシュに関する設定は、今まではTableau Server Configurationで設定できましたが、2018.2からTSM CLIじゃないと設定できなくなりました(TSMの画面にはキャッシュに関するメニューが無い)。
ログのアーカイブはWindows Serverの管理者が行うようになった
今までは、サイトロールが「サーバー管理者」「サイト管理者」のユーザーであれば、Tableau ServerのWebUI上でログファイルのスナップショットを取得することができました。しかし、2018.2からは、ログファイルのスナップショットはTSMかTSM CLIでのみの実行となりました。TSMやTSM CLIを使用するには、Tableau ServerインストールされているWindows Serverのローカル管理者グループのメンバーである必要があります。
ファイアウォールの設定について
上記のヘルプページより引用します。
セットアップでは Windows ファイアウォールを構成しようとしません。Tableau Server をインストールする前に、適切なポートがローカル ファイアウォールで開いていることを検証します。インストールの前に...を参照してください。
逆に言うと、2018.1まではセットアップ中にファイアウォールの設定がされるようになっていました。だから、ユーザーはファイアウォールを意識しなくてよかったのですが、2018.2からは上記の通りなので、ファイアウォールの設定をやっておかないと、Tableau Serverに接続できなくて焦ります(実体験)。
TSM CLIを使ってみた
というわけで、TSM CLIを使用してみました。下記のリファレンスを参考にしています。
TSM CLIの使い方
tabadminの時は、以下の手順で利用することができました。
- Tableau ServerインストールされているWindows Serverにローカル管理者グループのメンバーでログイン
- コマンドプロンプト上でtabadminの本体があるフォルダに移動してtabadminを実行する
今回のTSM CLIは、ログインするところは同じですが、コマンド本体のある場所に移動する必要は無くなりました。管理者権限であれば、コマンドプロンプト立ち上げ直後にTSM CLIを実行することができます。
この点は以前より楽になった感じがします。
いくつかやってみた
ちなみに、Tableau Server起動後の初回のTSMコマンドの実行時、ローカル管理者のパスワードを問われます。
ステータス確認
tsm status
>tsm status Status: RUNNING
再起動
tsm restart
>tsm restart サービスを停止中... ジョブ ID ?8?、タイムアウトは 60 分です。 サービスは正常に停止されました。 サービスを開始中... サービスは正常に開始されました。
バックアップ取得
とりあえず、リファレンスのサンプルコマンドをそのまま実行してみます。-fオプションでバックアップファイル名を指定しています。-dオプションはファイル名に作成時間を付与するオプションです。
tsm maintenance backup -f ts_backup -d
>tsm maintenance backup -f ts_backup -d ジョブ ID ?7?、タイムアウトは 1440 分です。 7% - アクティブ リポジトリ インスタンスを開始しています。 15% - アクティブ リポジトリの開始を待機しています。 23% - バックアップ サービスをインストールしています。 。 30% - すべてのノードからディスク空き容量の情報を収集します。 38% - すべてのノードで利用可能なディスク空き容量を確認しています。 46% - 設定をバックアップしています。 53% - オブジェクト ストレージ データをバックアップしています。 61% - データベースをバックアップしています。 。 69% - 資産キーをバックアップしています。 76% - tsbak アーカイブを組み立てています。 。 84% - 必要に応じてアクティブ リポジトリを停止します。 92% - 必要に応じて、アクティブ リポジトリの停止を待機しています。 100% - バックアップ サービスをアンインストールしています。。 コントローラー ノードで ?C:\ProgramData\Tableau\Tableau Server\data\tabsvc\files\backups\ts_backup-2018-09-07.tsbak? にバックアップが書き込まれました。
デフォルトでは、バックアップファイルは下記に保存されます。
C:\ProgramData\Tableau\Tableau Server\data\tabsvc\files\backups\
この保存場所は、下記のTSMコマンドで変更することができます。ただし、実際に反映するにはいくつか手順を踏む必要があります(下記のヘルプをご覧ください)。
tsm configuration set -k basefilepath.backuprestore -v “<フォルダパス>”
個人的には、特別な事情が無い限りは、デフォルトのままで問題ないと思います。
ちなみに、バックアップ実行中、TSMを見てみると下記の表示がされました。
tabadminで出来てTSM CLIで出来ないこと
上記ヘルプページの「対応する TSM CLI コマンドがない tabadmin コマンド」にまとまっています。こちらに記載があるtabadminコマンドをよく使用していた管理者は、バージョンアップの際には対応策を考えておきましょう。
個人的にはパスワードリセット(tabadmin passwd)の代替コマンドがない(REST APIで代替)がちょっと面倒かな…と感じました。
おわりに
Tableau Server 2018.2の管理用の新コマンド「TSM CLI」について見てきました。新規ユーザーはあまり気にならないと思いますが、既存ユーザー(特にtabadminをゴリゴリ利用していた管理者)にとっては、戸惑う部分が少なからずあるかと思います。下記のTableau公式ヘルプを参考にしつつ、tabadminでやっていたことが、TSM(TSM CLI)ではどのように置き換わっているのか、しっかりと確認していく必要があると思います。