ダッシュボード上の例外の根本原因を特定するために、インタラクションイベントを使用して、Logstore のクエリ、トレース分析の実行、または別のダッシュボードを開くなどのドリルダウン分析を迅速に実行します。このトピックでは、サポートされているインタラクションイベントの種類と、ダッシュボードにそれらを設定する方法について説明します。
仕組み

ダッシュボード上の問題を調査するために、インタラクションイベントを使用して迅速なドリルダウン分析を行います。たとえば、Logstore を開く、ダッシュボードを開く、クイック検索を開く、カスタム HTTP URL を作成する、トレース詳細を開く、またはフルスタック可観測性トレース詳細を開くことができます。
この例では、NGINX アクセスログを使用します。ステータス 200 を表す円グラフのセクションをクリックすると、対応する Logstore に移動し、そのステータスのログをクエリします。クエリはダッシュボードと同じ時間範囲を使用します。
-
リクエストステータスの円グラフを追加:クエリの時間範囲、Logstore、およびクエリ文を設定します。
-
リクエストステータスの円グラフにインタラクションイベントを追加:ダッシュボードの PV フィールドのインタラクションイベントを [Logstore を開く] に設定します。次に、変数を使用してクエリ文のパラメーターを動的に変更するの
${{status}}変数を追加して、ダッシュボードから選択されたステータスに基づいて Logstore 内のログをクエリします。
Simple Log Service は、以下のインタラクションイベントをサポートしています。設定手順については、このトピックの最後をご参照ください。
Logstore を開く
ダッシュボードを開く
カスタム HTTP URL
保存済み検索
トレース分析
トレース詳細
フルスタック可観測性トレース分析
フルスタック可観測性トレース
操作手順
例 1:Logstore を開くイベント
1. リクエストステータス分布チャートの追加
1.1 ダッシュボードの追加
-
Simple Log Service コンソールにログインし、ターゲットプロジェクトを選択し、ダッシュボード > ダッシュボード ページで、リクエストステータス分布チャートという名前のダッシュボードを作成します。
右上隅の + アイコンをクリックし、ドロップダウンメニューから [ダッシュボードを追加] を選択します。
1.2 チャートの追加
-
チャートを追加するには、新しいチャートを追加する をクリックします。
-
チャートを設定して保存します:
-
左側のペインで、クエリの時間範囲、Logstore、およびクエリ文を設定します。
-
右側のペインで、チャートの種類、カテゴリ、および値の列を設定します。ページ上部の 適用 をクリックしてチャートをプレビューし、次に OK をクリックして保存します。
* | select count(1) as pv ,status group by status
-
2. インタラクションイベントの追加
設定後、ダッシュボードで 200 などのステータスコードをクリックすると、Logstore にリダイレクトされ、status が 200 のログをクエリします。Logstore のクエリ時間範囲は、ダッシュボードの時間範囲と一致します。
2.1 フィールドへのインタラクションイベントの追加
-
右側のペインの インタラクションの発生 タブで、フィールドの追加 をクリックし、ドロップダウンリストからフィールドを選択します。
たとえば、A > pv を選択します。
-
イベントの追加 をクリックし、ドロップダウンリストから Logstore を開く を選択し、ダイアログボックスで Logstore と動的変数を設定します。
Logstore はクエリの宛先として機能します。時間範囲はクエリ期間を定義し、フィルターステートメントは実行されるクエリです。
ダイアログボックスでは、カスタム名を指定し、
nginx-dashboardなどのプロジェクトを選択し、オプションで [新しいウィンドウで開く] スイッチを切り替える必要もあります。
2.2 チャートとダッシュボードの保存
-
チャート編集ページの右上隅で、OK をクリックします。
-
ダッシュボード編集ページの右上隅で、保存 をクリックします。
2.3 インタラクションイベントの検証
チャートで、200 ステータスのデータポイントをクリックし、次に Logstore を開く をクリックします。クエリ文が status: 200 で、クエリ時間がダッシュボードで選択された時間範囲と一致する 一昨日 である Logstore にリダイレクトされます。
例 2:ダッシュボードを開くイベント
この例では、website_log という名前の Logstore に収集された NGINX アクセスログを使用します。RequestMethod と destination_drilldown の 2 つのダッシュボードを作成し、それらの間にインタラクションを設定します。
-
RequestMethod ダッシュボードで、リクエストメソッドを分類するテーブルを追加し、destination_drilldown ダッシュボードを開くためのインタラクションイベントを設定します。
-
destination_drilldown ダッシュボードで、時間経過に伴う PV トレンドを示す折れ線グラフを追加します。
設定が完了すると、RequestMethod ダッシュボードでリクエストメソッドをクリックして destination_drilldown ダッシュボードに移動し、対応する PV トレンドを表示できます。
-
destination_drilldown ダッシュボードで、時間経過に伴う PV トレンドを示す折れ線グラフを追加します。
クエリ文は次のとおりです。ここで、
${{method|PUT}}は変数です。詳細については、「ダッシュボードにチャートを追加する」をご参照ください。request_method: ${{method|PUT}} | SELECT __time__ - __time__ %60 AS time, COUNT(1) AS PV GROUP BY time ORDER BY time -
RequestMethod ダッシュボードで、リクエストメソッドを分類するテーブルを追加し、インタラクションイベントを設定します。
クエリ文は次のとおりです。詳細については、「ダッシュボードにチャートを追加する」をご参照ください。
データソースとして website_log を選択し、クエリ文
*|SELECT request_method, COUNT(1) AS count GROUP BY request_method ORDER BY count DESC LIMIT 10を入力し、次に [インタラクションイベント] タブで、request_method フィールドの [ダッシュボードを開く] アクションを追加します。設定例:
-
ダッシュボードの選択 を destination_drilldown に設定します。
-
Dynamic Variable Name を method に設定し、request_method 列を選択します。
インタラクションイベントの種類として [ダッシュボードを開く] を選択し、[変数を継承] スイッチを有効にします。
-
-
結果を検証します。
RequestMethod ダッシュボードのテーブルで GET をクリックし、次に ダッシュボードを開く をクリックします。このアクションにより、destination_drilldown ダッシュボードにリダイレクトされます。
destination_drilldown ダッシュボードには、GET リクエストの時間経過に伴う PV トレンドが表示されます。
