Tableau Resource Monitoring Tool のメニューを把握する

Tableau Resource Monitoring Toolのメニューをまとめました。
2022.12.12

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

Tableau Resource Monitoring Tool(以下、RMT)で確認できる内容(メニュー)をまとめておきたく記事としました。

前提条件

下記の環境で検証しています。
・Tableau Server バージョン: Windows 2022.1.9
・Tableau Desktop バージョン: 2022.1
・Resource Monitoring Tool 2022.3.1

RMTによるTableau Server の監視

RMTは、Tableau Server の正常性とパフォーマンスの監視、分析に使用されるアドオンです。
パフォーマンスやそのボトルネックとなる問題を特定するために、事前にツール側でいくつものチャートや機能が用意されています。
本記事では、RMTでどのような内容を確認できるのか(どのようなメニューがあるか)を、画面構成や各チャートとあわせて確認していきます。

Tableau Resource Monitoring Tool を使用して Tableau Server のパフォーマンスを監視する

メニュー

下記は、RMTログイン時に表示される環境の選択画面です。RMTでは、監視対象のサーバーまたはサーバー群を「環境」とよび監視の単位とします。基本的には、状態を確認したい環境を選択し、画面上部にあるメニューを選択していくことになるかと思います。

メニュー 概要
パフォーマンス Tableau Server の全体的な状態を確認できるビューを閲覧できます。
アクティビティ パフォーマンスページのチャートに表示される内容に対する詳細情報を確認できます。
コンテンツ 特定のTableau コンテンツの詳細を確認できます。
ワークブックまたはビューのパフォーマンスを調査する必要がある場合は、このページから調査を開始することが推奨されています。
インシデント 記録/報告されたすべてのインシデントの一覧を確認できます。
アドミン 環境、ユーザーやインシデントレベルの設定変更や収集されたメトリクスの一部をダウンロードできます。

以降、各メニューの内容をもう少し詳しく見ていきます。

パフォーマンス

パフォーマンスページには、環境の全体的な状態を把握するのに役立つビューが提供されています。
ページには、4つのタブが用意されています。

・Environment
・Servers
・Insights
・Status


Environment

下記の構成で、サーバーを含む全体的な状態が可視化されています。

パフォーマンス チャート
監視対象のサーバーのハードウェアリソース(CPU、メモリ、ディスクキュー、ネットワーク)の使用状況です。グラフ右側のリソース名を押下すれば、それぞれの使用状況チャートに切り替わります。

Tableau プロセス チャート
Tableau Server で実行されているプロセスの詳細が表示されています。ここから、どのプロセスがCPU やメモリの使用率を高めているか確認できます。

ある時点を選択すると指定の時間範囲に最も多くのリソースを使用した上位 10 のプロセスが強調表示されます。

Tableau Serverの各プロセスの詳細はこちらを参照ください。
サーバープロセス〜Tableau Serverの各プロセスの機能を説明する | Developers IO

バックグラウンド タスク チャート
バックグラウンドタスク量が表示されています。

右上の切り替えボタンを押下すると、バックグラウンドタスクの実行時間ごとのヒストグラムや実行時間の統計情報が表示されます。

同時ユーザー数チャート
指定の時間範囲にリクエストを送信したユーザー数が表示されます。

低速のビュー読み込み要求数チャート
ビューごとに設定されたベースラインを使用して、そのビューのレンダリングにかかった時間を比較し、想定よりも長く表示に時間がかかっているかどうかを判断できます。

※バージョン2021.4.1以降では、下記の方法でベースラインが計算されます。

特定のワークブックが正常にレンダリングされた 50 回の 95 パーセンタイルを計算して、ベースラインを定めます。

ビュー読み込み要求合計数チャート
図示された時間範囲にレンダリングされたビューの数が表示されます。もし、特定の期間レンダリングが記録されていない場合、インシデントがその時間範囲に影響を及ぼしたことを判断できます。

Tableau Resource Monitoring Tool のパフォーマンス チャート


Servers

