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

Simple Log Service:検索構文

最終更新日:Dec 24, 2024

Simple Log Serviceでは、検索文を実行して、Logstoreに保存されているログを照会できます。 検索結果は、独立して使用することも、複雑なデータ分析および処理のための分析ステートメントで使用することもできる。 このトピックでは、検索文の構文、シナリオ、および例について説明します。

基本構文

各クエリステートメントは、検索ステートメントと分析ステートメントで構成されます。 検索文と分析文は縦棒 (|) で区切られています。 形式:

Search statement|Analytic statement

検索文は独立して実行できます。 分析ステートメントは、検索ステートメントと一緒に実行する必要があります。 ログ分析機能は、検索結果のデータまたはLogstoreのすべてのデータを分析するために使用されます。

重要
  • 検索文には、最大30の検索条件を指定することを推奨します。

  • 分析ステートメントでFROM句またはWHERE句を指定する必要はありません。 デフォルトでは、現在のLogstoreのすべてのデータが分析されます。 分析ステートメントはオフセットをサポートせず、大文字と小文字を区別しません。 セミコロン (;) を分析ステートメントに追加する必要はありません。

ステートメント

説明

検索文

検索文は、1つ以上の検索条件を指定する。 検索ステートメントには、キーワード、数値、数値範囲、スペース、またはアスタリスク (*) を使用できます。

検索文としてスペースまたはアスタリスク (*) を指定した場合、検索に条件は使用されず、すべてのログが返されます。

分析ステートメント

分析ステートメントは、検索結果のデータまたはLogstoreのすべてのデータを集計または分析するために使用されます。 Simple Log Serviceでサポートされているログ分析用の機能と構文の詳細については、以下のトピックを参照してください。

サンプルクエリ文:

* | SELECT status, count(*) AS PV GROUP BY status
説明

このトピックの検索例で、生ログの詳細については、「デバッグ」をご参照ください。

検索文の作成プロセス

image

クエリ文を作成するには、次の手順を実行します。

ステップ1: 検索タイプを選択する

重要
  • Logstoreのログを照会する前に、インデックスを作成する必要があります。 特定のフィールドを分析する場合は、フィールドインデックスを作成し、SELECTステートメントを使用する必要があります。 フィールドインデックスとフルテキストインデックスの作成方法の詳細については、「インデックスの作成」をご参照ください。

  • クエリと分析の結果は、インデックスの構成によって異なります。 フルテキストインデックスとフィールドインデックスを作成する場合、フィールドインデックスが優先されます。

検索は、インデックスタイプに基づいて、全文検索とフィールド固有検索に分類されます。 次のリストは、フルテキスト検索とフィールド固有の検索の違いを示しています。

  • Logstoreにフルテキストインデックスのみを作成する場合は、フルテキスト検索構文のみを使用してクエリ条件を指定できます。

  • Logstoreのフィールドインデックスを作成する場合、使用できる検索構文はフィールドのデータ型によって異なります。

    • doubleおよびlong: フィールド固有の検索構文のみを使用してクエリ条件を指定できます。

    • text: キーワードが関連付けられているフィールドを特定でき、そのフィールドに対してフィールドインデックスが作成されている場合は、フィールド固有の検索構文を使用してクエリ条件を指定することをお勧めします。 キーワードが関連付けられているフィールドを特定できない場合は、全文検索構文を使用することを推奨します。

      • フルテキスト検索構文を使用しているが、Logstoreにフルテキストインデックスが作成されていない場合、インデックス付きデータがテキスト型であるフィールドからのみデータをクエリできます。

      • フルテキスト検索構文を使用し、Logstoreにフルテキストインデックスが作成されている場合、すべてのフィールドのデータをクエリできます。 この場合、すべてのフィールドのインデックス付きデータはテキスト型です。

フルテキスト検索

