すべてのプロダクト
Search
ドキュメントセンター

Simple Log Service:チャートまたはダッシュボード上のデータをフィルターする

最終更新日:Nov 04, 2025

変数は、構文 ${{変数名|デフォルト値}} または ${{変数名|デフォルト値|プレフィックス}} を使用して、クエリパラメーターのプレースホルダーを動的に調整します。これらの変数を設定することで、クエリ分析文を直接変更することなく、チャートまたはダッシュボード全体をフィルターできます。このトピックでは、ダッシュボード全体と個々のチャートをフィルターする方法について説明します。

ダッシュボードにフィルターを追加してデータをフィルターする

フィルタータイプ

各チャートには、クエリ文のクエリ分析結果が表示されます。フィルターを追加して、ダッシュボード上のすべてのチャートの検索条件を変更したり、プレースホルダー変数を置き換えたりして、ダッシュボード上のデータをフィルターします。Simple Log Service (SLS) は、次のタイプのフィルターを提供します。

  • フィルター (Filter) タイプ: このタイプのフィルターは、ログフィールドのキーと値のペアをフィルター条件として使用します。フィルター (Filter) タイプのフィルターは、指定されたクエリ文の結果から、指定された key-value ペアを含む、または含まないログを検索します。たとえば、フィルター (Filter) タイプのフィルターを追加して、動的リスト項目を使用して各リクエストメソッドのページビュー (PV) 数をクエリします。

  • 変数置換 (Variable Replacement) タイプ: このタイプのフィルターは、変数をフィルター条件として使用します。変数置換 (Variable Replacement) タイプのフィルターを追加する前に、ダッシュボード上の関連チャートのクエリ文に変数を指定する必要があります。フィルターを追加すると、チャートのクエリ文内の変数が、その変数に指定した値に置き換えられます。たとえば、10 秒、60 秒、または 600 秒あたりの PV 数をクエリします。

  • メトリックフィルター (Metric Filter) タイプ: このタイプのフィルターは、メトリックのラベルと値をフィルター条件として使用します。メトリックを収集した後、メトリックフィルター (Metric Filter) タイプのフィルターを追加します。複数のフィルター条件を追加できます。フィルター条件は、論理 AND を使用して評価されます。

フィルター (Filter) タイプ

1. ダッシュボードにチャートを追加する

  1. ダッシュボードを追加します。詳細については、「ダッシュボードを作成する」をご参照ください。

  2. ダッシュボードの編集モードで、[追加] > [チャートの追加] を選択します。詳細については、「編集モード」をご参照ください。

  3. [チャートの編集] ページの左側で、チャートのクエリ時間範囲、Logstore、およびクエリ文を構成します。[チャートの編集] ページの右側で、[チャートタイプ] セクションの [Table Pro] を選択します。構成が完了したら、ページ上部の [適用] をクリックして、テーブルの構成効果を表示します。次に、ページの右上隅にある [OK] をクリックしてテーブルを保存します。

    次のクエリ文を実行して、1 分あたりの PV 数をクエリします。

    * | SELECT date_format(__time__ - __time__ % 60, '%H:%i:%s') as time, count(1) as count GROUP BY time ORDER BY time

