Simple Log Service (SLS) は、インデックスが設定されていないフィールドに対しても、スキャン機能を使用してログのクエリと分析を実行できます。スキャンクエリ (SPL) とスキャン分析 (SQL) の両方をサポートしています。
前提条件
手順
Log Serviceコンソールにログインします。
[プロジェクト] セクションで、管理するプロジェクトをクリックします。
タブで、管理するログストアをクリックします。
-
検索ボックスに、スキャン文を入力します。
対応形式:
クエリ文 | SPL 文またはクエリ文 | set session mode=scan; 分析文 (標準 SQL)。 -
右上隅で、時間範囲を設定します。
相対時間、時間枠、またはカスタム時間範囲を設定できます。 最小粒度は 1 分です。
自動スキャン
自動スキャンとページネーションは、スキャンクエリでのみ使用できます。
スキャンクエリの後に[「No results found for this scan」]と表示された場合は、
アイコンをクリックします。システムは、一致するログが見つかるか、試行回数が 20 回に達するまで自動的にスキャンします。

[自動スキャン] ダイアログボックスに、スキャンの進行状況が表示されます。

ページネーション
ページを切り替えると、SLS は別のスキャンを実行して、結果の連続性を確保します。
各スキャンでは最大 100,000 件のログが処理されます。1 ページに表示される結果が [ページあたりの項目数] の値を下回る場合がありますが、次のページに進むことはできます。これは、現在の 100,000 件のログのバッチ内で、[ページあたりの項目数] より少ない一致ログが見つかったことを意味します。
たとえば、合計 200,000 件のログがあり、[ページあたりの項目数] が 20 に設定されている場合、[次へ] ボタンがアクティブなままであっても、1 回のスキャンで 15 件のログしか返されないことがあります。これは、最初の 100,000 件のログのうち 15 件しか一致しなかったことを意味します。[次へ] をクリックして、残りの 100,000 件のログをスキャンします。

例
-
成功したリクエストのログのクエリ
-
スキャン文
* | where Status='Success' -
スキャン結果

-
-
特定の時刻における特定のファイルのログのクエリ
-
スキャン文
* | where file = 'file:Android' | where time ='[2024-04-24T10:07:27.427014479]' -
スキャン結果

-
-
ステータスごとのリクエスト数のカウント
-
スキャン文
説明スキャン分析では、SQL ステートメントの前に
set session mode=scan;が必要です。* | set session mode=scan; SELECT Status, count(*) AS PV GROUP BY Status -
スキャン結果

-
API 呼び出し
プログラムでスキャンを使用するには、GetLogs API を呼び出します。 詳細については、「Logstore 内のログのクエリ」をご参照ください。
query パラメーター内の分析文の前にset session mode=scan; を追加してください。 例: * | set session mode=scan; select count(*) as pv。