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

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

最終更新日:Mar 26, 2026

変数を使用すると、クエリ内の値を動的に変更できます。変数は、${{variable_name|default_value}} または ${{variable_name|default_value|prefix}} という構文をプレースホルダーとして使用します。変数を定義することで、基になるクエリ文を変更することなく、単一のチャートまたはダッシュボード全体のデータをフィルタリングできます。このトピックでは、ダッシュボード全体と個々のチャートをフィルタリングする方法について説明します。

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

フィルタータイプ

各チャートはクエリ文に基づいています。ダッシュボードにフィルターを追加して、すべてのチャートのクエリ条件を同時に変更できます。これにより、ダッシュボード全体に表示されるデータを絞り込むことができます。Simple Log Service (SLS) は、次のフィルタータイプをサポートしています。

  • フィルター:ログフィールドの 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

    image

    標準フィルターのパラメーター

    パラメーター

    説明

    名前

    フィルターの名前。

    種類

    [フィルター]:フィールド名と値を使用してデータをフィルタリングする標準フィルターを作成します。フィルターが適用されると、この条件は AND または NOT 演算子を使用してクエリ文の先頭に追加されます。デフォルトでは、AND 演算子が使用されます。

    • ANDvalue AND [search query] | [sql query]

    • NOTvalue NOT [search query] | [sql query]

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

    グローバル フィルター

    • [グローバルフィルタリング] を有効にすると、キーを指定せずにすべてのフィールドで値を検索します。

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

    キー値

    フィルタリングに使用するターゲットフィールド名を [キー] として指定します。

    エイリアス

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

    [自動フィルタリング]

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

    [表示設定]

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

    • [タイトルの表示] スイッチをオンにして、フィルターにタイトルを追加します。

    • [罫線の表示] スイッチをオンにして、フィルターの周りに罫線を追加します。

    • [バックグラウンドの表示] スイッチをオンにして、フィルターに白いバックグラウンドを追加します。

    クエリメソッド

    フィルター条件とクエリを結合するために使用される演算子。有効な値:[AND 演算子][NOT 演算子]

    [静的リスト項目]

    指定された [キー値] の値を定義します。

    [+] をクリックして複数の値を追加します。[デフォルトで選択] を有効にすると、この値はダッシュボードが開かれるたびにデータをフィルタリングします。

    [動的リスト項目を追加]

    [動的リスト項目を追加] スイッチをオンにすると、指定された [キー値] のクエリ文の結果からフィルターの値が動的に入力されます。値のリストは、選択された時間範囲に基づいて変化します。[動的リスト項目を追加] スイッチをオンにした後、次のパラメーターを設定します。

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

    • [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 

image

変数置換フィルター

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 です。

    • [静的リスト項目] セクションでは、変数の選択可能な値を提供します。

    image

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

    パラメーター

    説明

    [名前]

    フィルターの名前。

    タイプ

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

    キー値

    [キー値] フィールドに変数を指定します。

    説明

    フィルタリングしたいチャートには、同じ変数名のプレースホルダーが含まれている必要があります。

    エイリアス

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

    表示設定

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

    • [タイトルの表示] スイッチをオンにして、フィルターにタイトルを追加します。

    • [罫線の表示] スイッチをオンにして、フィルターの周りに罫線を追加します。

    • [バックグラウンドの表示] スイッチをオンにして、フィルターに白いバックグラウンドを追加します。

    コンポーネントの種類を表示

    コンポーネントタイプを選択します。

    • 自由入力

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

    静的リスト項目

    指定された [キー値] の値を定義します。

    [+] をクリックして複数の値を追加します。[デフォルトで選択] を有効にすると、この値はダッシュボードが開かれるたびにデータをフィルタリングします。

    [動的リスト項目を追加]

    [動的リスト項目を追加] スイッチをオンにすると、指定された [キー値] のクエリ文の結果からフィルターの値が動的に入力されます。値のリストは、選択された時間範囲に基づいて変化します。[動的リスト項目を追加] スイッチをオンにした後、次のパラメーターを設定します。

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

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

    • [フィルターの継承][フィルターの継承] スイッチをオンにすると、フィルターを適用する際にダッシュボード内の既存のフィルター条件が継承されます。

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

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

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

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

メトリックフィルター

  1. 時系列データの取り込み。たとえば、ホストモニタリングデータを収集します

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

    image

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

    パラメーター

    説明

    [名前]

    フィルターの名前。

    タイプ

    [メトリックフィルター]:フィルタリング用のラベルと値を動的に追加します。メトリックフィルターを追加した後、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

    image

  2. 変数置換の設定を行います。

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

      image

    2. [変数置換] ダイアログボックスで、[変数キー]date に、[表示名]Time に設定します。次に、値を定義します。たとえば、[表示名] の値が minhour で、対応する変数値が 603600 の 2 つのオプションを作成します。

      变量替换

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

2. チャートのフィルタリング

設定を保存すると、チャートの左上隅にフィルターが表示されます。値を選択すると、SLS は新しい値でクエリを実行します。たとえば、[hour] を選択した場合、実行されるクエリは次のようになります。

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

    • 変数値が設定されていない場合:クエリは、状態コードが 400 以上の GET および POST リクエストのエラーディストリビューションを計算します。実行されるクエリ文は次のとおりです。

      (*)|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 ミリ秒を超える API をフィルタリングし、平均リクエスト時間の降順でソートします。実行されるクエリ文は次のとおりです。

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

    • 変数値が 1000ms に設定されている場合:クエリは、1,000 ミリ秒以上かかる遅い 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. チャートのフィルタリング:チャートの左上隅にあるフィルターをクリックします。1000ms を選択すると、チャートは次のクエリを使用して統計を表示します:(*)| select request_uri, avg(request_time) as avg_time where request_time>1000 group by request_uri order by avg_time desc

    image