フルテキスト検索構文を使用して、特定のフィールドのデータをクエリすることはできません。 フルテキスト検索構文:keywords1 [ [ and | or | not ] keywords2 ] ....

keywords1は、データのクエリに使用するキーワードを指定します。 アスタリスク (*) と疑問符 (?) を使用して、ファジーマッチを実行することもできます。 クエリ条件を組み合わせるには、and orなどの演算子を使用できます。

  • 例 1

    GETキーワードを含むログを照会します。 検索構文: GET

  • 例 2

    GETまたはPOSTキーワードを含むログを照会します。 検索構文: GETまたはPOST

フィールド固有の検索

フィールド固有の検索構文を使用して、特定のフィールドのデータをクエリできます。 フィールドには、textlongdouble、またはjsonタイプを指定できます。 フィールド固有の検索構文:

indexname1 [ : | > | >= | < | <= | = | = | in ] keyword1 [ [ and | or | not ] indexname2 ... ]

重要
  • indexname1は、データをクエリするフィールドの名前を指定します。 フィールド名やテーブル名などの固有名詞に、スペースや漢字などの特殊文字、またはandorなどの構文キーワードが含まれている場合は、固有名詞を二重引用符 ("") で囲む必要があります。 詳細については、「」をご参照ください。クエリ文で引用符を使用するにはどうすればよいですか。

  • long型またはdouble型のフィールドにインデックスが作成されている場合は、>>=<<==inの比較演算子を使用できます。

  • 例 1

    request_methodフィールド値がGETであるクエリログ。 検索構文: request_method: GET

  • 例 2

    request_time_msecフィールド値が50より大きいクエリログ。 検索構文: request_time_msec>50。 request_time_msecフィールドは、doubleタイプである。

  • 例 3

    request_methodフィールド値がGETであり、request_time_msecフィールド値が50より大きいクエリログ。 検索構文: request_method: GET and request_time_msec>50

ステップ2: フィールドデータ型を選択する

検索文を作成するときは、フィールドデータ型の特性をメモし、必要な演算子を使用します。 このようにして、文を使用して効率的かつ正確な方法でログを取得できます。

フィールドデータ型

フィールドデータ型

説明

サポートされる演算子

テキスト

関連フィールドのデータ型をテキストに設定することで、文字列型のデータをクエリできます。 既定では、フルテキストインデックスを有効にすると、__time__ フィールドを除くログ内のすべてのフィールドのデータ型がtextに設定されます。

ornot():""\*?

ロングまたはダブル

フィールドのデータ型をlongまたはdoubleに設定した場合にのみ、数値範囲を使用してフィールドの値を照会できます。

  • フィールドのデータ型をdoubleまたはlongに設定しない場合、または数値範囲の構文が無効な場合、Simple Log Serviceは全文検索を実行し、検索結果が予想される結果と異なる場合があります。

    たとえば、owner_id>100検索文を実行し、owner_idフィールドのデータ型がdoubleまたはlongでない場合、owner_id> 、および100を含むログが返されます。 この例では、より大きい記号 (>) は区切り文字ではありません。

  • フィールドのデータ型をtextからdoubleまたはlongに変更した場合、等号 (=) のみを使用してデータをクエリできます。 データをクエリするために、範囲と比較演算子 (たとえば、より大きい (>) およびより小さい (<)) 記号を使用する場合は、データのインデックスを再作成する必要があります。 詳細については、「Logstoreのログの再インデックス」をご参照ください。

ornot()>>=<<==、およびin

json

フィールドの値に基づいて、JSONオブジェクトのフィールドのデータ型をlongdouble、またはtextに設定し、そのフィールドの分析を有効にすることができます。

JSONオブジェクトのフィールドのデータ型に基づいて演算子を指定します。

演算子