フィルター (Filter) タイプのフィルターを追加する

  1. ダッシュボードの編集モードで、右上隅にある 仪表盘过滤器-过滤器图标 アイコンをクリックします。詳細については、「編集モード」をご参照ください。

  2. [フィルター] パネルで、パラメーターを構成し、[OK] をクリックします。次の表にパラメーターを示します。

    次のサンプルコードは、動的リスト項目を使用するクエリ文の例です。

    *|select distinct request_method

    image

    フィルター (Filter) タイプのフィルターのパラメーター

    パラメーター

    説明

    名前

    フィルターの名前。

    タイプ

    [フィルター]: フィルター (Filter) タイプのフィルター。このタイプのフィルターは、ログフィールドのキーと値のペアを使用してデータをフィルターします。システムがデータをフィルターするとき、システムは指定されたキーと値のペアをクエリ文の前に AND または NOT オペレーターを使用して追加します。デフォルトでは、AND オペレーターが使用されます。

    • AND: 値 AND [クエリ] | [sql クエリ]

    • NOT: 値 NOT [クエリ] | [sql クエリ]

    [静的リスト項目] フィールドに複数の値を指定できます。

    グローバルフィルタリング

    • 値を基準にすべてのフィールドをフィルターする場合は、[グローバルフィルタリング] をオンにします。

    • 値を基準に特定のフィールドをフィルターする場合は、[グローバルフィルタリング] をオフにします。

    キー値

    データのフィルターに使用するフィールドの名前。

    エイリアス

    キーのエイリアス。

    自動フィルタリング

    [自動フィルタリング] をオンにすると、データソースに存在しない値が自動的に除外されます。

    表示構成

    フィルターのパターン設定。有効な値:

    • [タイトルの表示]: フィルターにタイトルを追加します。

    • [罫線の表示]: フィルターに罫線を追加します。

    • [背景の表示]: フィルターに白い背景を追加します。

    クエリメソッド

    キーと値のペアをクエリ文の前に追加するために使用するオペレーター。有効な値: [AND オペレーター] および [NOT オペレーター]

    静的リスト項目

    [キー値] フィールドで指定されたキーの値。

    プラス記号 ([+]) をクリックして、指定したキーにさらに値を追加します。値に対して [デフォルトで選択] をオンにすると、ダッシュボードを開くたびにその値がデータのフィルターに使用されます。

    動的リスト項目の追加

    [動的リスト項目の追加] をオンにすると、[キー値] フィールドで指定されたキーの値が動的に取得されます。動的リスト項目は、指定したクエリ文の結果です。結果は、指定した時間範囲によって異なります。[動的リスト項目の追加] をオンにする場合は、次のパラメーターを構成する必要があります:

    • [プロジェクトの選択]: クエリするプロジェクトを選択します。

    • [Logstore の選択]: クエリする Logstore を選択します。

    • [フィルター条件の継承]: [フィルター条件の継承] をオンにすると、ダッシュボード上の既存のフィルター条件がフィルタリングに使用されます。

    • [検索と分析]: クエリ文を入力し、クエリ時間範囲を指定します。

    • [動的リスト項目のプレビュー]: クエリと分析の結果をプレビューします。

  3. ページのフィルターレイアウトを調整し、[保存] をクリックします。[ダッシュボードの保存] ダイアログボックスで、[OK] をクリックします。

3. 結果の検証

ダッシュボードページで、request_method フィルターのドロップダウンリストから [GET][PUT] を選択して、GET メソッドと PUT メソッドの PV 数をクエリします。次のクエリ文が実行されます。

(*)and (request_method: GET OR request_method: PUT)| SELECT date_format(__time__ - __time__ % 60, '%H:%i:%s') as time, count(1) as count GROUP BY time ORDER BY time 

image

変数置換 (Variable Replacement) タイプのフィルターを追加する

1. チャートのクエリ文に変数を指定する

  1. ダッシュボードを追加します。詳細については、「ダッシュボードを作成する」をご参照ください。

  2. ダッシュボードの編集モードで、[追加] > [チャートの追加] を選択します。詳細については、「編集モード」をご参照ください。

  3. [チャートの編集] ページの左側で、変数を指定するクエリ時間範囲、Logstore、およびクエリ文を構成します。[チャートの編集] ページの右側で、[チャートタイプ] セクションの [Table Pro] を選択します。構成が完了したら、ページ上部の [適用] をクリックして、テーブルの構成効果を表示します。次に、ページの右上隅にある [OK] をクリックしてテーブルを保存します。

    次のクエリ文を実行して、さまざまな時間範囲内の PV 数をクエリします。${{interval|60}} は、変数名が interval で、変数のデフォルト値が 60 であることを指定します。

    * | SELECT date_format(__time__ - __time__ % ${{interval|60}}, '%H:%i:%s') as time, count(1) as count GROUP BY time ORDER BY time

    设置变量

