零基础玩转SLS日志分析 - SLS Data Explorer发布

本文涉及的产品
对象存储 OSS,20GB 3个月
云备份 Cloud Backup,100GB 3个月
对象存储 OSS,内容安全 1000次 1年
简介: 为了帮助用户改善查询分析体验,让更多不熟悉SQL语法的用户也能使用SLS进行日志分析,SLS推出了交互式查询分析功能(Data Explorer)。Data Explorer让用户只需一些简单的点击和选择操作即可完成复杂的日志分析场景,助力用户专注于业务分析之上,而无需关注SQL语法细节。

背景

日志服务(SLS)

日志服务(Log Service,简称 SLS) 是阿里云提供的行业领先的日志大数据解决方案,一站式提供数据收集、清洗、分析、可视化、告警等功能,全面提升海量日志处理能力,实时挖掘数据价值,智能助力研发/运维/运营/安全等场景。

智能查询分析是数据中台重要的一环,SLS支持秒级查询10亿到千亿级别的日志数据,为万级开发者提供每日百亿级的查询服务。SLS非常适合于做监控报表/告警/运营探索式交互分析,更可以通过API调用集成数据分析能力,集成到第三方的可视化平台,BI工具,或自研程序。


SLS查询分析

SLS提供日志查询分析功能,该功能结合了SLS的查询能力和SQL计算能力。顾名思义,日志查询分析分为两部分:查询和分析。查询语句和分析语句以竖线(|)分割,查询语句的语法为日志服务专有语法,分析语句采用标准的SQL92语法。

查询语句|分析语句


语句类型

说明

查询语句

查询语句用于指定日志查询时的过滤规则,返回符合条件的日志。

查询语句可以为关键词、数值、数值范围、空格、星号(*)等。 如果为空格或星号(*),表示无过滤条件。更多信息,请参见查询语法

分析语句

分析语句用于对查询结果或全量数据进行计算和统计。更多信息,请参见分析概述

其中,查询语句可单独使用,分析语句必须与查询语句一起使用。即分析功能是基于查询结果或全量数据进行的。

示例:

// 仅查询
status >200// 仅统计
*|SELECT status,count(*)AS PV GROUPBY status
// 查询 + 统计
status >200|SELECT status,count(*)AS PV GROUPBY status

您还可以使用仪表盘展示统计分析的结果,如下图所示


痛点与动机

在企业业务数字化的背景下,SLS作为一站式的云原生观测分析平台,支持着企业各个角色(研发、运维、运营等)的数字化开发及管理需求。各企业用户实现数字化需求强依赖于SLS提供的查询分析能力。SLS查询分析兼容原生SQL语法,但编写SQL语法有较高的使用门槛。复杂的SQL语法让很多开发、运维人员感到头疼,更是让运营等非技术人员望而却步。


为了帮助用户改善查询分析体验,让更多不熟悉SQL语法的用户也能使用SLS进行日志分析,SLS推出了交互式查询分析功能(Data Explorer)。Data Explorer让用户只需一些简单的点击和选择操作即可完成复杂的日志分析场景,助力用户专注于业务分析之上,而无需关注SQL语法细节。


Data Explorer介绍

SLS日志分析分为查询和分析两部分,查询语句的语法为日志服务专有语法,分析语句采用标准的SQL92语法。对于很多用户而言,学习这两种语法需要较高的学习成本,尤其是较为复杂的SQL语法,更是让很多运维、开发人员头疼。如何基于SLS查询语法和SQL统计分析语法实现对应的业务需求成为了很多用户在实践中遇到的问题。


为了帮助用户简单、快速地构建查询分析语句,降低用户的学习成本,SLS推出了交互式查询分析(Data Explorer)功能,让用户无需关注语法细节也可轻松玩转日志分析。

1. 功能入口

登录日志服务控制台,在Project列表区域,点击进入目标Project。在日志存储 > 日志库页签中,点击进入目标Logstore,在查询和分析语句输入框中,点击右侧图标,唤起Data Explorer面板。

Data Explorer面板主要包含两个功能区:日志查询统计分析,对应于SLS查询分析中的查询和分析两部分能力。用户可按需在两个功能区配置查询和统计分析条件。


2. 日志查询

用户可在日志查询功能区交互式地配置日志查询条件,查询框中会实时生成对应的日志查询语句。用户无需关注查询语法细节,也可轻松玩转日志查询。query.gif

关于Data Explorer中日志查询功能已在SLS Query Builder这篇文章中做了详细介绍,感兴趣的同学可以参考该文章,本文不再赘述。


3. 日志分析

用户可在统计分析功能区交互式地配置日志分析条件,查询框中会实时生成对应的SQL统计分析语句。用户无需关注SQL语法细节,也可轻松玩转日志统计分析。

3.1 概述

基于目前SLS用户的高频查询分析需求与问题,SLS Data Explorer提供了如下3大类、7种内置的统计分析场景(持续扩充中)

统计分析类型

统计分析场景

