日志服务提供大规模日志的实时查询与分析能力。本文介绍查询分析功能的优势、操作方式及语句格式等内容。

功能优势

  • 实时:采集到的日志被实时分析。
  • 快速:
    • 查询:一秒内查询(5个条件),可处理10亿级数据。
    • 分析:一秒内分析(5个维度聚合+GroupBy),可聚合亿级别数据。
  • 灵活:可以任意改变查询和分析条件,实时获取结果。
  • 生态丰富:除控制台提供的报表、仪表盘、快速分析等功能外,还可以与Grafana、DataV、Jaeger等产品无缝对接,并支持Restful API、JDBC等协议。

索引

日志服务中的索引是对日志数据一列或多列的值进行排序的一种结构,使用索引可快速查询采集到的日志数据,详情请参见开启并配置索引

日志服务索引包括全文索引和字段索引。
  • 全文索引:对日志全文内容开启索引,支持查询日志中所有的Key和Value,只要有一个命中,就会被查询到。
  • 字段索引:为指定字段配置索引。配置字段索引后,可以查询指定字段,缩小查询范围。目前日志服务支持的字段类型包括text、json、long和double。

查询方式

说明 查询日志前,请确认您已采集到日志数据、已开启并配置索引。
  • 控制台方式

    在日志服务控制台的查询页面,指定查询时间段和查询语句进行查询,详情请参考查询日志查询语法

  • API方式

    通过日志服务GetLogsGetHistograms接口查询日志数据。

查询分析语句格式

对采集到的日志数据进行实时查询分析时,需要输入查询分析语句。查询分析语句由查询语句和分析语句两个部分组成,通过竖线(|)进行分割。
查询语句|分析语句
语句类型 是否可选 说明
查询语句 可选 查询条件,可以为查询关键词、模糊查询、数值、数值范围和组合条件。

如果为空或星号(*),表示针对当前时间段所有数据不设置任何过滤条件,即返回所有数据,详情请参见查询语法

分析语句 可选 对查询结果或全量数据进行计算和统计。

如果为空,表示只返回查询结果,不做统计分析,详情请参见实时分析简介

注意事项

如果您需要检索的日志数据量很大,例如查询时间跨度非常长,数据量在百亿以上时,则一次查询请求无法检索所有数据。在这种情况下,日志服务会把已有的数据返回给您,并在返回结果中告知您该查询结果并不完整。同时,日志服务服务端会缓存15分钟内的查询结果。当查询请求的结果有部分被缓存命中,则服务端会在这次请求中继续扫描未被缓存命中的日志数据。为了减少您合并多次查询结果的工作量,日志服务会把缓存命中的查询结果与本次查询新命中的结果合并返回给您。因此您可以反复执行该查询语句来获取最终完整结果。