重要
  • in演算子の文字は小文字でなければなりません。 他の演算子は大文字と小文字を区別しません。

  • Simple Log Serviceは、sortascdescgroup byavgsumminmaxlimitをサポートしています。 これらの演算子をキーワードとして使用する場合は、演算子を二重引用符 ("") で囲む必要があります。

  • 次の演算子は、優先度の高い順にリストされます。

    1. コロン (:)

    2. 二重引用符 ("")

    3. 括弧()

    4. とではない

    5. または

演算子

説明

:

この演算子は、key:value形式に基づくフィールド固有の検索に使用されます。 例: request_method:GET

フィールド名またはフィールド値にスペース、コロン (:) 、ハイフン (-) などの特殊文字が含まれている場合は、フィールド名またはフィールド値を二重引用符 ("") で囲む必要があります。 例: "file info":apsara

演算子。 例: request_method:GET and status:200

複数の検索キーワードの中に構文キーワードが存在しない場合は、and演算子を使用して検索キーワードを評価します。 たとえば、GET 200 cn-shanghaiGET and 200 and cn-shanghaiと同等です。

または

または演算子。 例: request_method:GET or status:200

ない

演算子ではありません。 例: request_method:GET not status:200またはnot status:200

( )

この演算子は、括弧 () で囲まれたクエリ条件の優先度を上げるために使用されます。 例: (request_method:GETまたはrequest_method:POST) およびstatus:200

""

この演算子は、構文キーワードを囲むために使用されます。 構文キーワードが二重引用符 ("") で囲まれている場合、キーワードは通常の単語に変換されます。 フィールド固有の検索では、二重引用符 ("") で囲まれた単語が全体として見なされます。

  • フィールド名またはフィールド値に、スペース、漢字、コロン (:) 、ハイフン (-) などの特殊文字、またはおよびまたはなどの構文キーワードが含まれる場合、フィールド名またはフィールド値を二重引用符 ("") で囲む必要があります。 たとえば、"and" は、単語とを含むログを返します。 この場合、演算子ではありません。

  • Simple Log Serviceは、sortascdescgroup byavgsumminmaxlimitをサポートしています。 これらの演算子をキーワードとして使用する場合は、演算子を二重引用符 ("") で囲む必要があります。

  • データ変換機能またはLogtailプラグインを使用してログを処理する場合、__tag __:__ client_ip__フィールドのキーが共通キーに変換されます。 ログを検索する場合は、検索文で__タグ __:__ client_ip__フィールドの名前を二重引用符 ("") で囲む必要があります。 例: "__tag __:__ client_ip__":192.0.2.1 __tag __:__ client_ip__ フィールドは、Simple Log Serviceの予約済みフィールドです。 このフィールドは、ログを収集するホストのIPアドレスを示します。 詳細については、「予約済みフィールド」をご参照ください。

\

エスケープ文字。 この文字は、二重引用符 ("") をエスケープするために使用されます。 二重引用符 ("") は、エスケープされた後にのみ自分自身を示すことができます。 たとえば、ログの内容がinstance_id:nginx "01" の場合、instance_id:nginx\"01\" 文を実行してログを検索できます。

*

ワイルドカード文字。0文字以上の文字を一致させるために使用されます。 例: host:www * com

説明

Simple Log Serviceは、すべてのログを検索して、指定された条件に一致する100単語を照会します。 その後、Simple Log Serviceは、クエリ条件に一致する1つ以上の単語を含むログを返します。

?

1つの文字を一致させるために使用されるワイルドカード文字。 例: host:aliyund?c

>

この演算子は、フィールドの値が特定の数値よりも大きいログを照会するために使用されます。 例: request_time>100

>=

この演算子は、フィールドの値が特定の数値以上であるログを照会するために使用されます。 例: request_time>=100

<

この演算子は、フィールドの値が特定の数値より小さいログを照会するために使用されます。 例: request_time<100

<=

この演算子は、フィールドの値が特定の数値以下であるログを照会するために使用されます。 例: request_time<=100

=

