You need to enable JavaScript to run this app.
导航
配置索引
最近更新时间:2024.10.21 17:49:48首次发布时间:2024.01.22 17:18:37

日志服务支持日志检索与分析功能,配置索引后才能进行日志查询和分析操作。配置索引时需要指定索引的类型和各个字段的数据类型,索引的配置决定了查询的方式和查询结果的精度。本文介绍配置索引的操作步骤及索引配置的详细说明。

前提条件

  • 已创建日志项目和日志主题。详细说明请参考日志项目日志主题
  • 推荐先通过 LogCollector 或其他方式采集到日志数据,再配置索引。详细说明请参考采集日志数据

注意事项

分类

注意事项

开启索引

全文索引与键值索引至少开启一项,索引关闭时采集的日志数据将无法被检索。

分词

日志服务单词存在 32766 字符限制,对于全文或单词过长的日志,如果未设置分词符,可能导致日志被丢弃。

全文索引

  • 执行全文检索前,必须先开启全文索引。开启全文索引后,日志服务会根据分词符将日志拆分为多个 text 类型的词,您可以输入关键词进行全文检索。
    例如通过 error or warning 语句检索包含关键字 errorwarning 的日志;通过 level:error 语句检索错误级别的日志。
  • 仅开启全文索引时,您只能使用检索语法进行日志检索。

键值索引

  • 执行键值检索前,必须先为目标字段开启键值索引。开启键值索引后,日志服务先根据字段名称拆分日志,再在各个字段内根据分词符拆分字段值。
  • 为目标字段配置键值索引且打开统计功能后,您才能在分析语句中使用该字段。
  • 开启键值索引后,日志服务会默认为部分预留字段设置索引,详细说明请参考预留字段
  • 配置键值索引时,最多添加 100 个日志字段。

修改索引

配置索引后可以随时修改索引,修改索引后:

  • 新索引仅对修改之后采集到的新数据生效,已构建好的旧数据索引不会更新。
  • 检索日志时,旧数据仍旧遵循旧的索引规则,但如果删除了键值索引,则不再支持键值查询。
  • 分析日志时,旧数据不参与分析,仅修改索引后采集的日志参与分析。

索引流量

  • 全文索引
    字段名和字段值均以 text 类型存储,均会产生索引流量。
  • 键值索引
    • text 类型:字段名和字段值均会产生索引流量。
    • 数值类型:long 类型和 double 类型的字段名不会产生索引流量,每个字段值占用的索引流量均为 8 字节。
    • JSON 类型:字段名和字段值(包括子字段)均会产生索引流量。
      • 未对 JSON 子字段创建索引时,该子字段为 JSON 类型字段的值,日志服务会按照 text 类型计算索引流量。
      • 为 JSON 子字段创建了索引时,日志服务根据该子字段的数据类型(text、long、double)计算索引流量。

操作步骤

  1. 登录日志服务控制台
  2. 在顶部导航栏中,选择日志服务所在的地域。
  3. 在左侧导航栏中,选择常用功能 > 检索分析
  4. 检索分析页面的左侧列表中,选择指定的日志项目和日志主题。
  5. 在指定日志主题的检索分析页面,单击索引配置
  6. 打开启用索引,并按需选择索引类型。
    日志服务支持以下类型的索引配置,详细的配置方式请参考:
  7. 单击确定
    索引配置预计 1 分钟以内生效,请稍后刷新页面查看实时日志,或检索分析日志。

全文索引配置

在索引配置页面,开启全文索引,并填写以下配置。

配置

说明

启用大小写敏感

检索时,对于英文字母,是否区分大小写。

  • 启用:查询时区分大小写。例如对于包含 error 的日志,只能使用 error 关键词进行查询,通过 ERROR 查询不到该日志。
  • 未启用:查询时不区分大小写。例如对于包含 error 的日志,通过 errorERROR 均可以查询到该日志。

启用包含中文

检索时,是否区分中英文。

  • 启用:如果日志中包含中文字符,则根据常见的中文语法进行所有内容的分词。此时不支持自定义分词符。
  • 未启用:根据启用分词符的设置决定分词的方式,即不分词,或根据指定分词符进行分词。