说明

基础分析

字段筛选&过滤

支持筛选及重命名字段(即SQL语法中的SELECT)、按条件过滤结果(WHERE)、对结果进行排序(ORDER BY)以及限制返回结果条数(LIMIT)

基础统计

指标统计

统计一个或多个指标,如日志条数、最大值、方差等。支持的指标类型持续扩展中。

分组统计

按一个或多个字段进行分组,分别统计每个分组的指标(即SQL语法中的GROUP BY)。

高级统计

Top N

统计某字段取值频率最高的N个值,并计算每个值的出现频率及百分占比。

IP分布

统计给定IP字段的IP所属国家、省份、城市、运营商或者内外网的分布情况(数量及占比)。

时间趋势

按特定时间粒度计算指标,统计指标随时间的变化趋势。 例如按照每分钟的时间粒度计算请求时间的平均值。

同环比

对比给定字段值相较于特定时间周期之前的变化情况。

用户既可以挑选其中一个场景进行使用,也可对多个场景进行组合嵌套使用,完成复杂的统计分析场景。


目前SLS Data Explorer共提供了三种使用模式:单场景统计分析、多场景嵌套统计分析以及双向同步,用于满足用户不同的日志分析场景需求。接下来分别介绍这三种模式的用法。


3.2 单场景统计分析

  1. 在Data Explorer的统计分析面板中选择需要的分析场景,点击便可进入该场景的配置步骤。此处以IP分布为例

  1. 在IP分布的配置面板中,用户只需选择要统计的IP字段以及要统计的分布维度(国家、省份、城市分布等),即可实时在查询框中生成对应的SQL分析语句

  1. 点击【查询/分析】按钮,获取分析结果,并选择统计图表类型为地图,便可将IP字段client_ip的省份来源分布情况以可视化的形式展示出来

在上述步骤中,全程只需几次简单的点击和选择,便可完成相对复杂的IP地理位置分布的分析场景,无需再去编写相对复杂的嵌套SQL分析语句。


3.3 多场景嵌套统计分析

用户在使用Data Explorer时,除了可以挑选一个分析场景进行使用外,也可以对多个场景进行组合嵌套使用,来完成复杂的统计分析场景。在多场景嵌套时,后一个场景基于前一个场景的统计分析结果进行处理。

以如下日志分析需求为例:

某网站访问日志中的duration字段记录了每个请求的耗时,现在需要统计过去一段时间内所有请求的平均耗时,以及同比昨天同一时间段的变化情况。


为了完成上述日志分析场景,用户只需要在Data Explorer中组合使用指标统计同环比两个场景即可。

  1. 选择并配置指标统计:统计duration字段的平均值,并命名为avg_time

  1. 在指标统计的基础上,添加嵌套场景同环比。在同环比的配置中,选择指标统计中统计出的平均耗时字段avg_time作为比较字段,并配置比较时间区间为1天、比较结果类型为相对变化百分比。

  1. 点击【查询/分析】按钮,获取分析结果,并选择统计图表类型为单值同比环比图,便可将网站请求的平均耗时以及同比昨天同一时间段的变化情况展示出来。

在上述步骤中,全程只需几次简单的点击和选择,便可完成相对复杂的同环比分析场景,而其背后的SQL分析语句包含三层SQL语句的嵌套,编写起来难度较大,这大大降低了用户的使用门槛。


3.4 双向同步

为了最大程度的保证用户使用的灵活性,Data Explorer面板上配置的统计分析条件与用户在查询框中手动输入的SQL语句支持双向互转。用户既可以通过Data Explorer生成SQL分析语句,也可以在查询输入框中直接编写SQL语句或者修改面板生成的SQL语句。Data Explorer会解析用户手动输入的SQL语句并转化成面板上配置条件。

two_direction.gif


Data Explorer日志分析最佳实践

日志分析场景1:在网站访问日志中,统计过去一天内网站请求的每小时平均耗时,随时间的变化情况。

  • 面板配置

  • 分析结果



日志分析场景2:在网站访问日志中,统计HTTP请求方法的TOP5取值分布。

  • 面板配置

  • 分析结果


日志分析场景3:在RDS数据库审计日志中,统计每个RDS实例的SQL平均执行延迟情况。

  • 面板配置

  • 分析结果


日志分析场景4:在RDS数据库审计日志中,统计执行频率TOP10的SQL语句及其执行次数,并统计每个SQL语句同比昨天的执行次数的变化情况。

  • 面板配置

topn_compare.gif

  • 分析结果


总结

在企业业务数字化的背景下,SLS作为一站式的云原生观测分析平台,支持着企业各个角色(研发、运维、运营等)的数字化开发及管理需求。各企业用户实现数字化需求强依赖于SLS提供的查询分析能力。SLS查询分析兼容原生SQL语法,但编写SQL语法有较高的使用门槛。复杂的SQL语法让很多开发、运维人员感到头疼,更是让运营等非技术人员望而却步。


