日志服务(Log Service)快速分析功能提供给用户一键交互式查询体验,意图帮助用户快速分析某一字段在一段时间内的分布情况,减少用户索引关键数据的成本。

功能特点

  • 支持Text类型字段前10000条数据的前十项分组统计。
  • 支持Text类型字段快速生成approx_distinct查询语句。
  • 支持long或者double类型字段近似分布直方统计。
  • 支持long或者double类型字段快速查找最大项、最小项、平均值或总和。
  • 支持将快速分析查询生成查询语句。

前提条件

快速分析需要用户指定字段查询属性。
  1. 指定字段查询需要先开启索引以开启查询分析功能,如何开启索引请参考查询分析
  2. 设置日志中的key为字段名称,并设置类型、别名、分词符等。

    如访问日志中存在request_methodrequest_time字段,可以参考如下设置。

    图 1. 前提条件


使用指南

设置好指定字段查询后,您可以在查询页面的 原始日志页签左侧 快速分析一栏处查看到对应的字段。序号顶部按钮可以进行页面折叠,点击 眼睛按钮即可根据 当前时间区间当前的$Search条件进行快速分析。
图 2. 原始日志


Text类型

  • Text类型分组统计

    单击目标字段右侧的眼睛按钮,快速对该Text类型字段字段前1000条数据进行分组,并返回前十项的占比。

    查询语句如下:
    $Search | select count(1) as pv , "${keyName}"  from ( select "${keyName}" from log limit 10000) group by "${keyName}" order by pv  desc limit 10

    request_method按照分组统计可以得到如下结果,GET请求占大多数:

    图 3. 分组统计


  • 检查字段唯一项的个数

    快速分析一栏的目的字段下单击approx_distinct,即可进行检查操作,即检查${keyName}唯一项的个数。

    request_method按照分组统计可以得到如下结果,GET请求占大多数:

  • 将分组统计的查询语句扩展到搜索框

    单击approx_distinct右侧的按钮,将分组统计的查询语句扩展到搜索框,便于进一步操作。

long/double类型

  • 近似分布直方统计
    long/double类型由于存在多种类型值,计算分组统计意义不大,我们分为10个桶进行近似分布直方统计,查询语句如下:
    $Search | select numeric_histogram(10, ${keyName})

    request_time按照近似分布直方统计可以得到如下结果,可以知道绝大多数请求时间分布在0.059周围:

    图 4. 请求分布


  • MaxMinAvgSum语句快速分析

    分别单击目的字段下的MaxMinAvgSum,快速查找所有Max中的最大项、最小项、平均值和总和。

  • 将分组统计的查询语句扩展到搜索框

    单击Sum右侧的按钮,将近似分布直方统计的查询语句扩展到搜索框,便于进一步操作。