Environmentタブで表示されていたパフォーマンスチャートの各ハードウェアリソースごとのチャートが一覧表示されたページです。ノードごとのフィルタが可能となっており、フィルタすることで、各プロセッサレベルでのパフォーマンスに切り替わります。

・特定のノードにフィルタ時


Insights

最も低速のビュー最長の抽出更新に関する情報が表示されます。

最も低速のビュー
平均のビュー読み込み時間がかかった順に、ビューが表示されます。オレンジのポイントは、そのビューの最長読み込み時間です。なお、ここで使用されているのは利用可能なデータの全範囲であり、デフォルトは 2 週間(※)です。
Global ConfigurationのDataページで変更可能。

最長の抽出更新
最も時間のかかった抽出更新タスクが順に表示されます。データソース抽出とワークブック抽出の両方が含まれます。こちらもRMTが利用可能なデータの全範囲を用いており、デフォルトは 2 週間です。


Status

Tableau Server プロセスとそのステータスが一覧表示されます。

アクティビティ

アクティビティページでは、下記を確認することができます。
・VizQL セッション
・バックグラウンドタスク
・データクエリ
・ビューの読み込み
・最も低速のビュー


VizQL セッション

指定の時間範囲内のすべての VizQL セッションのリストが表示されます。セッション IDを押下すると対象のセッションに関する下記の情報を確認できます。
・サマリー
・セッション中の要求に関する時間
・データクエリ
・レポートされたインシデント
・指定したVizQL セッションの時の環境アクティビティ

サマリー

指定したVizQL セッションの時の環境アクティビティ

また、これらの情報をまとめたレポートをTableau パッケージドワークブックとしてダウンロードできます。


バックグラウンドタスク

指定の時間範囲内のすべてのバックグラウンドタスクのリストが表示されます。タスクの開始時間を押下すると下記を確認できます。
・サマリー
・レポートされたインシデント
・指定したタスク実行中の環境アクティビティ


データクエリ

指定の時間範囲内のすべてのデータクエリのリストが表示されます。クエリを選択すると、詳細として下記を確認できます。
・サマリー(クエリパフォーマンスの詳細、クエリテキスト、接続の詳細)
・ヒストリー
・レポートされたインシデント

サマリー


ビューの読み込み

選択した時間範囲内にレンダリングされたビューのリストが表示されます。読み込みに要した時間ごとのLoad Time Severity Category (読み込み時間の重大度カテゴリー)に分類されるので、読み込みに長時間かかるビューをフィルターすることができます。

読み込み時間の重大度のカテゴリは下記の方法で分類されます。

通常: = ベースラインの 2 倍以上
非常に長い: >= ベースラインの 4 倍以上
失敗: 読み込みに失敗したか、エラーが発生した
処理中: ベースラインは計算中であり、まだ確立されていない

※ベースラインは、特定のワークブックがレンダリングされた最初の 10 回の中央値を計算することによって確立されます。


低速ビュー

すべてのビューを、平均読み込み時間の降順で一覧表示されています。ビューの読み込み時間、パブリッシャー、サイト等でフィルターも可能です。


Hyper Queries

指定の時間範囲内のすべての Hyper Query が一覧表示されます。クエリを選択すると実行時の環境アクティビティやレポートされたインシデントを確認できます。

Tableau Resource Monitoring Tool のアクティビティ ページ

コンテンツ

Tableauコンテンツごとの詳細を確認できます。特定のワークブックまたはビューのパフォーマンスを調査する必要がある場合は、このページから調査を開始することが推奨されています。このメニューでは、後述する4つのタブが用意されており、選択したコンテンツを基準に、そのコンテンツの情報(プロジェクト、ワークブック、ビューやVizQL セッション数)が表示されます。


Sites

環境上のサイトリストとその情報が表示されます。


Projects

プロジェクトごとに、すべてのワークブック、ビュー、関連する VizQLセッション、およびデータクエリのリストを確認できます。

VizQLセッション

データクエリ


Workbooks

ワークブックの一覧が表示されます。特定のワークブックを選択すると、下記を確認できます。
・読み込み時間のサマリ情報
・ビューごとのVizQLセッション数
・VizQLセッションの一覧
・データクエリの一覧
・ワークブックに固有の報告済みインシデント

