全部产品
Search
文档中心

日志服务:通过索引模式查询和分析日志

更新时间:Dec 11, 2024

日志服务支持通过索引模式查询和分析日志。本文介绍索引,查询和分析的基本概念。

索引

通常我们使用关键词从原始日志中检索想要的内容,例如包含curl的日志:curl/7.74.0。如果不进行切分,该日志文本会作为一个整体,不能和关键词curl完全对应,因此不会被日志服务检索到。

为了便于检索,需要将日志切分成独立、可搜索的词。日志切分由分词符实现,这些符号决定了日志文本内容被切分的位置。以该日志为例,使用分词符\n\t\r,;[]{}()&^*#@~=<>/\?:'"进行分割,得到的词是curl7.74.0日志服务基于切分出的关键词建立索引。创建索引后,您才能对日志进行查询和分析。

日志服务Project支持创建全文索引和字段索引。如果您同时创建了全文索引和字段索引,以字段索引的配置为准。

全文索引

全文索引根据分词符直接将整个日志切分成多个text类型的词语。创建全文索引后,可以通过关键词进行查询,例如查询语句:Chrome or Safari ,查询包括ChromeSafari的日志。

重要
  • 分词符不支持中文,开启包含中文选项,日志服务会自动按照中文分词。

  • 如果只配置全文索引,则只能使用全文查询功能。更多信息,请参见查询语法与功能

字段索引

字段索引将日志根据字段名称(KEY)进行区分,然后在字段内使用分词符进行分割。字段索引支持textlongdoubleJSON四种类型的数据。更多信息,请参见数据类型。创建字段索引后,可以指定字段名称和字段值(Key:Value)进行查询,也可以使用SELECT语句。更多信息,请参见字段查询

重要
  • 如需对字段进行查询或分析(SELECT语句),必须创建字段索引。字段索引的优先级高于全文索引,如果同时创建了全文索引和字段索引,以字段索引的配置为准。

  • text类型的字段,可以使用全文查询语句、字段查询语句和分析语句(SELECT)。

    • 如果未开启全文索引,全文查询语句是从所有text类型的字段中查询结果。

    • 如果已开启全文索引,全文查询语句是从所有日志中查询结果。

  • longdouble类型的字段,可以使用字段查询语句和分析语句(SELECT)进行查询和分析。

查询与分析

日志服务支持秒级查询十亿到千亿级别的日志,并支持通过SQL对查询结果进行统计分析。查询语句可单独使用,分析语句必须与查询语句一起使用,即分析功能是基于查询结果或全量数据进行的。在Logstore中进行查询和分析操作,请参见查询和分析日志

查询简介

  • 查询语句用于指定日志查询时的过滤规则,返回符合条件的日志。格式为:查询语句,例如status: 200

  • 查询条件可使用关键词、数值、数值范围、空格、*等。 如果为空格或*,表示无过滤条件。更多信息,请参见查询语法与功能

分析简介

  • 查询语句和分析语句以|分割。格式为:查询语句|分析语句,例如:* | SELECT status, count(*) AS PV GROUP BY status

  • 如需使用分析功能,则必须将日志采集到Standard Logstore中,且在配置索引时打开对应字段的开启统计开关。

  • 分析语句对查询结果或全量数据进行计算和统计。日志服务支持的分析函数和语法,请参见:

    • SQL函数:SQL函数通常用于对数据进行计算、转换和格式化。例如,计算总和、平均值、字符串操作、日期处理等。

    • SQL子句:SQL子句用于构建完整的SQL查询或数据操作语句,决定数据的来源、条件、分组、排序等。

    • 嵌套子查询:嵌套子查询是指将一个SELECT语句嵌套在另一个SELECT语句中,用于复杂的分析场景。

    • Logstore和MySQL联合查询分析:日志服务支持通过Join语法将Logstore和MySQL数据库进行联合查询,并把查询结果保存到MySQL数据库中。

相关文档

  • 创建索引:如需使用查询或分析功能,必须创建索引。

  • 重建索引:如需对历史数据配置索引或修改索引时,可以使用重建索引功能。

  • 查询语法与功能:介绍查询语句的基本用法以及更多高级功能。

  • SQL分析语法与功能:介绍SQL分析语句的常用函数以及子句。

  • 使用SPL查询和分析日志:如需对日志数据进行结构化信息提取、字段操作和数据过滤时,可以通过使用SPL语言(SLS Processing Language)来解决这些问题。

  • 机器学习语法与函数:在日志查询分析中通过分析语句和机器学习函数调用机器学习算法,分析某一字段或若干字段在一段时间内的特征。

  • 关联外部数据源:可用于日志服务与MySQL数据库、阿里云对象存储OSS、托管的CSV文件进行关联。

  • 日志服务与Elasticsearch的兼容性:日志服务提供Elasticsearch兼容接口,支持您将日志采集到日志服务后,仍可以沿用Elasticsearch的查询方案。