クエリステートメントの変数は、クエリステートメントのパラメーターを動的に変更するために使用できる {{変数名 | デフォルト値}}
形式のプレースホルダーです。 クエリステートメントの変数を指定して、クエリステートメントを変更する必要なく、グラフまたはダッシュボード上のデータをフィルタリングできます。 このトピックでは、グラフまたはダッシュボードのデータをフィルタリングする方法について説明します。
ダッシュボードのデータをフィルタリングするフィルターの追加
フィルタータイプ
各グラフには、クエリステートメントのクエリ結果と分析結果が表示されます。 フィルターを追加して検索条件を変更したり、ダッシュボード上のすべてのグラフのプレースホルダー変数を置き換えて、ダッシュボード上のデータをフィルター処理することができます。 Simple Log Serviceは、次のタイプのフィルターを提供します。
フィルタータイプのフィルター: このタイプのフィルターは、ログフィールドのキーと値のペアをフィルター条件として使用します。 filter型のフィルターは、指定されたクエリ文の結果を検索して、指定された
キーと値
のペアを含むログまたは含まないログを探します。 たとえば、動的リスト項目を使用して、各リクエストメソッドのページビュー (PV) の数を照会するフィルタータイプのフィルターを追加できます。変数置換タイプのフィルタ: このタイプのフィルタは、変数をフィルタ条件として使用します。 変数置換タイプのフィルターを追加する前に、ダッシュボードの関連チャートのクエリステートメントに変数を指定する必要があります。 フィルターを追加すると、グラフのクエリステートメントの変数が、変数に指定した値に置き換えられます。 たとえば、10秒、60秒、または600秒あたりのPVの数を照会できます。
メトリックフィルタタイプのフィルタ: このタイプのフィルタは、フィルタ条件としてメトリックのラベルと値を使用します。 メトリックを収集した後、メトリックフィルタータイプのフィルターを追加できます。 複数のフィルター条件を追加できます。 フィルタ条件は、論理積を用いて評価される。
フィルタータイプのフィルター
変数置換タイプのフィルターを追加
メトリックフィルタータイプのフィルター
グラフ上のデータをフィルタリングするための変数置換の設定
チャートの変数置換の設定を構成できます。 設定後、Simple Log Serviceはグラフの右上隅にフィルターを追加します。 これにより、フィルターを使用してチャート上のデータをフィルター処理できます。 次のセクションでは、テーブル内のさまざまな時間範囲内のPVの数をクエリするために実行する必要がある操作について説明します。
1. 変数置換の設定を構成する
[チャートの編集] ページの左側で、変数を指定するクエリ時間範囲、Logstore、およびクエリステートメントを設定します。
次のクエリステートメントは、異なる時間範囲内のPVの数をクエリするために実行されます。
${{ date | 60}}
は、変数の名前がdate
で、変数のデフォルト値が60であることを指定します。* | select __time__ - __time__ % ${{date | 60}} as time, COUNT(*) as pv, avg(request_time) as duration, request_method GROUP BY time, request_method order by time limit 1000
変数置換の設定を構成する
[チャートの編集] ページの右側で、[チャートタイプ] セクションで [テーブルプロ] を選択し、[変数置換] セクションで
を選択します。[変数置換] ダイアログボックスで、[変数キー] パラメーターをdataに、[表示名] パラメーターを時間に、[変数値] パラメーターの下の [表示名] パラメーターをminとhourに、置換値パラメーターを60と3600に設定します。
グラフの編集ページの右上隅にある [OK] をクリックします。 次に、ダッシュボードページの右上隅にある [保存] をクリックします。 [ダッシュボードの保存] ダイアログボックスで、[OK] をクリックします。
2. チャート上のデータのフィルタリング
設定を構成すると、グラフの左上隅にフィルターが表示されます。 フィルタードロップダウンリストから値を選択した場合、Simple Log Serviceは選択した値に基づいてクエリおよび分析操作を実行します。 たとえば、時間を選択した場合、Simple Log Serviceは次のクエリステートメントを実行します。
(*)| select __time__ - __time__ % 3600 as time, COUNT(*) as pv, avg(request_time) as duration, request_method GROUP BY time, request_method order by time limit 1000
インタラクションの発生とともに変数を使用
グラフのインタラクション発生を設定するときに、変数を指定することもできます。 チャート上の値をクリックしてインタラクションの発生をトリガーすると、システムは自動的に指定された変数を値に置き換えます。 これにより、データのクエリと分析が容易になります。 詳細については、「設定例」をご参照ください。