Log Service の解析検索機能を使用する前に、ログのインデックスを有効化し、設定する必要があります。

このタスクについて

そうしなければ、収集したログを検索できません。 ログフィールドと検索要件に基づいてインデックスを設定します。

  • 解析検索機能が有効になった後、データはバックエンドサーバー上でインデックス付きされます。 そのため、インデックストラフィックが発生し、インデックスストレージスペースが必要になります。
  • インデックス設定は、設定が有効または変更されてから、記録されたデータにのみ有効になります。
  • フルテキストインデックスとキー/値インデックスのうち、少なくとも 1 つのインデックスをログに対して有効にする必要があります。
  • SQL ステートメントを使用してフィールドの検索結果を分析するには、そのフィールドの分析機能を有効化する必要があります。
  • インターネット IP アドレスや Unix タイムスタンプなどのタグフィールドにインデックスを設定する場合は、キー名__tag __:key 形式の値に設定します。例:_tag __:__ receive_time__。 タグフィールドは数値型のインデックスをサポートしません。 その代わりに、すべてのタグフィールドのタイプをテキストに設定します。 例えば、キー名 __tag __:__ receive_time__ を持つフィールドを検索するには、__ tag __:__ receive_time__:1537928* などのファジー値、または __tag __:__ receive_time__:1537928404 などのフィールドの完全値を使用できます。
ログが収集されると、ログに関するソースや時間などの情報が、キーと値のペアとしてログに自動的に追加されます。 これらのフィールドは Log Service で予約されています。 ログのインデックスを有効化し、設定すると、これらのフィールドに対するインデックスと分析機能が自動的に有効になります。
__topic__ および__source__ フィールドの区切り文字はヌルです。 つまり、2 つのフィールドを検索するために使用されるキーワードはフィールド値と一致しなければなりません。
表 1. Log Service の予約フィールド
名前 説明
__topic__ ログのトピック。 ログにトピックを設定した場合、Log Service は自動的にトピックフィールドをログに追加します。 フィールドのキーは __topic__ であり、その値はログトピックです。
__source__ ログを生成するソース機器。
__time__ SDK を使用してログデータを書き込む際に指定した時間。