说明

即使关闭了包含中文配置,也可以检索日志中的中文字符,此时检索的关键词必须完全匹配该中文字段。
例如日志中包含中文字段访问请求失败

  • 此功能关闭时,以关键词失败进行检索时,无法检索到该日志,必须检索完整的关键词访问请求失败,才能检索到该日志。
  • 此功能启用后,可通过搜索访问请求失败检索到该日志。

启用分词符

是否根据指定分词符拆分日志内容。

  • 启用:根据指定分词符拆分日志内容,根据拆分后的日志内容进行查询。默认分词符为 , '"=()[]{}?@&<>/:\n\t\r ,日志服务所支持的分词符包括大小写字母、数字以及 !@#%^&*()-_=\\\"', <>/?|;:\n\t\r[]{}.
  • 未启用:不分词,每条日志将作为一个整体进行查询。

键值索引配置

在索引配置页面,开启键值索引,并填写相关配置。
开启键值索引后,日志服务会根据采集到的日志数据自动联想相关索引配置,您可以根据联想到的索引配置进行修改,或者清空已联想的配置,单击添加字段重新设置索引。
由日志服务自动配置键值索引时,默认获取预览数据中的第一条日志。

  • 单击追加保留已存在的索引属性,key 相同的字段则更新配置。
  • 单击覆盖则直接替换已存在的索引属性。

配置

说明

字段名称

日志字段的名称,即键值对中的 Key。

  • 仅支持字母、数字、空格、下划线(_)、连字符(-)和斜线(/),并且不支持以空格开头或结尾。
  • 同一个索引中 key 名称唯一。
  • 长度为 1~128 字符。

说明

最多添加 100 个日志字段。

字段类型

日志字段的数据类型。请根据实际情况如实填写数据类型,数据类型的设置将影响检索分析结果的正确性和精度。详细说明请参考索引数据类型
支持设置的数据类型包括 text、long、double 和 json。

统计

是否开启统计。

  • 启用:该字段参与统计分析。
  • 未启用:该字段不参与统计分析。

字段配置

大小写敏感

根据字段进行查询分析时,对于英文字母,是否区分大小写。

  • 启用:查询时区分大小写。例如对于包含 error 的日志,只能使用 error 关键词进行查询,通过 ERROR 查询不到该日志。
  • 未启用:查询时不区分大小写。例如对于包含 error 的日志,通过 errorERROR 均可以查询到该日志。

包含中文

根据字段进行查询时,是否区分中英文。

  • 启用:如果日志中包含中文字符,则根据常见的中文语法进行所有内容的分词。此时不支持自定义分词符。
  • 未启用:根据启用分词符的设置决定分词的方式,即不分词,或根据指定分词符进行分词。

分词符

根据字段进行查询是否根据指定分词符拆分日志内容。

  • 启用:根据指定分词符拆分日志内容,根据拆分后的日志内容进行查询。默认分词符为 , '"=()[]{}?@&<>/:\n\t\r ,日志服务所支持的分词符包括大小写字母、数字以及 !@#%^&*()-_=\\\"', <>/?|;:\n\t\r[]{}.
  • 不启用:不分词,每条日志将作为一个整体进行查询。

预留字段索引配置

将日志数据写入日志服务时,日志服务默认为每一条日志添加部分元数据字段,用于记录该日志的日志来源、时间戳等信息。这些字段统称为日志服务的预留字段。开启索引功能后,日志服务默认为部分预留字段开启键值索引与统计,例如 __time__ 等字段。预留字段的默认索引配置请参考预留字段
对于没有预置索引的字段,例如 __content__ 字段,您可以通过预留字段索引手动为其设置索引。在索引配置页面,开启预留字段索引,并填写相关配置。各个配置项的详细说明请参考键值索引配置

说明

  • 目前仅 __content__ 字段支持设置预留字段索引。
  • 支持同时开启全文索引和 __content__ 预留字段索引。同时开启后,会计算双倍的索引流量费用和索引存储空间费用。

相关操作