この演算子は、フィールドの値が特定の数値に等しいログを照会するために使用されます。 等号 (=) とコロン (:) は、double型またはlong型のフィールドに同じ影響を与えます。 たとえば、request_time=100request_time:100に相当します。

この演算子は、フィールドの値が特定の数値範囲内にあるログを照会するために使用されます。 括弧 [] はクローズ区間を示し、括弧 () はオープン区間を示す。 スペースは、数値範囲内の2つの数値を区切るために使用されます。 例: request_time in [100 200] またはrequest_time in (100 200)

重要

in演算子の文字は小文字でなければなりません。

__source__

この演算子は、特定のログソースのログを照会するために使用されます。 ワイルドカード文字がサポートされています。 例: __source __: 192.0.2.*

重要

__source__ フィールドは、Simple Log Serviceの予約済みフィールドです。 このフィールドはsourceと省略できます。 カスタムソースフィールドを設定すると、カスタムフィールドはSimple Log Serviceの予約済みソースフィールドと競合します。 カスタムフィールドを検索する場合は、検索文でSourceまたはSOURCEを使用する必要があります。

__tag__

この演算子は、メタデータを使用してログを照会するために使用されます。 例: __tag __:__ receive_time __: 1609837139

__topic__

この演算子は、特定のログトピックのログを照会するために使用されます。 例: __topic __: nginx_access_log

ステップ3: マッチモードを選択する

キーワードとビジネス要件に基づいて、正確な検索またはあいまい検索を使用できます。 必要なログが返されない場合は、ログを照会したときに結果が返されない場合はどうすればよいですか?

検索タイプ

説明

正確な検索

完全な単語が検索に使用されます。

Simple Log Serviceは、単語分割を使用してログを照会します。 正確な検索では、フレーズを完全に一致させることはできません。 たとえば、abc def検索文は、abcdefを含むログを返します。 フレーズabc defは完全に一致することはできません。 abc defフレーズを完全に一致させたい場合は、フレーズ検索を実行するか、LIKE句を使用できます。 詳細については、「フレーズ検索」および「完全一致を使用してログを照会する方法」をご参照ください。

  • hos t:example.com: hostフィールドの値にexample.comが含まれているログを返します。

  • PUTおよびcn-shanghai: PUTおよびcn-shanghaiキーワードを含むログを返します。

  • * | Select * where http_user_agent like '% like Gecko %': http_user_agentフィールド値にlike Geckoフレーズが含まれているログを返します。

  • #"redo_index/1": redo_index/1フレーズを含むログを返します。

ファジー検索

あいまい検索を実行するときに、検索文の単語の中央または末尾に、ワイルドカード文字としてアスタリスク (*) または疑問符 (?) を追加できます。 単語の長さは1〜64文字でなければなりません。 単語にワイルドカード文字が含まれている場合、Simple Log Serviceはすべてのログを検索して、その単語と一致する100の単語を照会します。 その後、Simple Log Serviceは1つ以上の単語を含むログを返します。 より正確な単語を指定すると、検索結果はより正確になります。

重要
  • 単語の先頭にアスタリスク (*) または疑問符 (?) を追加することはできません。

  • ロングデータ型とダブルデータ型は、ファジー検索でアスタリスク (*) または疑問符 (?) をサポートしていません。 数値範囲を指定して、ファジー検索を実行できます。 例: [200 299] のステータス。

ファジー検索は、次のメカニズムを使用するサンプルクエリです。

  • フィールドインデックス機能を有効にし、ログをクエリするフィールドを指定すると、Simple Log Serviceは、フィールドのインデックス付きデータからランダムサンプルを取得し、結果を返します。 Simple Log Serviceはフルテキストスキャンを実行しません。

  • フルテキストインデックス機能を有効にし、ログを照会するフィールドを指定しない場合、Simple Log Serviceはすべてのフィールドのインデックス付きデータからランダムなサンプルを取得し、結果を返します。 Simple Log Serviceはフルテキストスキャンを実行しません。

  • request_time>60およびrequest_method:Ge *: request_timeフィールド値が60より大きく、request_methodフィールド値がGeで始まるログを返します。

  • addr *: すべてのログでaddrで始まる100の単語を照会し、1つ以上の単語を含むログを返します。

  • host:www.yl *: すべてのログのhostフィールド値でwww.ylで始まる100の単語を照会し、1つ以上の単語を含むログを返します。

