Simple Log Serviceは、指定されたフィールドに基づいてログをスキャンし、クエリと分析の結果を返すスキャン機能を提供します。 スキャン機能を使用すると、ログのインデックスを設定する必要なく、ログをクエリおよび分析できます。 スキャン機能には、スキャンベースのクエリとスキャンベースの分析が含まれます。 このトピックでは、スキャン機能の使用方法と例について説明します。
前提条件
手順
[プロジェクト] セクションで、管理するプロジェクトをクリックします。
左側のナビゲーションウィンドウで、[ログストレージ] をクリックします。 Logstoreリストで、管理するLogstoreをクリックします。
クエリ文フィールドに、スキャン文を入力します。
次のいずれかの形式でスキャンステートメントを入力します。
Search statement | SPL statement
またはSearch statement | set session mode=scan; Analytic statement based on the standard SQL syntax.
ページの右上隅で、クエリ時間範囲を指定します。
相対時間の選択、時間枠の選択、またはカスタム時間範囲の指定ができます。 指定できるクエリ時間範囲は、最大で分精度をサポートします。
自動スキャン
自動スキャンとページめくりは、スキャンベースのクエリでのみサポートされます。
スキャンベースのクエリ操作を実行し、システムがスキャンのデータがないことを示すメッセージを返す場合は、アイコンをクリックして、システムがスキャン条件を満たすログを返すか、スキャン数が20に達するまで、新しい自動スキャンをトリガーできます。
[自動スキャン] ダイアログボックスで、各自動スキャンの進行状況を表示できます。
ページめくり
ページめくりを実行すると、Simple Log Serviceはスキャンベースのクエリ操作を実行して、スキャン結果の継続性を確保します。
デフォルトでは、Simple Log Serviceは一度に最大100,000個のログをスキャンできます。 ページめくりを実行すると、ページに表示されるログの数が、[Items per page] パラメーターで指定された数よりも少なくなる場合があります。 ただし、1ページ前に進むことはできます。 この場合、スキャンされる100,000ログのうち、スキャン条件を満たすログの数は、[Items per Page] パラメーターで指定された数より少なくなります。
たとえば、ログの総数は200,000で、[Items per page] パラメーターで指定されている数は20です。 スキャンが完了すると、15のログのみが返され、1ページ前に移動できます。 この場合、スキャンされた最初の100,000ログのうち15ログのみがスキャン条件を満たします。 ページめくりを実行できます。 その後、Simple Log Serviceは残りの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操作を呼び出します。 詳細については、「GetLogs」をご参照ください。
スキャン機能を使用する場合は、queryパラメーターの分析ステートメントの前にset session mode=scan;
を追加する必要があります。 例: * | set session mode=scan; select count(*) as pv