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

Simple Log Service:ダッシュボードとチャートのフィルタリング

最終更新日:Jun 18, 2026

変数を使用すると、元のクエリステートメントを変更せずに、個々のチャートまたはダッシュボード全体をフィルターできます。変数は、 ${{variable_name|default_value}} または ${{variable_name|default_value|prefix}} の構文を使用して、クエリステートメント内のプレースホルダーを動的に調整します。ダッシュボード全体、または単一のチャート内でデータをフィルターできます。

ダッシュボード全体のフィルタリング

フィルタータイプ

各チャートはクエリ文で動作します。フィルターは、ダッシュボード上のすべてのチャートに対してクエリ条件を変更するか、プレースホルダー変数を置き換えます。Simple Log Service (SLS) は、3 種類のフィルターをサポートしています。

  • フィルター: ログフィールドのキーと値のペアを使用してデータを絞り込みます。クエリ結果から、特定の Key:Value ペアを含む、または含まないログを検索します。例えば、さまざまなリクエストメソッドのページビュー (PV) を表示する場合、フィルターを追加して、動的リスト項目を使用してメソッドを切り替えることができます。

  • 変数置換:まず、チャートのクエリ文で変数を定義し、次にフィルターを追加して、選択した値で動的に置き換えます。たとえば、10 秒、60 秒、または 600 秒ごとの PV を表示します。

  • メトリックフィルター:インジェストされたメトリックを、そのラベルと対応する値に基づいて絞り込みます。複数のフィルター条件を指定した場合、論理 AND で結合されます。

フィルタータイプ

ステップ 1:ダッシュボードにチャートを追加する

  1. ダッシュボードを作成します。

  2. ダッシュボードで、編集モードに入り、追加 > 新しいチャートを追加する をクリックします。

  3. 左側でクエリ時間範囲、Logstore、およびクエリ文を設定し、右側でテーブルなどのチャートタイプを選択します。適用 をクリックしてチャートをプレビューし、OK をクリックして保存します。

    次のクエリ文は、1 分あたりの PV 数を取得します。

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

ステップ 2:フィルタータイプのフィルターを追加する

  1. ダッシュボードで、編集モードに入り、右上隅の 仪表盘过滤器-过滤器图标 アイコンをクリックします。

  2. フィルター  ペインで設定し、OK をクリックします。

    動的リスト項目のプレビューに使用するクエリ文の例を次に示します。

    *|select distinct request_method

    この例では、[キー]request_method に設定し、Logstore として website_log を選択し、時間範囲を 15min (Last 15 minutes) に設定します。動的リスト項目のプレビューには、GET、POST、DELETE、PUT が表示されます。

    フィルタータイプのフィルターのパラメータ

    パラメータ

    説明

    名前

    フィルターの名前。

    タイプ

    フィルター :フィールドとその値を使用してデータをフィルタリングします。この条件は、[AND] または [NOT] 演算子を使い、クエリ文の前に追加されます。デフォルトの演算子は [AND] です。

    • AND: Value AND [検索クエリ] | [SQL クエリ]

    • NOT: 値 NOT [検索クエリ] | [SQL クエリ]

    静的リスト項目 セクションで複数の値を追加できます。

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

    • グローバルフィルタリング を有効にすると、フィルターはキーを必要とせず、すべてのフィールドを対象に指定された値を検索します。

    • グローバルフィルタリング を無効にすると、フィルターは指定されたキー内でのみ指定された値を検索します。

    キー

    キー には、対象のフィールド名を設定します。

    エイリアス

    フィルターのエイリアス。

    自動フィルタリング

    自動フィルタリング を有効にすると、フィルターは、データソースに存在しない値を選択リストから自動的に非表示にします。

    表示の設定

    フィルターの外観を設定します。

    • タイトルの表示 を有効にすると、フィルターにタイトルが追加されます。

    • 境界線の表示 を有効にすると、フィルターに枠線が追加されます。

    • 背景の表示 を有効にすると、フィルターに白い背景が追加されます。

    Query Method

    フィルター条件を結合するために使用される演算子。AND Operator または NOT Operator を使用できます。

    静的リスト項目

    指定された キー の静的な値を指定します。

    [+] をクリックして、複数の値を追加します。値に対して Select by Default を有効にすると、ダッシュボードを開くたびに、その値がデフォルトでフィルタリングに使用されます。

    動的リスト項目の追加

    動的リスト項目の追加 を有効にすると、指定した キー の値でフィルターが動的に設定されます。これらの項目はクエリ文の結果であり、選択した時間範囲に基づいて変化する可能性があります。動的リスト項目の追加 を有効にした後、次のパラメータを設定する必要があります。

    • プロジェクトを選択してください:クエリするプロジェクトを選択します。

    • Logstore を選択してください:クエリする Logstore を選択します。

    • フィルタリング条件の継承フィルタリング条件の継承 を有効にすると、フィルタリングはダッシュボード上の既存のフィルター条件を継承します。

    • 解析検索:クエリ文を入力し、時間範囲を設定して動的な値を取得します。

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

  3. ページレイアウトを調整して 保存 をクリックし、ダッシュボードの保存 ダイアログボックスで 確認 をクリックします。