詳細については、「」をご参照ください。ファジーマッチを使用してログを照会するにはどうすればよいですか?

検索文の例

異なるインデックス設定に基づいて異なるログで検索ステートメントを実行すると、ステートメントは異なる結果を返します。 このセクションで提供される例は、次のサンプルログおよびインデックス設定に基づいています。

サンプルログ

NGINXアクセスログがサンプルログとして使用されます。

日志样例

インデックス設定

検索文を実行する前に、インデックスが設定されていることを確認してください。 詳細については、「インデックスの作成」をご参照ください。 インデックス設定を確認するには、次の手順を実行します。

  1. Logstoreの [クエリと分析] ページで、[インデックス属性] > [属性] を選択します。image

  2. 検索と分析パネルで、フィールドインデックスが設定されているかどうかを確認します。索引

一般的な検索例

期待される検索結果

検索文

デバッグ

成功したGETリクエストを記録するログ (ステータスコード: 200〜299)

request_method:GET and status in [200 299]

デバッグ

GETリクエストを記録し、リクエストのソースリージョンが中国 (杭州) リージョンではないログ

request_method:GET not region:cn-hangzhou

なし

GETリクエストまたはPOSTリクエストを記録するログ

request_method:GET or request_method:POST

デバッグ

GETリクエストを記録しないログ

not request_method:GET

デバッグ

成功したGETまたはPOSTリクエストを記録するログ

(request_method:GET or request_method:POST) and status in [200 299]

デバッグ

失敗したGETまたはPOST要求を記録するログ

(request_method:GET or request_method:POST) not status in [200 299]

デバッグ

成功したGETリクエスト (ステータスコード: 200〜299) を記録し、リクエスト期間が60秒未満のログ

request_method:GET and status in [200 299] not request_time>=60

デバッグ

リクエスト期間が60秒に等しいログ

request_time:60

デバッグ

request_time=60

デバッグ

リクエスト期間が60秒以上で200秒未満のログ

request_time>=60 and request_time<200

デバッグ

request_time in [60 200)

デバッグ

request_timeフィールドが空であるか、またはフィールド値が無効な番号であるログ

request_time:* not request_time > -10000000000
説明

request_time:* は、request_timeフィールドが存在するかどうかを確認するために使用されます。 この検索文では、アスタリスク (*) はファジー検索を示していません。

デバッグ

request_timeフィールドを含み、フィールド値が数値であるログ

request_time > -1000000000

デバッグ

とを含むログ

"and"
説明

この検索文では、は共通の文字列ですが、演算子ではありません。

デバッグ

リクエストメソッドフィールド値がPUTのログ

"request method":PUT
重要

リクエストメソッドフィールドの名前にはスペースが含まれます。 検索文では、フィールド名を二重引用符 ("") で囲む必要があります。

なし

トピックがHTTPSまたはHTTPのログ

__topic__:HTTPS or __topic__:HTTP

なし

192.0.2.1ホストから収集されたログ

__tag__:__client_ip__:192.0.2.1

__tag __:__ client_ip__ フィールドは、Simple Log Serviceの予約済みフィールドです。 このフィールドは、ログを収集するホストのIPアドレスを示します。 詳細については、「予約済みフィールド」をご参照ください。

重要

