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

Simple Log Service:インデックスモードでのログの照会と分析

最終更新日:Dec 16, 2024

Simple Log Serviceでは、インデックスモードでログを照会および分析できます。 このトピックでは、インデックス、クエリ、および分析の基本概念について説明します。

インデックス

生ログから特定のコンテンツを取得するには、curl: curl/7.74.0を含むログなどのキーワードを使用することがよくあります。 分割しないと、ログテキストは単一のブロックとして扱われ、キーワードcurlと完全に一致しないため、Simple Log Serviceによる取得に失敗する可能性があります。

効率的な検索のために、区切り文字を使用してログを別々の検索可能な単語に分割できます。 区切り文字は、ログが分割されるポイントをマークします。 たとえば、\n\t\r,;[]{}()&^ *#@ ~ =<>/\?: '" などの区切り文字を使用すると、ログはcurl7.74.0などの単語に分割されます。 Simple Log Serviceは、これらの分割キーワードに基づいてインデックスを作成し、ログをより効率的にクエリおよび分析できるようにします。

Simple Log Serviceプロジェクトは、フルテキストインデックスとフィールドインデックスの両方の作成をサポートしています。 両方が作成されると、フィールドインデックス設定が優先されます。

フルテキストインデックス

フルテキストインデックスは、指定された区切り文字に基づいて、ログ全体を複数のテキストタイプの単語に分割します。 フルテキストインデックスが確立されたら、キーワードベースのログクエリを実行できます。 たとえば、クエリステートメントChromeまたはSafariは、ChromeまたはSafariを含むログを返します。

重要
  • 区切り文字は漢字をサポートしていません。 Include Chineseオプションが有効になっている場合、Simple Log Serviceは自動的に中国語テキストをセグメント化します。

  • フルテキストインデックスのみが設定されている場合、フルテキスト検索機能に制限されます。 詳細については、「クエリ構文と関数」をご参照ください。

フィールドインデックス

フィールドインデックスは、フィールド名 (KEY) でログを整理し、区切り文字を使用してフィールドをセグメント化します。 フィールドインデックスは、textlongdoubleJSONの4種類のデータ型をサポートします。 詳細については、「データ型」をご参照ください。 フィールドインデックスを使用すると、フィールド名と値 (Key:Value) を指定してクエリを絞り込むか、SELECTステートメントを使用してより高度な検索を行うことができます。 詳細については、「フィールド固有の検索」をご参照ください。

重要
  • フィールドインデックスは、フィールド (SELECTステートメント) のクエリまたは分析に必要であり、フルテキストインデックスよりも優先されます。 両方のインデックスタイプが作成された場合、フィールドインデックス設定が優先されます。

  • text型のフィールドは、フルテキスト、フィールド、および分析 (SELECT) クエリを使用して検索できます。

    • フルテキストインデックスがない場合、フルテキスト検索文はすべてのテキストタイプフィールドを照会します。

    • フルテキストインデックスを有効にすると、フルテキスト検索文はすべてのログを照会します。

  • フィールド検索と分析ステートメント (SELECT) を使用して、long型とdouble型のフィールドをクエリおよび分析できます。

クエリと分析

Simple Log Serviceは、10億から1兆の規模でログクエリを可能にし、SQLを使用したクエリ結果の統計分析を容易にします。 クエリステートメントは独立して実行できますが、分析ステートメントはクエリステートメントとペアにする必要があります。つまり、クエリ結果またはデータセット全体で分析が実行されます。 詳細については、「クエリと分析のクイックガイド」をご参照ください。

クエリの概要

  • クエリステートメントは、1つ以上の条件を定義し、これらの条件に一致するログを取得します。 形式は: query文 (status: 200など) です。

  • クエリ条件には、キーワード、数値、数値範囲、スペース、および * が含まれます。 スペースまたは * は、フィルタ条件がないことを示します。 詳細については、「クエリ構文と関数」をご参照ください。

分析の概要

  • クエリ文と分析文は | で区切ります。 形式はquery statement | analytic statementです。例: * | SELECT status, count(*) AS PV GROUP BY statusです。

  • 分析機能を利用するには、標準のログストアでログを収集し、インデックス設定中に関連するフィールドの [統計の有効化] オプションを有効にする必要があります。

  • 分析ステートメントは、クエリ結果または完全なデータセットのいずれかに対して計算および統計分析を実行します。 Simple Log Serviceでサポートされている解析関数と構文の一覧については、以下のトピックを参照してください。

    • SQL関数: 加算、平均化、文字列操作、日付処理など、データの計算、変換、および書式設定に一般的に使用されます。

    • SQL句: データソース、条件、グループ化、並べ替えなどを指定して、完全なSQLクエリまたはデータ操作ステートメントを構築するために使用されます。

    • ネストされたサブクエリ: 複雑な分析シナリオの他のSELECTステートメントにSELECTステートメントを埋め込むために使用されます。

    • logstoreとMySQLのクエリ分析の結合: logstoreとMySQLデータベース間の結合クエリを実行し、クエリ結果をMySQLデータベースに保存します。

関連ドキュメント