ステップ 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 

変数置換タイプ

ステップ 1:チャートのクエリ文で変数を定義する

  1. ダッシュボードを作成します。

  2. ダッシュボードで、編集モードに入り、追加 > 新しいチャートを追加する をクリックします。

  3. 左側でクエリ時間範囲、Logstore、および変数を含むクエリ文を設定し、右側でチャートタイプを選択します。適用 をクリックしてチャートをプレビューし、OK をクリックして保存します。

    次のクエリ文は、さまざまな時間間隔にわたる PV 数を取得します。 ${{interval|60}} 構文は、デフォルト値が 60 である interval という名前の変数を定義します。

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

ステップ 2:変数置換フィルターを追加する

  1. ダッシュボードで、編集モードに入り、右上隅の 仪表盘过滤器-过滤器图标 アイコンをクリックします。

  2. フィルター  ペインで設定し、OK をクリックします。

    説明
    • キー は、クエリ文で定義した変数名と一致させる必要があります。この例では、値は [interval] です。

    • 静的リスト項目 を使い、変数の値を設定します。

    この例では、[名前]PV Filter に設定します。[静的リスト項目] には、秒数を表す変数値 1060600 を追加します。次に、[OK] をクリックします。

    変数置換タイプのフィルターのパラメータ

    パラメータ

    説明

    名前

    フィルターの名前。

    タイプ

    変数置換:フィルターの変数とその可能な値を定義します。ダッシュボード上のチャートにこの変数のプレースホルダーが含まれている場合、フィルターは自動的にプレースホルダーを選択された値で置き換えます。静的リスト項目 セクションで複数の値を設定できます。

    キー

    キー には、置換する変数名を設定します。

    説明

    このキーは、チャートのクエリ文で定義した変数名と一致する必要があります。

    エイリアス

    フィルターのエイリアス。

    表示の設定

    フィルターの外観を設定します。

    • タイトルの表示 を有効にすると、フィルターにタイトルが追加されます。

    • 境界線の表示 を有効にすると、フィルターに枠線が追加されます。

    • 背景の表示 を有効にすると、フィルターに白い背景が追加されます。

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

    フィルターの入力コントロールのタイプ:

    • 値を入力してください。:ユーザーが任意の値を入力できるテキストボックス。

    • ドロップダウンリスト:事前定義されたオプションのリスト。

    静的リスト項目

    指定された キー の静的な値を指定します。

    [+] をクリックして、複数の値を追加します。値に対して Select by Default を有効にすると、ダッシュボードを開くたびに、その値がデフォルトでフィルタリングに使用されます。

    動的リスト項目の追加

    動的リスト項目の追加 を有効にすると、指定した キー の値でフィルターが動的に設定されます。これらの項目はクエリ文の結果であり、選択した時間範囲に基づいて変化する可能性があります。動的リスト項目の追加 を有効にした後、次のパラメータを設定する必要があります。

    • プロジェクトを選択してください:クエリするプロジェクトを選択します。

    • Logstore を選択してください:クエリする Logstore を選択します。

    • フィルタリング条件の継承フィルタリング条件の継承 を有効にすると、フィルタリングはダッシュボード上の既存のフィルター条件を継承します。

    • 解析検索:クエリ文を入力し、時間範囲を設定して動的な値を取得します。

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

  3. ページレイアウトを調整して 保存 をクリックし、ダッシュボードの保存 ダイアログボックスで 確認 をクリックします。

