查询和分析

本文介绍日志服务查询和分析的限制。

Logstore

查询

限制项

说明

备注

关键词个数

关键词查询时,除布尔逻辑符外的条件个数。每次查询最多30个。

字段值大小

单个字段值最大为512 KB,超出部分不参与查询。

如果单个字段长度大于512 KB,有一定几率无法通过关键词查询到日志,但数据仍然是完整的。

操作并发数

单个Project支持的最大查询操作并发数为100个。

例如100个用户同时在同一个Project的各个Logstore中执行查询操作。

返回结果

每次查询时,每页最多显示100条查询结果,您可翻页读取完整的查询结果。

模糊查询

执行模糊查询时,日志服务最多查询到符合条件的100个词,并返回包含这100个词并满足查询条件的所有日志。更多信息,请参见模糊查询

查询结果排序

默认按照秒级时间(如果存在纳秒级则以纳秒级时间)从最新开始展示。

分析

限制项

普通实例

独享实例

操作并发数

单个Project支持的最大分析操作并发数为15个。

例如最大支持15个用户同时在一个Project的各个Logstore中执行分析操作。

单个Project支持的最大分析操作并发数为100个。

例如最大支持100个用户同时在一个Project的各个Logstore中执行分析操作。

数据量

单个Shard单次最大支持查询分析1GB索引数据。

单次分析最大支持扫描2000亿行数据。

开启模式

默认开启。

通过开关开启。具体操作,请参见开启SQL独享版

费用

免费。

根据实际使用的CPU时间付费。

数据生效机制

分析功能只对开启统计功能后写入的数据生效。

如果您需要分析历史数据,请对历史数据重建索引。更多信息,请参见重建索引

分析功能只对开启统计功能后写入的数据生效。

如果您需要分析历史数据,请对历史数据重建索引。更多信息,请参见重建索引

返回结果

执行分析操作后,默认最多返回100行数据,最大返回100MB的数据,超过100MB的分析语句会报错。

如果您需要返回更多数据,请使用LIMIT语法。更多信息,请参见LIMIT子句

执行分析操作后,默认最多返回100行数据,最大返回100MB的数据,超过100MB的分析语句会报错。

如果您需要返回更多数据,请使用LIMIT语法。更多信息,请参见LIMIT子句

字段值大小

单个字段值最大长度为16 KB(16384字节),超出部分不参与分析。

说明

默认支持的字段值最大长度为2048字节,即2 KB。如果您需要修改字段值的最大长度,可设置统计字段(text)最大长度。更新索引设置只对增量数据有效。具体操作,请参见创建索引

单个字段值最大长度为16 KB(16384字节),超出部分不参与分析。

说明

默认支持的字段值最大长度为2048字节,即2 KB。如果您需要修改字段值的最大长度,可设置统计字段(text)最大长度。更新索引设置只对增量数据有效。具体操作,请参见创建索引

超时时间

分析操作的最大超时的时间为55秒。

分析操作的最大超时的时间为55秒。

Double类型的字段值位数

Double类型的字段值最多52位。

如果浮点数编码位数超过52位,会造成精度损失。

Double类型的字段值最多52位。

如果浮点数编码位数超过52位,会造成精度损失。

MetricStore

限制项

说明

备注

接口列表

仅支持 /query, /query_range, /labels, /label/{label}/values, /series 五种接口。

数据规范

  1. Metric name需遵循正则表达式[a-zA-Z_:][a-zA-Z0-9_:]* 

  2. LabelKey需遵循正则表达式 [a-zA-Z_][a-zA-Z0-9_]* ,LabelValue不能包含竖线( | ),其它不作限制。

其他限制请参见时序数据(Metric)

查询并发数

单个Project支持的最大查询操作并发数为15个。

例如15个用户同时在同一个Project的各个MetricStore中执行查询操作。

读取数据量

Shard单次最多读取“200万时间线/200万数据点/200MB”数据,读取过程中若达到任一限制条件则停止数据读取。

达到任一限制后,会记录下“读取不完整”的状态并返回给查询侧。建议按需分裂足够多的Shard来支撑大数据量的读取。

计算侧数据量

在执行PromQL计算前,将检查单节点内的原始数据量大小。当前限制最大允许“2亿时间线/2亿数据点/2GB”数据量执行计算,若超出任一限制会直接返回计算错误。

如果业务强依赖于“单次执行大数据量的聚合计算”,建议开启并发计算功能,具体请参见并发计算

计算侧数据点

PromQL-Engine的计算流程中会执行“选点”操作,若已选取并纳入计算的数据点超出了5000万,将直接报错。

遵循与开源Prometheus相同的计算限制,若此Query是聚合类型计算,建议使用并发计算功能。

返回结果(PromQL)

在标准开源协议中,/query_range接口限制单时间线最多返回11000个数据点。若查询参数满足 (end - start)/step > 11000,将直接报错。

在长时间段的查询中,建议适当调大step步长参数。

返回结果(SQL)

SQL单次查询/计算中,默认最多返回100条数据。若在SQL中添加“limit all”子句则限制最大返回100万条数据。此限制对以下两种场景有效:

  1. 使用SQL直接对原始时序数据执行计算;

  2. SQL中嵌套PromQL子查询执行计算。

100万条数据即代表一百万个数据点。查询语法请参见时序数据查询和分析语法

SQL嵌套PromQL子查询

PromQL语句长度限制在3K个字符内。

查询语法请参见时序数据查询和分析语法

lookback-delta

SLS时序库中此参数默认为 3 分钟。

lookback-delta 为PromQL查询的特定参数,详情请参考lookback-delta

PromQL API支持自定义设置,最大不超过 3 天。自定义设置方式请参见时序指标查询API

超时时间

PromQL API查询默认1分钟,SQL类查询默认 55 秒。

PromQL API支持自定义设置。自定义设置方式请参见时序指标查询API

Meta类接口限制

出于查询性能考虑,Meta类接口限制最大查询5分钟的数据。此限制仅对/labels、/label/{label}/values、/series三个接口生效。

5分钟的时间窗口表示以参数end为基准,往前扩展5分钟,即[end - 5min, end]。

PromQL API支持自定义传入 Meta 开始结束时间,设置方式请参见Query Series API

说明

Meta 类接口默认对所有数据进行查询,请设置合理的match参数进行聚焦,以大幅提升性能。自定义设置方式请参见Query Series API