2. 変数置換 (Variable Replacement) タイプのフィルターを追加する

  1. ダッシュボードの編集モードで、右上隅にある 仪表盘过滤器-过滤器图标 アイコンをクリックします。詳細については、「編集モード」をご参照ください。

  2. [フィルター] パネルで、パラメーターを構成し、[OK] をクリックします。次の表にパラメーターを示します。

    説明
    • [キー値] パラメーターを指定された変数に設定する必要があります。この例では、[キー値] パラメーターは [interval] に設定されています。

    • [静的リスト項目] フィールドで interval 変数に異なる値を指定できます。

    image

    変数置換 (Variable Replacement) タイプのフィルターのパラメーター

    パラメーター

    説明

    名前

    フィルターの名前。

    タイプ

    [変数置換]: 変数置換 (Variable Replacement) タイプのフィルター。このタイプのフィルターは、変数と変数値を使用してデータをフィルターします。ダッシュボードに同じ変数が指定されたチャートが含まれている場合、チャートのクエリ文内の変数は、指定した値に置き換えられます。[静的リスト項目] フィールドに複数の変数の値を指定できます。

    キー値

    データのフィルターに使用する変数。

    説明

    プレースホルダー変数は、[キー値] フィールドで指定した変数と同じである必要があります。

    エイリアス

    キーのエイリアス。

    表示構成

    フィルターのパターン設定。有効な値:

    • [タイトルの表示]: フィルターにタイトルを追加します。

    • [罫線の表示]: フィルターに罫線を追加します。

    • [背景の表示]: フィルターに白い背景を追加します。

    コンポーネントタイプの表示

    有効な値:

    • [値を入力]

    • [ドロップダウンリスト]

    静的リスト項目

    [キー値] フィールドで指定されたキーの値。

    プラス記号 ([+]) をクリックして、指定したキーにさらに値を追加します。値に対して [デフォルトで選択] をオンにすると、ダッシュボードを開くたびにその値がデータのフィルターに使用されます。

    動的リスト項目の追加

    [動的リスト項目の追加] をオンにすると、[キー値] フィールドで指定されたキーの値が動的に取得されます。動的リスト項目は、指定したクエリ文の結果です。結果は、指定した時間範囲によって異なります。[動的リスト項目の追加] をオンにする場合は、次のパラメーターを構成する必要があります:

    • [プロジェクトの選択]: クエリするプロジェクトを選択します。

    • [Logstore の選択]: クエリする Logstore を選択します。

    • [フィルター条件の継承]: [フィルター条件の継承] をオンにすると、ダッシュボード上の既存のフィルター条件がフィルタリングに使用されます。

    • [検索と分析]: クエリ文を入力し、クエリ時間範囲を指定します。

    • [動的リスト項目のプレビュー]: クエリと分析の結果をプレビューします。

  3. ページのフィルターレイアウトを調整し、[保存] をクリックします。[ダッシュボードの保存] ダイアログボックスで、[OK] をクリックします。

3. 結果の検証

  • ダッシュボードページの [PV フィルター] フィルターで、[interval] パラメーターを [10] に設定して、10 秒あたりの PV 数をクエリします。

    次のクエリ文が実行されます。

    * | SELECT date_format(__time__ - __time__ % 10, '%H:%i:%s') as time, count(1) as count GROUP BY time ORDER BY time

    image

  • ダッシュボードページの [PV フィルター] フィルターで、[interval] パラメーターを [60] に設定して、60 秒あたりの PV 数をクエリします。

    次のクエリ文が実行されます。

    * | SELECT date_format(__time__ - __time__ % 60, '%H:%i:%s') as time, count(1) as count GROUP BY time ORDER BY time

    image

メトリックフィルター (Metric Filter) タイプ

  1. SLS にメトリックを収集する。詳細については、「ホストからメトリックデータを収集する」をご参照ください。

  2. フィルターを追加する。メトリックが収集されると、SLS は自動的に [ホストモニタリング] という名前のダッシュボードを作成します。[ホストモニタリング] ダッシュボードの編集モードで、右上隅にある 仪表盘过滤器-过滤器图标 アイコンをクリックします。詳細については、「編集モード」をご参照ください。[フィルター] パネルで、パラメーターを構成し、[OK] をクリックします。次の表にパラメーターを示します。

    image

    メトリックフィルター (Metric Filter) タイプのフィルターのパラメーター

    パラメーター

    説明

    名前

    フィルターの名前。

    タイプ

    [メトリックフィルター]: メトリックフィルター (Metric Filter) タイプのフィルター。このタイプのフィルターは、動的に追加されるラベルと値を使用してデータをフィルターします。メトリックフィルター (Metric Filter) タイプのフィルターを追加した後、ラベルと値を使用して Metricstore のデータをフィルターします。

    キー値

    フィルターの一意の識別子。

    エイリアス

    キーのエイリアス。

    表示構成

    フィルターのパターン設定。有効な値:

    • [タイトルの表示]: フィルターにタイトルを追加します。

    • [罫線の表示]: フィルターに罫線を追加します。

    • [背景の表示]: フィルターに白い背景を追加します。

    プロジェクトの選択

    クエリするプロジェクト。

    Metricstore の選択

    クエリする Metricstore。

  3. ダッシュボードでデータをフィルターする: ダッシュボードページの上部で、ドロップダウンリストからラベルと値を選択します。

変数置換の設定を構成してチャート上のデータをフィルターする

チャートの [変数置換] の設定を構成します。設定を構成すると、SLS はチャートの右上隅にフィルターを追加します。フィルターを使用して、チャート上のデータをフィルターします。次のセクションでは、テーブル内のさまざまな時間範囲内の PV 数をクエリするために実行する必要がある操作について説明します。

