日志服务(原SLS)五月份发布:支持SQL进行日志实时分析-阿里云开发者社区

开发者社区> 云雷> 正文

日志服务(原SLS)五月份发布:支持SQL进行日志实时分析

简介: 日志服务在2.5版本中提供 **SQL 实时统计分析功能** ,能够在秒级查询的基础上支持实时统计分析
+关注继续查看

日志服务(原SLS)是针对大规模日志实时存储与查询服务,半年内我们逐步提供文本、数值、模糊、上下文等查询能力。在五月份版本中日志服务提供 SQL 实时统计分析功能 ,能够在秒级查询的基础上支持实时统计分析。

支持SQL包括:聚合、Group By(包括Cube、Rollup)、Having、排序、字符串、日期、数值操作,以及统计和科学计算等(参见分析语法)。

如何使用?

例如,对访问日志(access-log)查询 “状态码=500,Latency>5000 us,请求方法为Post开头”所有日志:

Status:500 and Latency>5000 and Method:Post*

在查询后增加管道操作符”|“,以及SQL后(不需要from 和 where,既从当前Logstore查询,where条件在管道前):

Status:500 and Latency>5000 and Method:Post* | select count(*) as c , avg(Latency) as latency_avg, sum(Inflow) as sum_inflow, ProjectName Group by ProjectName order by c Desc limit 10

可以在控制台上获得结果(包括一些基本图表帮助理解):
p1

为了获得更好体验,我们对SQL执行数据量做了限制(参考SQL分析语法最后部分)。在机房扩容后和下一步优化后(大约2个月),我们会放开该限制,敬请期待。

案例(线上日志实时分析)

​ 在几百台机器、十几个应用程序、面向万级用户定位问题是非常有挑战的,需要在多维度及条件变量进行实时排查。例如在网络攻击中,攻击者会不断地变化来源IP、目标等,让我们无法实时做出反应。

​ 这类场景不光需要海量处理能力,还需要非常实时的手段,SLS+LogHub可以确保日志从服务器产生到被查询在3秒以内(99.9%情况),让你永远快人一步。

例如在监控发现线上有非200的访问错误产生,一般老司机的调查方法如下:

  1. 该错误影响了多少用户? 是个体,还是全局

    Status in (200 500] | Select count(*) as c, ProjectName group by ProjectName
  2. 确定大部分都是从Project为“abc”下引起的,究竟是哪个方法触发的?

    Status in (200 500] and ProjectName:"abc"| Select count(*) as c, Method Group by Method
  3. 我们可以获取到,都是写请求(Post开头)触发,我们可以将查询范围缩小,调查写请求的延时分布

    Status in (200 500] and ProjectName:"abc" and Method:Post* | select numeric_histogram(10,latency)
  4. 我们可以看到,写请求中有非常高的延时。那问题变成了,这些高延时是如何产生的

    1. 通过时序分析,这些高请求延时是否在某个时间点上分布,可以进行一个时间维度的划分

      Status in (200 500] and ProjectName:"abc" and Method:Post* |select  from_unixtime( __time__ - __time__ % 60) as t,
      truncate (avg(latency) ) ,
      current_date  
      group by   __time__ - __time__ % 60  
      order by t  desc 
      limit 60
    2. 通过机器Ip来源看,是否分布在某些机器上

      Status in (200 500] and ProjectName:"abc" and Method:Post* and Latency>150000 | select count(*) as c, ClientIp Group by ClientIp order by c desc
  5. 最终大致定位到了延时高的机器,找到RequestId,可以顺着RequestId继续在SLS中进行查询与搜索
  6. 这些操作都可以在控制台/API 上完成,整个过程基本是分钟级别

什么场景适合使用SLS?

和数据仓库、流计算等分析引擎相比,有如下特点:

  • 针对结构化、半结构化数据
  • 对实时性、查询延时有较高要求
  • 数据量大,查询结果集合相对较小

p2

​ 除此之外SLS与 MaxCompute、OSS(E-MapReduce、Hive、Presto)、TableStore、流计算(Spark Streaming、Stream Compute)、Cloud Monitor等已打通,可以方便地将日志数据以最舒服姿势进行处理。

​ 更多的内容请关注产品主页,欢迎关注存储服务公众,也欢迎加入VIP钉钉群

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
基于 Scheduled SQL 对 VPC FlowLog 实现细粒度时间窗口分析
针对VPC FlowLog的五元组和捕获窗口信息,在分析时使用不同时间窗口精度,可能得到不一样的流量特征,本文介绍一种方法将原始采集日志的时间窗口做拆分,之后重新聚合为新的日志做分析,达到更细粒度的分析效果。
444 0
基于日志服务(SLS)实现电商数据加工与分析
基于日志服务(SLS)实现电商数据加工与分析 本文要点(json函数、ip映射函数专题) 如何使用阿里云日志服务-数据加工做清洗数据 如何使用阿里云日志服务强大的SQL做数据分析 如何配置数据仪表大盘 日志数据样例 本文中的日志数据,以某大型电商一段时间的成交量数据为背景来展开工作的。
1692 0
DLA支持分析MongoDB/RDS只读实例
在对Mysql,MongoDB等数据库系统进行分析时,经常面临的一个问题是在进行分析查询时如何避免对实时业务产生影响,也就是OLAP负载和OLTP负载隔离的问题。针对这个问题,阿里云数据湖团队一直在努力优化,提供满足不同场景的解决方案。
902 0
【新发布】SLS数据加工增值内容服务
【数据加工】是一个可托管、高可用、可扩展的数据处理服务,广泛适用于数据的规整、富化、分发、汇总、重建索引等场景。这里详细介绍如何通过数据加工实现数据的分发与汇总,从而实现统一存储管理或分类精细化查询分析,以及存储成本优化等目的。
153 0
OSS实时日志查询——访问记录秒级查询与可视化分析
OSS新发布“OSS访问日志实时查询”,用户可在OSS控制台,对OSS访问日志,进行可视化的实时查询与分析统计。该功能可简化用户对OSS访问记录的审计、统计、事件回溯、运维分析、问题定位等工作,提升运维效率,挖掘日志数据价值,提高基于数据的决策能力,助力业务发展。
2407 0
日志服务数据加工培训直播资料汇总: 扫平日志分析路上障碍, 实时海量日志加工实践
日志服务数据加工系列培训资料汇总: 扫平日志分析路上障碍, 实时海量日志加工实践
1321 0
新功能:日志服务命令行工具ETL发布!
日志服务命令行工具ETL发布,解决数据采集、分析查询、投递归档、外部整合过程中的数据规整痛点,提供实时、可靠、可扩展、可管理的运行模式支持,以及全面简单的ETL规则,并支持丰富的扩展支持。
3083 0
Apache Carbondata接入Kafka实时流数据
1.导入carbondata依赖的jar包 将apache-carbondata-1.5.3-bin-spark2.3.2-hadoop2.7.2.jar导入$SPARKHOME/jars;或将apache-carbondata-1.
1381 0
+关注
云雷
日志计算驱动业务增长 让天下没有难分析的日志
103
文章
2
问答
来源圈子
更多
阿里云存储基于飞天盘古2.0分布式存储系统,产品包括对象存储OSS、块存储Block Storage、共享文件存储NAS、表格存储、日志存储与分析、归档存储及混合云存储等,充分满足用户数据存储和迁移上云需求,连续三年跻身全球云存储魔力象限四强。
+ 订阅
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载