ダッシュボードの使用状況を監視する
プレビュー
この機能は パブリック プレビュー段階です。
このページには、管理者がダッシュボードに関連付けられたアクティビティを監視するために使用できるサンプル クエリがあります。すべてのクエリは監査ログ テーブルにアクセスします。これは、地域内のワークスペースからのすべての監査イベントの記録を保存するシステム テーブルです。
アカウント管理者は、当然ながらシステムテーブルにアクセスできます。 他のユーザーにアクセスを許可するには、 「システムテーブルへのアクセスの許可」を参照してください。
「システムテーブルを使用したアカウントアクティビティの監視」を参照してください。 利用可能な監査ログ サービスとイベントの包括的なリファレンスについては、 「監査ログ リファレンス」を参照してください。
ドラフトおよび公開済みのダッシュボードを監視する
このセクションの例では、ダッシュボードのアクティビティに関する一般的な質問に対する監査ログを取得する方法を示します。
過去 1 週間に作成されたダッシュボードの数はいくつですか?
次のクエリは、過去 1 週間にワークスペースで作成されたダッシュボードの数を返します。
SELECT
action_name,
COUNT(action_name) as num_dashboards
FROM
system.access.audit
WHERE
action_name = "createDashboard"
AND event_date >= current_date() - interval 7 days
GROUP BY
action_name
次の画像はクエリ結果の例を示しています。
最も人気のあるダッシュボードに関連付けられているダッシュボード ID は何ですか?
この記事のほとんどの例は、特定のダッシュボードでのアクティビティの監査に焦点を当てています。監査ログを使用して、特定のダッシュボード ID を取得できます。次のクエリは、ID に関連付けられたgetDashboardおよびgetPublishedDashboardアクションをカウントして、最も多くのビューを持つダッシュボードを取得します。
SELECT
request_params.dashboard_id as dashboard_id,
COUNT(*) AS view_count
FROM
system.access.audit
WHERE
action_name in ("getDashboard", "getPublishedDashboard")
GROUP BY
dashboard_id
ORDER BY
view_count DESC
次の画像はクエリ結果の例を示しています。

このダッシュボードは過去 1 週間に何回閲覧されましたか?
次のクエリは、特定のdashboard_idを使用して、過去 1 週間にダッシュボードが表示された回数を表示します。action_name列には、ドラフトまたは公開済みのダッシュボードにアクセスされたかどうかが表示されます。getPublishedDashboard公開されたダッシュボードのビューを参照します。getDashboardドラフトダッシュボードのビューを参照します。
このクエリでは、ダッシュボード ID が問題として提供されます。 ダッシュボードの使用方法の詳細については、「ダッシュボードの操作」を参照してください。 特定のダッシュボードのdashboard_idを取得するには、 「ダッシュボードの URL と ID」を参照してください。
SELECT
action_name,
COUNT(action_name) as view_count
FROM
system.access.audit
WHERE
request_params.dashboard_id = :dashboard_id
AND event_date >= current_date() - interval 7 days
AND action_name in ("getDashboard", "getPublishedDashboard")
GROUP BY action_name
次の画像はクエリ結果の例を示しています。

過去 1 日間のユーザー別の閲覧数はどれくらいですか?
次のクエリは、閲覧者が過去 1 日間にダッシュボードにアクセスした回数を識別します。結果には、ユーザーが公開されたダッシュボード ( getPublishedDashboard ) にアクセスしたか、ドラフト ダッシュボード ( getDashboard ) にアクセスしたかが含まれます。
SELECT
user_identity.email as username,
COUNT(user_identity.email) as num_views,
action_name
FROM
system.access.audit
WHERE
service_name = 'dashboards'
AND action_name in ('getDashboard', 'getPublishedDashboard')
AND event_time > now() - interval '1 day'
GROUP BY username, action_name
次の画像はクエリ結果の例を示しています。

先週のトップ視聴者は誰でしたか?
次のクエリは、過去 1 週間に特定のダッシュボードを最も頻繁に表示したユーザーを識別します。また、それらのビューがドラフトダッシュボードにあったか、公開済みダッシュボードにあったかが表示されます。このクエリでは、ダッシュボード ID が問題として提供されます。 ダッシュボードの使用方法の詳細については、「ダッシュボードの操作」を参照してください。
SELECT
user_identity.email as user_email,
action_name,
COUNT(action_name) as view_count
FROM
system.access.audit
WHERE
request_params.dashboard_id = :dashboard_id
AND event_date >= current_date() - interval 7 days
AND action_name in ("getDashboard", "getPublishedDashboard")
GROUP BY action_name, user_email
次の画像はクエリ結果の例を示しています。

埋め込みダッシュボードを監視する
ワークスペース イベントの監査ログを使用して、埋め込みダッシュボードのアクティビティを監視できます。監査ログに表示される他のワークスペース イベントについては、 「ワークスペース イベント」を参照してください。
次のクエリは、外部の Web サイトまたはアプリケーションに埋め込まれたダッシュボードの詳細を取得します。
SELECT
request_params.settingTypeName,
source_ip_address,
user_identity.email,
action_name,
request_params
FROM
system.access.audit
WHERE
request_params.settingTypeName ilike "aibi%"
次の画像はクエリ結果の例を示しています。

アラートを設定する
アラートを設定すると、この種のモニタリングを自動化できます。 特定のしきい値にアラートを設定する方法については、 「アラートの作成」を参照してください。