日志服务支持日志检索与分析功能,配置索引后才能进行日志查询和分析操作。配置索引时需要指定索引的类型和各个字段的数据类型,索引的配置决定了查询的方式和查询结果的精度。本文介绍配置索引的操作步骤及索引配置的详细说明。
前提条件
- 已创建日志项目和日志主题。详细说明请参考日志项目和日志主题。
- 推荐先通过 LogCollector 或其他方式采集到日志数据,再配置索引。详细说明请参考采集日志数据。
注意事项
分类 | 注意事项 |
---|
开启索引 | 全文索引与键值索引至少开启一项,索引关闭时采集的日志数据将无法被检索。 |
分词 | 日志服务单词存在 32766 字符限制,对于全文或单词过长的日志,如果未设置分词符,可能导致日志被丢弃。 |
全文索引 | - 执行全文检索前,必须先开启全文索引。开启全文索引后,日志服务会根据分词符将日志拆分为多个 text 类型的词,您可以输入关键词进行全文检索。
例如通过 error or warning 语句检索包含关键字 error 或 warning 的日志;通过 level:error 语句检索错误级别的日志。 - 仅开启全文索引时,您只能使用检索语法进行日志检索。
|
键值索引 | - 执行键值检索前,必须先为目标字段开启键值索引。开启键值索引后,日志服务先根据字段名称拆分日志,再在各个字段内根据分词符拆分字段值。
- 为目标字段配置键值索引且打开统计功能后,您才能在分析语句中使用该字段。
- 开启键值索引后,日志服务会默认为部分预留字段设置索引,详细说明请参考预留字段。
- 配置键值索引时,最多添加 100 个日志字段。
|
修改索引 | 配置索引后可以随时修改索引,修改索引后: - 新索引仅对修改之后采集到的新数据生效,已构建好的旧数据索引不会更新。
- 检索日志时,旧数据仍旧遵循旧的索引规则,但如果删除了键值索引,则不再支持键值查询。
- 分析日志时,旧数据不参与分析,仅修改索引后采集的日志参与分析。
|
索引流量 | - 全文索引
字段名和字段值均以 text 类型存储,均会产生索引流量。 - 键值索引
- text 类型:字段名和字段值均会产生索引流量。
- 数值类型:long 类型和 double 类型的字段名不会产生索引流量,每个字段值占用的索引流量均为 8 字节。
- JSON 类型:字段名和字段值(包括子字段)均会产生索引流量。
- 未对 JSON 子字段创建索引时,该子字段为 JSON 类型字段的值,日志服务会按照 text 类型计算索引流量。
- 为 JSON 子字段创建了索引时,日志服务根据该子字段的数据类型(text、long、double)计算索引流量。
|
操作步骤
- 登录日志服务控制台。
- 在顶部导航栏中,选择日志服务所在的地域。
- 在左侧导航栏中,选择常用功能 > 检索分析。
- 在检索分析页面的左侧列表中,选择指定的日志项目和日志主题。
- 在指定日志主题的检索分析页面,单击索引配置。
- 打开启用索引,并按需选择索引类型。
日志服务支持以下类型的索引配置,详细的配置方式请参考:
- 单击确定。
索引配置预计 1 分钟以内生效,请稍后刷新页面查看实时日志,或检索分析日志。
全文索引配置
在索引配置页面,开启全文索引,并填写以下配置。
配置 | 说明 |
---|
启用大小写敏感 | 检索时,对于英文字母,是否区分大小写。 - 启用:查询时区分大小写。例如对于包含
error 的日志,只能使用 error 关键词进行查询,通过 ERROR 查询不到该日志。 - 未启用:查询时不区分大小写。例如对于包含
error 的日志,通过 error 或 ERROR 均可以查询到该日志。
|
启用包含中文 | 检索时,是否区分中英文。 - 启用:如果日志中包含中文字符,则根据常见的中文语法进行所有内容的分词。此时不支持自定义分词符。
- 未启用:根据启用分词符的设置决定分词的方式,即不分词,或根据指定分词符进行分词。
说明 即使关闭了包含中文配置,也可以检索日志中的中文字符,此时检索的关键词必须完全匹配该中文字段。
例如日志中包含中文字段访问请求失败: - 此功能关闭时,以关键词失败进行检索时,无法检索到该日志,必须检索完整的关键词访问请求失败,才能检索到该日志。
- 此功能启用后,可通过搜索访问、请求或失败检索到该日志。
|
启用分词符 | 是否根据指定分词符拆分日志内容。 - 启用:根据指定分词符拆分日志内容,根据拆分后的日志内容进行查询。默认分词符为
, '"=()[]{}?@&<>/:\n\t\r ,日志服务所支持的分词符包括大小写字母、数字以及 !@#%^&*()-_=\\\"', <>/?|;:\n\t\r[]{}. 。 - 未启用:不分词,每条日志将作为一个整体进行查询。
|
键值索引配置
在索引配置页面,开启键值索引,并填写相关配置。
开启键值索引后,日志服务会根据采集到的日志数据自动联想相关索引配置,您可以根据联想到的索引配置进行修改,或者清空已联想的配置,单击添加字段重新设置索引。
由日志服务自动配置键值索引时,默认获取预览数据中的第一条日志。
- 单击追加保留已存在的索引属性,key 相同的字段则更新配置。
- 单击覆盖则直接替换已存在的索引属性。
配置 | 说明 |
---|
字段名称 | 日志字段的名称,即键值对中的 Key。 - 仅支持字母、数字、空格、下划线(_)、连字符(-)和斜线(/),并且不支持以空格开头或结尾。
- 同一个索引中 key 名称唯一。
- 长度为 1~128 字符。
|
字段类型 | 日志字段的数据类型。请根据实际情况如实填写数据类型,数据类型的设置将影响检索分析结果的正确性和精度。详细说明请参考索引数据类型。
支持设置的数据类型包括 text、long、double 和 json。 |
统计 | 是否开启统计。 - 启用:该字段参与统计分析。
- 未启用:该字段不参与统计分析。
|
字段配置 | 大小写敏感 | 根据字段进行查询分析时,对于英文字母,是否区分大小写。 - 启用:查询时区分大小写。例如对于包含
error 的日志,只能使用 error 关键词进行查询,通过 ERROR 查询不到该日志。 - 未启用:查询时不区分大小写。例如对于包含
error 的日志,通过 error 或 ERROR 均可以查询到该日志。
|
包含中文 | 根据字段进行查询时,是否区分中英文。 - 启用:如果日志中包含中文字符,则根据常见的中文语法进行所有内容的分词。此时不支持自定义分词符。
- 未启用:根据启用分词符的设置决定分词的方式,即不分词,或根据指定分词符进行分词。
|
分词符 | 根据字段进行查询是否根据指定分词符拆分日志内容。 - 启用:根据指定分词符拆分日志内容,根据拆分后的日志内容进行查询。默认分词符为
, '"=()[]{}?@&<>/:\n\t\r ,日志服务所支持的分词符包括大小写字母、数字以及 !@#%^&*()-_=\\\"', <>/?|;:\n\t\r[]{}. 。 - 不启用:不分词,每条日志将作为一个整体进行查询。
|
预留字段索引配置
将日志数据写入日志服务时,日志服务默认为每一条日志添加部分元数据字段,用于记录该日志的日志来源、时间戳等信息。这些字段统称为日志服务的预留字段。开启索引功能后,日志服务默认为部分预留字段开启键值索引与统计,例如 __time__
等字段。预留字段的默认索引配置请参考预留字段。
对于没有预置索引的字段,例如 __content__
字段,您可以通过预留字段索引手动为其设置索引。在索引配置页面,开启预留字段索引,并填写相关配置。各个配置项的详细说明请参考键值索引配置。
说明
- 目前仅
__content__
字段支持设置预留字段索引。如果设置 __content__
字段为 json 类型,支持开启对Json内所有文本字段自动索引功能。 - 支持同时开启全文索引和
__content__
预留字段索引。同时开启后,会计算双倍的索引流量费用和索引存储空间费用。
相关操作