データ変換機能またはLogtailプラグインを使用してログを処理する場合、__tag __:__ client_ip__フィールドのキーが共通キーに変換されます。 ログを検索する場合は、検索文で__タグ __:__ client_ip__フィールドの名前を二重引用符 ("") で囲む必要があります。 例: "__tag __:__ client_ip__":192.0.2.1

なし

IPアドレスが192.168.XX.XXと一致するログ

* | select * from log where key like '192.168.%.%'

詳細については、「LIKE句を使用してファジー一致を実装する」をご参照ください。

なし

remote_userフィールドが空でないログ

not remote_user:""

デバッグ

remote_userフィールドが空のログ

remote_user:""

デバッグ

remote_userフィールド値がnullでないログ

not remote_user:"null"

デバッグ

remote_userフィールドを含まないログ

not remote_user:*

デバッグ

remote_userフィールドを含むログ

remote_user:*

デバッグ

cityフィールドの値が上海ではないログ

not city:Shanghai
説明

中国語文字列をクエリする場合は、インデックスを設定するときにInclude Chineseをオンにする必要があります。 詳細については、「インデックスの作成」をご参照ください。

なし

高度な検索例

  • ファジー検索

    期待される検索結果

    検索文

    デバッグ

    特定の単語を含むログ。 単語はcnで始まります。

    cn*

    デバッグ

    regionフィールド値がcnで始まるログ。

    region:cn*

    なし

    regionフィールド値にcn * が含まれるログ。

    region:"cn*"
    説明

    この検索文では、cn * は完全な文字列です。 例:

    • ログの内容がregion:cn *,enで、区切り文字がコンマ (,) の場合、Simple log Serviceはログの内容をregioncn * 、およびenに分割します。 検索文を使用してログを検索できます。

    • ログの内容がregion:cn * hangzhouの場合、Simple log Serviceはcn * hangzhou全体を考慮します。 この場合、検索文を使用してログを検索することはできません。

    なし

    特定の単語を含むログ。 単語はmoziで始まり、laで終わり、moziとlaの間に1文字が含まれます。

    mozi?la

    デバッグ

    特定の単語を含むログ。 単語はmoで始まり、laで終わり、moとlaの間に0文字以上の文字が含まれます。

    mo*la

    デバッグ

    特定の単語を含むログ。 言葉はmozまたはsaで始まります。

    moz* and sa*

    デバッグ

    regionフィールド値がhaiで終わるログ。

    検索文を使用してログを検索することはできません。 SQL文でLIKE句を使用して、ログを検索できます。 詳細については、「LIKE句を使用してファジー一致を実装する」をご参照ください。

    * | select * from log where region like '%hai'

    なし

  • 区切り文字ベースの検索

    Simple Log Serviceは、指定した区切り文字に基づいて、ログの内容を複数の単語に分割します。 デフォルトの区切り文字は、'";=()[]{}?@&<>/:\n\t\rです。 Delimiterを空のままにすると、Simple Log Serviceは各フィールドの値を全体として考慮します。 この場合、完全な文字列を使用するか、あいまい検索を実行することによってのみ、ログを検索できます。 区切り文字の指定方法の詳細については、「インデックスの作成」をご参照ください。

    たとえば、http_user_agentフィールドの値は、Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.2 (KHTML, like Gecko) Chrome/192.0.2.0 Safari/537.2です。

    • Delimiterを空のままにすると、Simple Log Serviceはフィールド値全体を考慮します。 この場合、http_user_agent:Chrome検索文を使用してログを検索することはできません。

    • Delimiter, '";=()[]{}?@&<>/:\n\t\rに設定した場合、Simple Log Serviceはフィールド値をMozilla5.0WindowsNT6.1AppleWebKit537.2KHTMLlikeに分割します。2. ヤモリクローム192.0.2.0サファリ537。 この場合、http_user_agent:Chrome検索文を使用してログを検索できます。

    重要

    検索キーワードに区切り文字が含まれている場合は、フレーズ検索を実行するか、LIKE句を使用できます。 例:

    • フレーズ検索: #"redo_index/1" 詳細については、「フレーズ検索」をご参照ください。

    • LIKE句: * | select * from log where key like 'redo_index/1'

    期待される検索結果

    検索文

    デバッグ

    http_user_agentフィールド値にChromeが含まれるログ

    http_user_agent:Chrome

    デバッグ

    http_user_agentフィールド値にLinuxおよびChromeが含まれるログ

    http_user_agent:Linux and http_user_agent:Chrome

    デバッグ

    http_user_agent:"Linux Chrome"

    デバッグ

    http_user_agentフィールド値にFirefoxまたはChromeが含まれるログ

    http_user_agent:Firefox or http_user_agent:Chrome

    デバッグ

    request_uriフィールド値に /request/path-2が含まれるログ

    request_uri:/request/path-2

    デバッグ

    request_uriフィールド値が /requestで始まり、/file-0を含まないログ

    request_uri:/request* not request_uri:/file-0

    デバッグ

    redo_index/1フレーズが完全に一致するログ

    • #"redo_index/1"

    • * | select * from log where key like 'redo_index/1'

    説明

    フレーズ検索を実行するか、LIKE句を使用してフレーズを完全に一致させることができます。 正確な検索を実行すると、redo_index1などの単語が一致します。

    なし