1. 変数置換の設定を構成する

  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

    image

  2. 変数置換の設定を構成する

    1. [チャートの編集] ページの右側で、[チャートタイプ] セクションの [Table Pro] を選択し、[変数置換] セクションで [変数置換] > [変数置換の追加] を選択します。

      image

    2. [変数置換] ダイアログボックスで、[変数キー] パラメーターを data に、[表示名] パラメーターを time に、[変数値] パラメーターの下の [表示名] パラメーターを min と hour に、[置換値] パラメーターを 60 と 3600 に設定します。

      变量替换

  3. [チャートの編集] ページの右上隅にある [OK] をクリックします。次に、ダッシュボードページの右上隅にある [保存] をクリックします。[ダッシュボードの保存] ダイアログボックスで、[OK] をクリックします。

2. チャート上のデータをフィルターする

設定を構成すると、チャートの左上隅にフィルターが表示されます。フィルターのドロップダウンリストから値を選択すると、SLS は選択した値に基づいてクエリと分析操作を実行します。たとえば、[hour] を選択すると、SLS は次のクエリ文を実行します。

(*)| 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 

image

変数と対話発生を併用する

チャートの [対話発生] を構成するときに、変数を指定することもできます。チャート上の値をクリックして対話発生をトリガーすると、システムは指定された変数をその値で自動的に置き換えます。これにより、データのクエリと分析が容易になります。詳細については、「構成例」をご参照ください。

image

変数の高度な使用 (プレフィックスの使用)

重要

ダッシュボードまたはチャートをフィルターするときに、プレフィックス付きの ${{variable_name|default_value|prefix}} 構文を使用することもできます。

  • 変数の値を設定しない場合、クエリはデフォルト値を使用します。

  • 変数の値を設定した場合、クエリ文はプレフィックスと変数の値を組み合わせます。

ダッシュボードのフィルター: HTTP メソッド (http_method) のフィルタリング

変数の説明

  • 変数フォーマット: ${{method_filter|http_method in ('GET','POST')|http_method =}}

  • クエリ文: (*)|select status, count(1) as err_count where ${{method_filter|request_method in ('GET','POST')|request_method =}} and status>=400 group by status

    • 変数が設定されていない場合: デフォルトでは、クエリは GET または POST リクエストのステータスコードが 400 以上のエラーの分布を分析します。クエリ文は次のとおりです。

      (*)|select status, count(1) as err_count where request_method in ('GET','POST') and status>=400 group by status

    • 変数が 'DELETE' に設定されている場合: クエリは DELETE メソッドのエラーステータスを分析するように切り替わります。クエリ文は次のとおりです。

      (*)| select status, count(1) as err_count where request_method ='DELETE' and status>=400 group by status

手順

  1. チャートの構成: 左側のパネルで、時間範囲を設定し、logstore を選択し、変数を含むクエリ文を入力します。右側のパネルで、[テーブル] を選択します。ページ上部の [適用] をクリックしてチャートをプレビューします。次に、[OK] をクリックしてチャートを保存します。

    image

  2. 変数フィルターの構成: [フィルター] パネルで、次の図に示すように、method_filter 変数のドロップダウンリストに値を追加します。

    image

  3. ダッシュボードのフィルター: フィルターをクリックして DELETE を選択します。ダッシュボードには、(*)| select status, count(1) as err_count where request_method ='DELETE' and status>=400 group by status のクエリ文に基づいた統計が表示されます。

    image

チャートのフィルター: リクエスト時間 (request_time) のしきい値フィルタリング

変数の説明

  • 変数フォーマット: ${{slow_query|request_time>50|request_time>}}

  • クエリ文: (*)| select request_uri, avg(request_time) as avg_time where ${{slow_query|request_time>50|request_time>}} group by request_uri order by avg_time desc

    • 変数が設定されていない場合: デフォルトでは、クエリはリクエスト時間が 50 ms を超える API をフィルターし、平均リクエスト時間の降順でソートします。クエリ文は次のとおりです。

      (*)| select request_uri, avg(request_time) as avg_time where request_time>50 group by request_uri order by avg_time desc

    • 変数が 1000 ms に設定されている場合: クエリは、1,000 ms を超える低速 API を分析するように調整されます。クエリ文は次のとおりです: (*)| select request_uri, avg(request_time) as avg_time where request_time>1000 group by request_uri order by avg_time desc

手順

  1. チャートの構成: [チャートの編集] ページの左側のパネルで、時間範囲を設定し、logstore を選択し、変数を含むクエリ文を入力します。

    image

  2. 変数置換の構成: [チャートの編集] ページの右側のパネルで、[変数置換] をクリックします。[変数置換] ダイアログボックスで、次の図に示すように、slow_query 変数のドロップダウンリストに値を追加します。

    image

  3. チャートのフィルター: チャートの左上隅にあるフィルターボックスをクリックします。1000 ms を選択すると、チャートには (*)| select request_uri, avg(request_time) as avg_time where request_time>1000 group by request_uri order by avg_time desc のクエリ文に基づいた統計が表示されます。

    image