sample 的如下完整日志:10.20.20.10;[2018-07-16 13:12:57];GET /online/sample HTTP/1.1;200
sample 外还有很多其他内容,其与检索条件并不是直接相等,因此不能直接使用 sample 作为检索条件来检索该日志。为满足该检索需求,需要将日志全文切分为多个片段,每个片段称之为一个“词”,而这个过程称之为“分词”。@&()='",;:<>[]{}/ \\n\\t\\r\\\\范围内的符号,就切分日志,将得到如下的词:
sample 时,上述分词后的日志包含 sample,即认为符合检索条件。
"/online/sample"online 和 sample,且词的顺序与检索条件一致,符合该检索条件。"/online/login"login,不符合该检索条件。类别 | 描述 |
全文索引 | 全文索引将日志全文整体切分为多个分词进行索引构建,检索时直接通过关键词进行检索(即全文检索),例如使用 error 检索所有出现过 error 的日志。 |
键值索引 | 键值索引将原始日志按字段(即 key:value)分别切分为多个分词进行索引构建,检索时基于键值方式进行检索(即键值检索),例如使用 level:error AND timeCost:>1000检索日志级别(level)为 error 且耗时(timeCost)大于 1000ms 的日志。 |
配置项 | 功能描述 |
全文分词符 | 对原始日志进行分词的字符集合,仅支持英文符号,控制台默认分词符为 @&?|#()='",;:<>[]{}/ \\n\\t\\r\\\\。 |
大小写敏感 | 检索时是否对大小写敏感。例如日志为 Error,若大小写敏感,则使用 error 无法检索到该条日志。 |
是否包含中文 | 日志中包含中文且需要对中文进行检索时可开启该功能。例如日志为“用户登录接口超时”,若未开启该功能,搜索 "超时"无法检索到该日志,只有完整地搜索"用户登录接口超时"才能检索到该日志,开启该功能后便可通过搜索“超时”检索到该日志。 |
配置项 | 功能描述 | |
整体配置 | 大小写敏感 | 检索时是否对大小写敏感。例如日志为“level:Error”,若大小写敏感,则使用 level:error 无法检索到该条日志。 |
| 自动配置 | |
字段配置 | 字段名称 | 支持除 *\\",外的所有英文字母、符号及数字,不能以_开头(__CONTENT__字段例外)字段类型中不存在 json 时,不允许同时包含父子级字段,例如 a 及 a.b。 |
| 字段别名 | 使用别名代替原始字段名称进行检索分析,例如为 __SOURCE__字段添加别名 ip。别名仅支持字母、数字和下划线,且需以字母开头。 仅支持 CQL 语法,不支持 Lucene 语法。 |
| 字段类型 | 字段的数据类型,包括 text、long、double、json 四种类型。 text、json 类型支持使用通配符进行模糊检索,不支持范围比较。 long、double 类型支持范围比较,不支持模糊检索。 使用 json 类型时,可添加子级字段,子级字段可设定为 text、long、double 类型,或继续使用 json 类型以添加更深层级字段。 说明: json 类型目前仅部分用户或日志主题支持,如需使用请 联系我们 开启功能白名单。 索引配置中存在 json 类型时, a.b 格式的字段名称将严格代表日志字段名称为字符串 a.b,而不再代表 a 对象的子级 b。 |
| 分词符 | 对字段值进行分词的字符集合,仅支持英文符号,控制台默认分词符为 @&?|#()='",;:<>[]{}/ \\n\\t\\r\\\\。 |
| 包含中文 | 字段中包含中文且需要对中文进行检索时可开启该功能。例如日志为“message:用户登录接口超时”,若未开启该功能,使用 message:"超时"无法检索到该日志,只有使用 message:"用户登录接口超时"才能检索到该日志,开启该功能后便可使用 message:"超时"检索该日志。 |
| 开启统计 | 开启后可对该字段使用 SQL 进行统计分析,text 类型字段开启统计时,如果值过长,仅前32766个字符参与统计运算。 开启统计不会额外产生费用,建议您开启。 |
内置保留字段 | 说明 | 键值索引配置 |
__FILENAME__ | 日志采集的文件名,可以利用该字段检索特定文件下的日志,例如 __FILENAME__:"/var/log/access.log" 检索 /var/log/access.log 文件的日志。 | text 类型、无分词符、不包含中文、已开启统计 |
__SOURCE__ | 日志采集的源 IP,可以利用该字段检索特定机器下的日志,例如 __SOURCE__:192.168.10.10 检索192.168.10.10 机器的日志。 | text 类型、无分词符、不包含中文、已开启统计 |
__HOSTNAME__ | 日志来源机器名称,可以利用该字段检索特定机器下的日志,例如 __HOSTNAME__:localhost 检索 localhost 机器的日志。注意:需使用2.7.4及以上版本的 Loglistener 才会采集该字段。 | text 类型、无分词符、不包含中文、已开启统计 |
__TIMESTAMP__ | 日志时间戳(毫秒级别 Unix 时间戳),按时间范围检索日志时,将自动使用该时间对日志进行检索,无需在检索语句中指定。在控制台显示为“日志时间”。 | long 类型,已开启统计 |
__INDEX_STATUS__ | 使用 __INDEX_STATUS__:*可以查询所有索引创建异常的日志。 | text 类型、无分词符、不包含中文、已开启统计 |
字段类型 | 分词符 | 包含中文 | 开启统计 |
text | @&?|#()='",;:<>[]{}/ \\n\\t\\r\\\\ | 包含 | 开启 |
long | 不涉及 | 不涉及 | 开启 |
double | 不涉及 | 不涉及 | 开启 |
key1:textValuekey2:123key3:{"ip":"123.123.123.132","url":"class/132.html","detail":{"status_code":"500","id":13}}
字段名称 | 字段类型 | 分词符 | 包含中文 | 开启统计 |
key1 | text | @&?|#()='",;:<>[]{}/ \\n\\t\\r\\\\ | 包含 | 开启 |
key2 | long | 不涉及 | 不涉及 | 开启 |
key3 | text | @&?|#()='",;:<>[]{}/ \\n\\t\\r\\\\ | 包含 | 开启 |
字段名称 | 字段类型 | 分词符 | 包含中文 | 开启统计 |
key1 | text | @&?|#()='",;:<>[]{}/ \\n\\t\\r\\\\ | 包含 | 开启 |
key2 | long | 不涉及 | 不涉及 | 开启 |
key3.ip | text | @&?|#()='",;:<>[]{}/ \\n\\t\\r\\\\ | 包含 | 开启 |
key3.url | text | @&?|#()='",;:<>[]{}/ \\n\\t\\r\\\\ | 包含 | 开启 |
key3.detail | text | @&?|#()='",;:<>[]{}/ \\n\\t\\r\\\\ | 包含 | 开启 |
配置项 | 含义 | 推荐配置 |
内置保留字段包含至全文索引 | 包含:全文索引包含 __FILENAME__、__HOSTNAME__及__SOURCE__这三个内置字段,同时支持全文检索及键值检索,例如"/var/log/access.log"、__FILENAME__:"/var/log/access.log"。不包含:全文索引不包含上述三个内置字段,只能使用键值检索,例如 __FILENAME__:"/var/log/access.log"。 | 包含 |
元数据字段包含至全文索引 | 包含:全文索引包含所有元数据字段(前缀为 __TAG__的字段),可直接使用全文检索的方式检索相关日志字段,例如 ap-beijing。不包含:全文索引不包含任何元数据字段,只能使用键值检索的方式检索相关日志字段,例如 __TAG__.region:ap-beijing。低频日志主题不支持键值检索,此时将无法检索这些字段。仅包含开启键值索引元数据字段:全文索引包含开启了键值索引的元数据字段,不包含未开启键值索引的元数据字段,低频日志主题无该选项。 | 包含 |
日志创建索引异常存储规则 | 日志创建索引过程中如果出现异常,CLS 为了确保日志不丢失,会将原始日志存储在 __RAWLOG__中。如果此时仅部分字段创建索引失败,可将失败的部分存储在指定字段中(默认为 RAWLOG_FAIL_PART),请参见 创建索引出现异常是什么意思。 | 启用 |

__RAWLOG__中,作为兜底的异常处理方式。__INDEX_STATUS__则为创建索引异常的原因。__RAWLOG__仅支持全文检索(需开启全文索引),不支持键值检索、键值索引和统计分析。__INDEX_STATUS__支持全文检索及键值检索,使用__INDEX_STATUS__:*可以查询所有索引创建异常的日志。__RAWLOG__字段,只能使用全文检索。
__RAWLOG__字段,又具备创建索引成功的部分字段。

文档反馈