ステップ 3:結果を確認する

  • ダッシュボードの [PV Filter] で、[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 Filter] で、[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

メトリックフィルター

  1. メトリックをインジェストします。たとえば、ホストモニタリングデータを収集します。

  2. フィルターを追加します。ホストデータをインジェストすると、SLS は自動的に ホストのモニタリング という名前のダッシュボードを作成します。ホストのモニタリング ダッシュボードで 編集モードに入り、右上隅の 仪表盘过滤器-过滤器图标 アイコンをクリックします。フィルター  ペインで設定し、OK をクリックします。

    [キー] には、[Host] を選択します。

    メトリックフィルターのパラメータ

    パラメータ

    説明

    名前

    フィルターの名前。

    タイプ

    時系列フィルター:フィルタリング用のラベルと値を動的に追加します。メトリックフィルターを追加すると、Metricstore 内のメトリックをラベルと値で手動でフィルタリングできます。

    キー

    フィルターを識別するための一意なキー (識別子) を設定します。これは、フィルタリング対象のメトリックラベルではありません。

    エイリアス

    フィルターのエイリアス。

    表示の設定

    フィルターの外観を設定します。

    • タイトルの表示 を有効にすると、フィルターにタイトルが追加されます。

    • 境界線の表示 を有効にすると、フィルターに枠線が追加されます。

    • 背景の表示 を有効にすると、フィルターに白い背景が追加されます。

    プロジェクトを選択してください

    クエリするプロジェクトを選択します。

    Metricstore を選択

    クエリする Metricstore を選択します。

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

    image

変数置換を使用した単一チャートのフィルタリング

単一のグラフに対して変数置換を設定できます。SLS によってグラフの左上隅にフィルターが追加され、データを個別に絞り込めるようになります。次の例では、さまざまな時間間隔で PV を表示するためのテーブルを設定します。

ステップ 1:変数置換を設定する

  1. チャート編集ページの左側で、クエリ時間範囲、Logstore、変数を含むクエリ文を設定します。

    次のクエリ文は、異なる時間間隔の PV を取得します。 ${{date|60}} 構文は、デフォルト値が 60 の date という名前の変数を定義します。

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

    クエリを実行した後、 [Logstore][website_log] に設定し、時間範囲を [15 Minutes(Relative)] に設定します。 クエリ結果には、時間とリクエストメソッドでグループ化された PV と平均リクエスト時間がテーブルに表示されます。

  2. 変数置換を設定します。

    1. グラフ編集ページの右側で、グラフタイプとしてテーブルを選択し、変数置換 > 変数置換の追加 をクリックします。

    2. 「変数置換」ダイアログボックスで、変数キー を date に、表示名 を time に設定します。変数値については、表示名 を min と hour に、対応する置換値をそれぞれ 60 と 3600 に設定します。

  3. ページの右上隅で、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

インタラクションイベントでの変数の使用

チャートに インタラクションの発生 を設定する際に、変数を定義することもできます。インタラクションをトリガーすると、システムはそのインタラクションの値で変数を自動的に更新します。これにより、ドリルダウン分析のためにチャートが動的に連携されます。詳細については、「設定例」をご参照ください。

[Logstoreを開く] 設定ウィンドウで、website_log などの対象 Logstore を選択します。 [フィルタークエリ] 入力ボックスで、[変数の追加] をクリックして変数を参照します。 たとえば、クエリ * | SELECT date_format(__time__ - __time__ % 60, '%H:%i:%s') as "${time}" では、${time} は、インタラクションイベントで定義した変数です。

高度な使用法:プレフィックス付きの変数の使用

重要

変数にプレフィックスを含めることで、フィルタリングを強化できます。構文は ${{variable_name|default_value|prefix}} です。

  • 変数に値が選択されていない場合、クエリはデフォルト値を使用して実行されます。

  • 値が選択されている場合、クエリはプレフィックスと選択された値を結合します。

ダッシュボードのフィルタリング:HTTP メソッドによるフィルタリング

変数

  • 変数形式: ${{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 をクリックして保存します。

    クエリ文の例は * | select status, count(1) as err_count where ${{method_filter|request_method in ('GET','POST')|request_method =}} and status>=400 group by status です。ここで、${{method_filter|...|...}} は変数の構文です。データソースを website_log に設定します。

  2. 変数フィルターを設定します。[フィルター] パネルで、method_filter 変数用のドロップダウンリストに値を追加します。

    [タイプ][変数置換] に設定します。[静的リスト項目] セクションで、'GET''POST''PUT''DELETE' を追加します。次に、[OK] をクリックします。

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

チャートのフィルタリング:リクエスト時間のしきい値によるフィルタリング

変数

  • 変数の形式: ${{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] が選択された場合:クエリは、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、および変数を含むクエリ文を設定します。

    右側で、チャートタイプに [テーブル] を選択します。左下のパネルで、変数を含めてクエリ文を編集します。右側の [変数置換] セクションで、変数キーと表示名を設定します。完了したら、[OK] をクリックします。

  2. 変数置換の設定。 グラフ編集ページの右側で、[変数置換] をクリックします。変数置換 ダイアログボックスで、slow_query 変数の値を追加します。

    変数値のリストに、次の項目を追加します:表示名 50 ms (置換値 50、デフォルトとして設定)、100 ms (置換値 100)、200 ms (置換値 200)、300 ms (置換値 300)、400 ms (置換値 400)、500 ms (置換値 500)、および 1000 ms (置換値 1000)。次に、[OK] をクリックします。

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