为了帮助用户改善查询分析体验,让更多不熟悉SQL语法的用户也能使用SLS进行日志分析,SLS推出了交互式查询分析功能(Data Explorer)。Data Explorer让用户只需一些简单的点击和选择操作即可完成复杂的日志分析场景,助力用户专注于业务分析之上,而无需关注SQL语法细节,快来体验吧!


对我们工作感兴趣的,可以通过如下方式了解更多,谢谢关注!

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
7天前
|
Java
日志框架log4j打印异常堆栈信息携带traceId,方便接口异常排查
日常项目运行日志,异常栈打印是不带traceId,导致排查问题查找异常栈很麻烦。
|
18天前
|
存储 监控 数据可视化
SLS 虽然不是直接使用 OSS 作为底层存储,但它凭借自身独特的存储架构和功能,为用户提供了一种专业、高效的日志服务解决方案。
【9月更文挑战第2天】SLS 虽然不是直接使用 OSS 作为底层存储,但它凭借自身独特的存储架构和功能,为用户提供了一种专业、高效的日志服务解决方案。
50 9
|
19天前
|
API C# 开发框架
WPF与Web服务集成大揭秘:手把手教你调用RESTful API,客户端与服务器端优劣对比全解析!
【8月更文挑战第31天】在现代软件开发中,WPF 和 Web 服务各具特色。WPF 以其出色的界面展示能力受到欢迎,而 Web 服务则凭借跨平台和易维护性在互联网应用中占有一席之地。本文探讨了 WPF 如何通过 HttpClient 类调用 RESTful API,并展示了基于 ASP.NET Core 的 Web 服务如何实现同样的功能。通过对比分析,揭示了两者各自的优缺点:WPF 客户端直接处理数据,减轻服务器负担,但需处理网络异常;Web 服务则能利用服务器端功能如缓存和权限验证,但可能增加服务器负载。希望本文能帮助开发者根据具体需求选择合适的技术方案。
53 0
|
19天前
|
C# Windows 监控
WPF应用跨界成长秘籍:深度揭秘如何与Windows服务完美交互,扩展功能无界限!
【8月更文挑战第31天】WPF(Windows Presentation Foundation)是 .NET 框架下的图形界面技术,具有丰富的界面设计和灵活的客户端功能。在某些场景下,WPF 应用需与 Windows 服务交互以实现后台任务处理、系统监控等功能。本文探讨了两者交互的方法,并通过示例代码展示了如何扩展 WPF 应用的功能。首先介绍了 Windows 服务的基础知识,然后阐述了创建 Windows 服务、设计通信接口及 WPF 客户端调用服务的具体步骤。通过合理的交互设计,WPF 应用可获得更强的后台处理能力和系统级操作权限,提升应用的整体性能。
41 0
|
21天前
|
存储 消息中间件 监控
Java日志详解:日志级别,优先级、配置文件、常见日志管理系统ELK、日志收集分析
Java日志详解:日志级别,优先级、配置文件、常见日志管理系统、日志收集分析。日志级别从小到大的关系(优先级从低到高): ALL < TRACE < DEBUG < INFO < WARN < ERROR < FATAL < OFF 低级别的会输出高级别的信息,高级别的不会输出低级别的信息
|
22天前
|
算法 关系型数据库 程序员
第一周算法设计与分析:A : log2(N)
这篇文章介绍了解决算法问题"输入一个数N,输出log2N(向下取整)"的三种编程思路,包括使用对数函数和幂函数的转换方法,以及避免浮点数精度问题的整数逼近方法。
|
25天前
|
存储
【Azure Log A workspace】Azure上很多应用日志收集到Log A workspace后如何来分别各自的占比呢?
【Azure Log A workspace】Azure上很多应用日志收集到Log A workspace后如何来分别各自的占比呢?
|
26天前
|
API
【Azure 应用服务】当在Azure App Service的门户上 Log Stream 日志无输出,需要如何操作让其输出Application Logs呢?
【Azure 应用服务】当在Azure App Service的门户上 Log Stream 日志无输出,需要如何操作让其输出Application Logs呢?
|
26天前
|
Kubernetes Ubuntu Windows
【Azure K8S | AKS】分享从AKS集群的Node中查看日志的方法(/var/log)
【Azure K8S | AKS】分享从AKS集群的Node中查看日志的方法(/var/log)
|
1月前
|
数据采集 监控 数据安全/隐私保护
掌握Selenium爬虫的日志管理:调整–log-level选项的用法
在Selenium Web数据采集时,日志管理至关重要。通过调整`–log-level`参数可优化日志详细度,如设置为`INFO`记录一般操作信息。结合代理IP、Cookie及user-agent配置,不仅能提高采集成功率,还能规避反爬机制。合理选择日志级别有助于调试与性能平衡,在复杂的数据采集任务中保持程序稳定与可控。
掌握Selenium爬虫的日志管理:调整–log-level选项的用法

热门文章

最新文章

相关产品

  • 日志服务