全部产品
存储与CDN 数据库 安全 应用服务 数加·人工智能 数加·大数据基础服务 互联网中间件 视频服务 开发者工具 解决方案 物联网 钉钉智能硬件
日志服务

简介

更新时间:2018-01-15 20:57:50

除LogHub、LogShipper外,日志服务提供大规模、低成本的实时分析能力(LogSearch/Analytics) 。

和其他方案相比,实时日志分析体现在:

  • 大规模:支持 PB/Day 数据量
  • 采集快:通过API/SDK写入0延迟,Agent提供秒级采集上传能力
  • 一致性强:日志写入后可以立即被分析
  • 查询速度快:一秒内,复杂查询(5个条件)可处理10亿级数据
  • 分析速度快:一秒内,复杂分析(5个维度聚合+GroupBy)可聚合亿级别数据
  • 方式灵活:可以改变任意查询和分析条件,实时获取结果

基本概念

实时分析查询(Query):由(Search、Analytics)两个部分组成,中间通过|进行分割:

  1. $Search | $Analytics
  • 查询(Search):查询条件,可以由关键词、模糊、数值等、区间范围和组合条件等产生。如果为空或”*”,则代表所有数据。
  • 分析(Analytics):对查询结果或全量数据进行计算和统计。

注意: 两部分均为可选,当Search部分为空时代表针对该时间段所有数据不过滤任何条件,直接对结果进行统计。当Analysis部分为空时,代表只返回查询结果,不需要做统计。

使用实例

  1. 查询部分,根据区间条件+模糊匹配定位日志。
    1. status in (200 500] and method:Get*
  2. 分析部分:对访问日志每个URL访问次数,写入与读取流量进行统计,获得Top 100结果。
    1. select count(1) as c, sum(inflow) as sum_in, sum(outflow) as sum_out, url group by url order by c desc limit 100
  3. 结合以上查询与分析条件,在查询结果中进行分析。
    1. status in (200 500) and method:Get* | select count(1) as c, sum(inflow) as sum_in, sum(outflow) as sum_out, url group by url order by c desc limit 100

操作指南

开启查询分析

  1. 登录 日志服务管理控制台
  2. 选择目标项目,单击项目名称或者单击右侧的 管理
  3. 选择目标日志库并单击日志索引列下的 查询
  4. 单击右上角的 设置查询分析 > 设置
    • 开启查询、统计后意味着数据将会在后台被索引,会产生索引的流量,以及索引对应存储的空间
    • 如果不需要查询分析功能,可以点击删除link
  5. 进入设置菜单

    setting

查询设置

根据具体的查询业务需求,可以选择合适的索引方法,既能达到高效查询的需求,也能节省使用索引及存储费用。

  • 所有查询不需要指定键名称(Key)
    • 可以只设置 全文查询
    • 无需设置 字段查询分析
  • 部分查询需要指定字段名称(Key)
    • 根据需求,对特定字段(Key)创建键值索引
  • 查询需要指定数值范围
    • 可以设置特定字段(Key)索引类型为long或者double

例如日志内容为:

screenshot

  1. 全文查询属性

    • 大小写敏感:选择 false 表示不区分大小写,即查询关键字“INTERNALERROR”和“internalerror”都能查询到样例日志。如果选择 true,表示区分大小写,只能通过关键字“internalError”查询到样例日志。
    • 分词符:根据指定单字符,将日志内容切分成多个关键词。例如一条日志内容为a,b;c;D-F。设置分隔符为逗号“,”、分号“;”和连字符“-”,可以将日志内容切分为5个关键词”a” “b” “c” “D” “F”。

    text

  2. 字段查询属性

    • 全文查询与字段查询区别:默认的索引会查询日志中所有Key对应的内容,只要有一个命中,就会被查询到。例如,日志样例中,如果查询“internalError”,在error和code两个Key中都满足该查询条件
    • 如果只需要查询error为“internalError”的日志内容,需要设置字段索引,如下图示:

      key

      其中,字段名称 即为您指定日志内容特定字段Key,其它两项属性 大小写敏感分词符全文查询 中的功能一致。创建完成如上图的索引属性后,可根据如下关键字查询获取error字段为“internalError” 的日志内容。

      1. error:internalError
    • 如果键对应内容为数值,并且需要按照数值范围进行查询,需要将类型属性设置为long(整数)或者double(小数),当设置为数值类型后, 大小写敏感分词符属性将失效,对于该键的查询只能通过数值范围。例如,您可以通过以下关键字查询键值范围为1000~2000的longkey。
      1. longKey > 1000 and longKey < 2000

统计设置

在查询之外,我们需要对某些字段进行统计,例如:对所有流量字段求和 sum(inflow),计算平均延时 avg(latency),或计算uv distinct_count(ip),对字符串处理 substring(text, 0, 10)等。 可以对需要进行处理字段开启统计。

agg

使用

  1. 查询分析日志
  2. 语法:查询语法分析语法
  3. 案例:Nginx访问日志统计行车轨迹日志分析, 销售系统日志分析

价格

本文导读目录