特別なシナリオでのクエリ例

  • 検索文

    この演算子は、構文キーワードを囲むために使用されます。 構文キーワードが二重引用符 ("") で囲まれている場合、キーワードは通常の単語に変換されます。 フィールド固有の検索では、二重引用符 ("") で囲まれた単語が全体として見なされます。

    • フィールド名またはフィールド値に、スペース、漢字、コロン (:) 、ハイフン (-) などの特殊文字、またはおよびまたはなどの構文キーワードが含まれる場合、フィールド名またはフィールド値を二重引用符 ("") で囲む必要があります。 たとえば、"and" は、単語とを含むログを返します。 この場合、演算子ではありません。

    • Simple Log Serviceは、sortascdescgroup byavgsumminmaxlimitをサポートしています。 これらの演算子をキーワードとして使用する場合は、演算子を二重引用符 ("") で囲む必要があります。

    • データ変換機能またはLogtailプラグインを使用してログを処理する場合、__tag __:__ client_ip__フィールドのキーが共通キーに変換されます。 ログを検索する場合は、検索文で__タグ __:__ client_ip__フィールドの名前を二重引用符 ("") で囲む必要があります。 例: "__tag __:__ client_ip__":192.0.2.1 __tag __:__ client_ip__ フィールドは、Simple Log Serviceの予約済みフィールドです。 このフィールドは、ログを収集するホストのIPアドレスを示します。 詳細については、「予約済みフィールド」をご参照ください。

    期待されるクエリ結果

    検索文

    リクエストメソッドフィールド値にPUTが含まれるログ。 リクエストメソッドフィールドの名前にはスペースが含まれます。

    "request method":PUT

    192.0.2.1ホストから収集されたログ。

    "__tag__:__client_ip__":192.0.2.1
  • 分析ステートメント

    • フィールド名やテーブル名などの固有名詞に、スペース、漢字、コロン (:) 、ハイフン (-) などの特殊文字や、またはなどの構文キーワードが含まれている場合は、固有名詞を二重引用符 (") で囲む必要があります。

    • 特定の文字が文字列を表す場合は、単一引用符 ('') を使用して文字を分析ステートメントで囲む必要があります。 たとえば、'status' はステータス文字列を示し、statusまたは "status" はステータスログフィールドを示します。

    期待されるクエリ結果

    クエリ文

    IPアドレスが192.168.XX.XXと一致するログ

    * | select * from log where key like '192.168.%.%'

    詳細については、「」をご参照ください。クエリ文で引用符を使用するにはどうすればよいですか。

関連ドキュメント