読み込み時間のサマリ情報


Views

ビューの一覧が表示されます。特定のビューを選択すると、ワークブック選択時と同様の情報をビュー単位で得ることができます。

Tableau Resource Monitoring Tool のコンテンツ ページ

インシデント

環境について報告されたインシデントを確認できます。
RMTではインシデントに、重要度レベルを付与します。重要度レベルをユーザーで設定可能かどうかで、インシデントは下記の通り分類されます。

インシデント 概要 種類
システム定義のインシデント 既定で設定されており、ユーザーで変更できない エージェントダウン
エージェントのライセンスなし
環境のダウン
構成可能なインシデント ユーザー側で環境ごとに設定可能 抽出失敗
ハードウェア
Hyperスプーリング
低速クエリ
低速ビュー

インシデントが記録されると、この画面で確認することができます。
・Tableau Server停止

インシデント

アドミン

管理画面です。下記の設定を行うことができます。


Environments

環境の編集、削除、エージェントファイルのダウンロードはここから実行できます。

環境の編集画面は、初期設定で入力する Tableau Server との接続情報です。


Users

ユーザーの追加や、既存のユーザーのパスワード変更、ロールの変更はここで行います。


TDS Files

RMTでは上述の通り Tableau Server 監視のための組み込みのグラフが用意されています。この可視化のためのデータを、ユーザー自身が Tableau Desktop で分析できるように .tds ファイルとしてこの画面からダウンロードできます。

この tdsファイルには、RMTのPostgreSQL データベースへの接続が含まれるため、コマンドでの読み取りユーザーのアクセス有効化が必要です。詳細は下記を参照ください。

Tableau データ ソース ファイルを使用したモニタリング データの探索


Global Configuration

グローバル(環境間で共通)レベルでの設定を行えます。

Notification
グローバルレベルでの通知設定を行えます。RMTでは、インシデントが発生すると、メールまたはSlackに通知を送信することが可能です。この画面で、送信先の情報や、通知を送信する最小の重要度レベルを設定します。

・Slackの通知設定画面

Incidents
重要度レベルをユーザーで設定可能なインシデントについて、重要度レベルとインシデントと判断する閾値を設定できます。

Security
RMTユーザーアカウントのパスワードセキュリティの設定変更が行えます。

Data
RMTの既定では、下記のデータが保持され、その保持期間を変更できます。

2週間分の詳細なアクティビティデータおよびダッシュボード データと、10 年分の集計済みレポート データが格納されます。

Advanced
RMTでは、構成するコンポーネントごとにログが取得され、トラブルシューティング時などに利用できます。
この画面では、ログレベルの変更、既定では取得されないコンポーネントのログ取得設定が可能です。

・ログレベル
診断ログのレベルを変更できます。

ここで設定可能なログレベルは下記の通りです。

・高度なトラブルシューティング
上図のチェックボックスにチェックを入れると、既定では取得されない下記のログも取得できるようになります。
・内部データベースクエリのログ
・メッセージキュー通信のログ
※これらのログを取得するには、大量のディスク容量が必要で、トラブルシューティング時のみの有効化が推奨されています。

Tableau Resource Monitoring Tool ログ ファイル
Resource Monitoring Tool サーバー構成


Chargeback Report

プロジェクトごとまたはサイトごとに、抽出によるディスク使用量、抽出の再更新、ビューの読み込み時間により使用されるリソースの量とそのコストが表示されたチャージバック・レポートをTableau パッケージドワークブックとしてダウンロードできます。

レポートのサンプル

チャージバック レポート

さいごに

以上が、RMTのメニューとなります。
特定の Tableau コンテンツやアクティビティ(読み込みに時間がかかる等)を起点に、当時のサーバーの状態を追跡し、原因の探索を行える点が特徴と感じました。
Tableau Serverでも監視機能はありますが、RMTと比較したときにRMT側にはどんなメリットがあるか、という観点でも今後見ていければと思います。
今回は以上になります。