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

Simple Log Service:ログのスキャン

最終更新日:Aug 27, 2026

Simple Log Service (SLS) では、インデックスを設定しなくても、ターゲットフィールドをスキャンしてログのクエリと分析を実行できます。スキャンクエリ (SPL) とスキャン分析 (SQL) に対応しています。

前提条件

  • ログが収集されていること。詳細については、「データ収集」をご参照ください。

  • インデックスが作成されていること。詳細については、「インデックスの作成」をご参照ください。

    重要

    スキャン対象のフィールドにインデックスは不要ですが、クエリステートメントは引き続きインデックスに依存します。

手順

  1. Log Serviceコンソールにログインします。

  2. [プロジェクト] セクションで、管理するプロジェクトをクリックします。

  3. [ログストレージ] > [ログストア] タブで、管理するログストアをクリックします。

  4. 検索ボックスに、スキャンステートメントを入力します。

    対応形式:クエリステートメント | SPL ステートメント または クエリステートメント | set session mode=scan; 分析ステートメント (標準 SQL)

  5. 右上隅で、時間範囲を設定します。

    相対時間、期間、またはカスタム時間範囲を設定できます。最小粒度は 1 分です。

自動スキャン

重要

自動スキャンとページの切り替えは、スキャンクエリでのみ利用できます。

スキャン検索の後、[このスキャンでは結果が見つかりませんでした] と表示された場合は、[スキャン] アイコンをクリックします。システムは、一致するログが見つかるか、試行回数が 20 回に達するまで自動的にスキャンします。

[自動スキャン] ダイアログボックスは、スキャンの進行状況を表示します。

各スキャン記録には、スキャンシーケンス番号、現在の結果数、スキャン進捗率、処理タイムスタンプ、およびスキャンステータス (例: [スキャン完了、結果なし]) が表示されます。

ページネーション

ページを切り替えると、SLS は再度スキャンを実行して、結果が継続的に得られるようにします。

各スキャンでは、最大 100,000 件のログが処理されます。ページに表示される結果が [ページあたりのアイテム数] の値より少なくても、次のページに移動できます。これは、現在の 100,000 件のログバッチ内で見つかった一致するログの数が [ページあたりのアイテム数] の値より少ないことを意味します。

たとえば、合計 200,000 件のログがあり、[Items per Page] が 20 に設定されている場合、あるスキャンでは 15 件のログしか返されないのに、[Next Page] ボタンはアクティブなままということがあります。これは、最初の 100,000 件のログのうち 15 件しか一致しなかったことを意味します。[Next] をクリックすると、残りの 100,000 件のログがスキャンされます。

  • 成功したリクエストのログをクエリします。

    • スキャンステートメント

      * | where Status='Success'
    • スキャン結果: クエリ結果はスキャンモードで返され、スキャンされたデータは 56.74 KiB、スキャン進捗は 4.19% です。ヒストグラムには時間の経過に伴うログの分布が表示され、元のログレコードには [アラートステータス] (値: 非アクティブ) や [条件] (値: Count:__count__ > 0; Condition:inflow > 27) などのフィールドが含まれています。

  • 特定のファイルのログをクエリします。

    • スキャンステートメント

      * | where file = '/var/log/nginx/test.log'
    • スキャン結果:スキャンモードでは 375.46 KiB のデータがスキャンされ、file フィールドの値が /var/log/nginx/test.log である 2 件のログが返されます。ログのタイムスタンプは 2024-04-24 10:38:13 と 2024-04-24 10:38:00 です。

  • ステータスごとにリクエストをカウントします。

    • スキャンステートメント

      説明

      スキャン分析では、SQL ステートメントの前に set session mode=scan; を指定する必要があります。

      * | set session mode=scan; SELECT Status, count(*) AS PV GROUP BY Status
    • スキャン結果: スキャンされた行は 470 行、データは 1.29 MiB です。クエリ結果テーブルには、[ステータス]が成功、[PV]が 470 と表示されます。

API 呼び出し

プログラムでスキャンを使用するには、GetLogs API を呼び出します。詳細については、「Logstore 内のログのクエリ」をご参照ください。

重要

query パラメーターの分析ステートメントに set session mode=scan; を追加します。例: * | set session mode=scan; select count(*) as pv