手順

  1. Log Service コンソールにログインし、プロジェクト名をクリックします。
  2. 解析検索列で、検索をクリックします。
  3. 右上隅の有効化をクリックします。
    作成済みのインデックスが存在する場合、インデックス属性 > 変更をクリックしてインデックスを変更することができます。
  4. ログのインデックスを設定します。
    Log Service は、フルテキストインデックスとキー/値インデックスの 2 種類のインデックスをサポートしています。 2 つのインデックスのうち、少なくとも 1 つをログに設定する必要があります。
    フルテキストインデックスとキー/値インデックスの両方がログに設定されている場合は、キー/値インデックスが優先されます。
    インデックスタイプ 説明
    フルテキストインデックス ログ内のすべてのフィールドが、キー/値インデックスを持つテキストとして検索されます。 インデックスの key と値はテキストであり、どちらも検索可能です。 検索で key 名を特定する必要がありません。
    キー/値インデックス フィールドにキー/値インデックスを設定後、フィールドを検索するためのキー名を指定する必要があります。 フルテキストインデックスがログに設定され、キー/値インデックスがログ内のフィールドに設定されている場合、フルテキストインデックスはそのフィールドに対して有効になりません。
    フィールドに複数のデータ型を設定できます:
    1. ログにフルテキストインデックスを設定します。

      ログの全部の内容のインデックスを設定できます。 ログを検索すると、ログ内のすべてのキーの値がデフォルトで検索されます。

      パラメータ 説明
      フルテキストインデックス このオプションを有効にすると、ログの全部の内容に対してインデックスが有効になります。 ログ内のすべてのキーの値はデフォルトで検索されます。 いずれか一つのキーがキーワードに一致すると、検索結果に表示されます。 -
      大文字と小文字を区別 検索で大文字と小文字が区別されるかどうかを指定します。
      • このオプションを無効にすると、検索では大文字と小文字が区別されません。つまり、内部エラーログは、キーワード "INTERNALERROR"と "internalerror"の両方で検索できます。
      • このオプションを有効にすると、検索では大文字と小文字が区別されます。つまり、 "internalError"を含むログは、キーワード "internalError"でのみ検索できます。
      -
      漢字 英語と中国語を区別するかどうかを設定します。
      • 有効にすると、ログに中国語が含まれる場合、中国語の単語分割は中国語の文法に従って実行され、英語の単語分割は単語分割文字に従って実行されます。
      • 無効にすると、すべての内容を区切り文字で分割します。
      -
      区切り文字 ログを複数のキーワードに分けるために使用されるシングルバイト文字を指定します。 たとえば、ログの内容が a,b;c;D-F の場合、ログを a、b、c、D、および F の 5 つのキーワードに分けるために区、切り文字カンマ(、)、セミコロン(;)、およびハイフン( - )を指定できます。 , '";=()[]{}? @&<>/:\n\t
    2. ログのキー/値インデックスを設定します。
      指定した key にインデックスを設定できます。 ログにキー/値インデックスを設定後、指定した key を検索して検索範囲を絞り込むことができます。
      • Log Service は自動的に予約済みフィールドのインデックスを作成し、フィールドの分析機能を有効にします。 予約フィールドには、__topic____ source__、および __time__ があります。

      • このトピックでは、[カスタマイズ]タブページの設定を例として説明します。 Nginx テンプレートと MNS テンプレートは、Nginx ログと MNS ログを収集するためにのみ使用され、カスタマイズされたインデックス設定をサポートしません。

      • インターネット IP アドレスや Unix タイムスタンプなどのタグフィールドにインデックスを設定する場合は、キー名__tag__:key 形式の値に設定します。 例:_tag__:__receive_time__。 タグフィールドは数値型のインデックスをサポートしません。 すべてのタグフィールドのタイプをテキストに設定します。 例えば、キー名 __tag__:__receive_time__ を持つフィールドを検索するには、__tag__:__receive_time__: 1537928* などのファジー値、または __tag__:__receive_time__: 1537928404 などのフィールドの完全値を使用できます。
      パラメータ 説明
      キー名 ログ内のフィールドの名前を指定します。 _address_
      タイプ ログ内のフィールドのデータ型を指定します。
      • text:フィールドの内容がテキスト型である。
      • long:フィールドの内容が整数である。 このフィールドは値の範囲で検索する必要があります。
      • double:フィールドの内容が浮動小数点数である。 このフィールドは値の範囲で検索する必要があります。
      • json:フィールドの内容がJSON形式である。
      数値型(Long と Double)は、大文字と小文字を区別する文字区切り文字をサポートしません。
      -
      エイリアス 列の別名。

      別名は SQL 統計にのみ使用されます。 フィールドは、基礎となるストレージ内の元の名前で識別されます。 そのため、フィールドを検索するにはフィールドの元の名前を使用する必要があります。 詳細は、列のエイリアス を参照してください。

      address
      大文字と小文字を区別 クエリで大文字と小文字が区別されるかどうかを指定します。 このパラメータには 2 つの値があります
      • false:検索では大文字と小文字が区別されません。つまり、サンプルログはキーワード "INTERNALERROR"と "internalerror"の両方で検索できます。
      • true:検索では大文字と小文字が区別されます。つまり、サンプルログはキーワード "internalError"でのみクエリできます。
      -
      区切り文字 ログを複数のキーワードに分けるために使用されるシングルバイト文字を指定します。

      たとえば、ログの内容が a,b;c;D-F の場合、ログを a、b、c、D、および F の 5 つのキーワードに分けるために、区切り文字カンマ(、)、セミコロン(;)、およびハイフン( - )を指定できます。

      , '";=()[]{}? @&<>/:\n\t
      分析機能の有効化 Analytics 機能を有効にするかどうかを指定します。 この機能はデフォルトで有効にしています。

      分析機能を使用可能にしたら、検索と分析ステートメントを使用して検索結果を分析することができます。

      -
  5. OK をクリックします。
    • インデックス設定は 1 分以内に有効になります。
    • インデックス設定は、設定が有効または変更されてから、記録されたデータにのみ有効になります。