変数は値のプレースホルダーです。 クエリ文で変数を使用できます。 変数を使用して、よりインタラクティブで動的なダッシュボードを作成できます。
エントリーポイント
Logstoreのクエリおよび分析ページでクエリ文を実行する場合、クエリ文で変数を指定することはできません。
Simple Log Serviceコンソール にログインします。.
ダッシュボードページに移動します。
[プロジェクト] セクションで、管理するプロジェクトをクリックします。
左側のナビゲーションペインで、
をクリックします。ダッシュボードリストで、必要なダッシュボードをクリックします。
表示されるダッシュボードページで、[編集] をクリックします。
[グラフの作成] をクリックするか、管理するグラフを見つけて を選択し、編集ページに移動します。
クエリ文で変数を指定します。
設定の説明
ドリルダウンイベントまたはフィルターで変数を指定する場合は、その変数をクエリ文に追加する必要があります。 変数の形式は ${{ 変数名 | デフォルト値}}
です。 たとえば、host=~ "^.*"
にhost=~ "${{ host | ^.*}}
を指定できます。
ドリルダウンイベント
たとえば、グラフaのクエリステートメントで変数を指定し、グラフAをダッシュボードAに追加できます。また、ドリルダウンイベントを設定してグラフBのダッシュボードAを開き、ドリルダウンイベントで変数を指定することもできます。 グラフBの値をクリックしてドリルダウンイベントをトリガーすると、システムはグラフaのクエリステートメントの変数をグラフBの値に置き換え、クエリステートメントを再実行します。 次に、チャートAが更新される。 詳細については、「ドリルダウンイベント」をご参照ください。
フィルター
ダッシュボードに変数置換型のフィルターを追加した場合、ダッシュボードに、フィルターに指定された変数がクエリ文に含まれているグラフが含まれている場合、システムは自動的にグラフのクエリ文の変数をフィルターに選択した値に置き換えます。 変数設定は、クエリ文にダッシュボード上の変数が含まれるすべてのグラフに適用されます。 詳細については、「変数置換タイプのフィルターの追加」をご参照ください。
変数の置き換え
このメソッドは、変数置換型のフィルターを1つのグラフに追加します。 [共通設定] タブで変数置換の設定を構成した後、Simple Log Serviceはグラフの左上隅にフィルターを追加します。 フィルタードロップダウンリストから値を選択できます。 値を選択すると、Simple Log Serviceは、グラフのクエリステートメント内の変数を、選択した値が示す変数値に自動的に置き換え、クエリおよび分析操作を実行します。 詳細については、「例2: 変数置換の設定」をご参照ください。
設定例
例1: クエリステートメントでの変数の指定
次のクエリステートメントで、request_methodフィールドの値を ${{ method | PUT}}
変数に変更します。
request_method: * | SELECT __time__ - __time__ %60 AS time, COUNT(1) AS PV GROUP BY time ORDER BY time
例2: 変数の置き換えの設定
次のクエリステートメントで、値60を
${{ date | 60}}
変数に変更します。* | select __time__ - __time__ % 60 as time, COUNT(*) as pv, avg(request_time) as duration, request_method GROUP BY time, request_method order by time limit 1000
[共通設定] タブで変数置換の設定を行います。
変数キーを日付に設定し、変数キーの下の表示名を時間に設定します。 変数値の下の表示名をminおよびhourに設定し、置き換えた値をminの場合は60、時間の場合は3600に設定します。
設定を構成すると、グラフの左上隅にフィルターが表示されます。 フィルタードロップダウンリストから値を選択した場合、Simple Log Serviceは選択した値に基づいてクエリおよび分析操作を実行します。 たとえば、hourを選択した場合、Simple Log Serviceは
* | select__time__ - __time__ % 3600 AS time, COUNT(*) AS pv, approx_distinct(remote_addr) AS uv GROUP BY time ORDER BY time LIMIT 10000
クエリステートメントを実行します。