同一のクエリ文および分析文を頻繁に実行する場合、それらを「クイック検索」として保存できます。この機能により、これらの文をすばやく再実行できます。
前提条件
インデックスが作成されます。詳細については、「インデックスの作成」をご参照ください。
クイック検索の作成
Simple Log Service コンソール にログインします。
プロジェクト一覧から、対象のプロジェクトをクリックします。

タブで、対象の Logstore をクリックします。

検索ボックスにクエリ文を入力し、直近 15 分間 をクリックしてクエリの時間範囲を指定します。
詳細については、「ステップ 1:インデックスの設定」をご参照ください。
ページ右上隅にある
アイコンをクリックします。
[保存された検索の詳細]ペインで、[保存された検索名]を設定します。
OK をクリックします。
クイック検索を作成した後は、Logstore の「検索と分析」ページで利用できます。検索ボックス左側の
アイコンをクリックし、その後、作成したクイック検索の名前をクリックします。
クイック検索の変更
左側のナビゲーションウィンドウで、 を選択します。
クイック検索一覧から、対象のクイック検索をクリックします。
新しいクエリ文および分析文を入力し、
アイコンをクリックします。ページ右上隅にある
アイコンをクリックします。「[保存済み検索の詳細]」ペインで情報を変更し、[OK] をクリックします。
クイック検索 ID の取得
クイック検索を作成した後、そのクイック検索 ID を使用して、クイック検索ページをカスタム Web ページに埋め込むことができます。詳細については、「コンソール埋め込みパラメーターの設定」をご参照ください。
左側のナビゲーションウィンドウで、 を選択します。
クイック検索一覧から、対象のクイック検索をクリックします。
ブラウザのアドレスバーに表示される URL からクイック検索 ID を取得します。

URL パラメーターによる変数の渡し方
クエリ文および分析文内の変数プレースホルダーを、URL にパラメーターを追加することで動的に置き換えることができます。この方法により、iframe でクイック検索ページを埋め込んだり、外部システムからリンクしたりする際に、クエリ内容を動的に挿入できます。
前提条件
トークン変数(
${variableName}形式のプレースホルダー)を使用するクイック検索が存在すること。クイック検索に対してトークン機能(tokenQuery モード)が有効化されていること。
トークン変数を設定するには、クエリ文内で動的に置き換える値として、${variableName} 形式を使用します。たとえば、* | WHERE status = ${testParam} のように記述します。
クイック検索ページの標準 URL 形式は以下のとおりです:
/lognext/project/{ProjectName}/savedsearch/{SavedSearchName}この URL にクエリパラメーターを追加することで、変数を動的に挿入したり、フィルターを追加したりできます。下表に、各 URL パラメーターについて説明します。
クエリパラメーターに特殊文字が含まれる場合は、渡す前に URL エンコードする必要があります。
パラメーター | 型 | 必須 | 説明 |
| JSON 配列文字列 | いいえ | クエリ文内の |
| JSON 配列文字列 | いいえ | ダッシュボードのドリルダウンなど、上流のソースから変数値を継承します。 |
| 文字列 | いいえ | AND 演算子を使用して、クエリ文の先頭にフィルターを追加します。 |
token パラメーター
token パラメーターは JSON 配列であり、各要素は { "key": "variableName", "value": "replacementValue" } の形式のオブジェクトです:
[{"key": "variableName1", "value": "value1"}, {"key": "variableName2", "value": "value2"}]たとえば、my-search というクイック検索のクエリ文が * | WHERE status = ${testParam} の場合、次の URL を使用すると、クエリ文は * | WHERE status = '200' に更新されます:
/lognext/project/my-project/savedsearch/my-search?token=[{"key":"testParam","value":"200"}]
tokenInherit パラメーター
tokenInherit パラメーターは、token パラメーターと同じフォーマットです。通常、ダッシュボードのドリルダウンから遷移する際に、選択された変数値を自動的にクイック検索に継承するために使用されます。もし token と tokenInherit の両方が指定されている場合、同じ key に対しては、token 内の値が優先されます。
filters パラメーター
filters パラメーターは、AND 演算子を用いてクエリ文の先頭に付加されるフィルター文字列です。例:
/lognext/project/my-project/savedsearch/my-search?filters=level%3D"ERROR"最終的に実行されるクエリ文は以下のとおりです:
(level="ERROR") AND <元のクエリ文>パラメーターの優先度および処理順序
複数のパラメーターが指定されている場合、クエリ文は以下の順序で構築されます:
クイック検索の元のクエリ文から開始します。
tokenまたはtokenInheritが指定されている場合、クエリ文内の${variableName}プレースホルダーを置き換えます。filtersが指定されている場合、AND 演算子を用いてクエリ文の先頭にフィルターを追加します。
完全な例
プロジェクト名が my-project、クイック検索名が error-query であると仮定します。クエリ文は * | WHERE status = ${statusCode} AND host = ${hostName} です。ここで、statusCode=500 および hostName=web-server-01 を渡し、フィルター level="ERROR" を追加する必要があります。この場合、URL は次のように構成します:
/lognext/project/my-project/savedsearch/error-query?token=[{"key":"statusCode","value":"500"},{"key":"hostName","value":"web-server-01"}]&filters=level%3D"ERROR"最終的に実行されるクエリ文は以下のとおりです:
(level="ERROR") AND * | WHERE status = 500 AND host = web-server-01iframe での使用方法
クイック検索ページを iframe に埋め込む場合、必要なパラメーターを含む src URL を動的に構築できます:
<iframe
src="/lognext/project/my-project/savedsearch/error-query?token=[{"key":"statusCode","value":"500"}]"
width="100%"
height="800px"
frameborder="0"
/>あるいは、JavaScript で URL を動的に構築することもできます:
const params = encodeURIComponent(JSON.stringify([
{ key: 'statusCode', value: '500' },
{ key: 'hostName', value: 'web-server-01' }
]))
const iframeSrc = `/lognext/project/my-project/savedsearch/error-query?token=${params}`
document.getElementById('sls-iframe').src = iframeSrc使用上の注意点
tokenパラメーターの値は JSON 配列であり、encodeURIComponentを使用して URL エンコードする必要があります。変数名(キー)は、クイック検索のクエリ文で定義されたトークン変数名と完全に一致する必要があります(大文字小文字を区別)。
クイック検索に対してトークン機能が有効化されていない場合(
tokenQueryが空)、tokenおよびtokenInheritパラメーターは無効となり、クエリ文は更新されません。filtersパラメーターは、クイック検索に対してトークン機能が有効化されているかどうかに関わらず動作します。
クイック検索の削除
左側のナビゲーションウィンドウで、 を選択します。クイック検索一覧から、削除するクイック検索にマウスを合わせ、
アイコンをクリックし、その後 削除 をクリックします。
