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

本文涉及的产品
对象存储 OSS,20GB 3个月
对象存储 OSS,内容安全 1000次 1年
对象存储 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日志并进行多维度分析。
目录
相关文章
|
12天前
|
XML JSON Java
Logback 与 log4j2 性能对比:谁才是日志框架的性能王者?
【10月更文挑战第5天】在Java开发中,日志框架是不可或缺的工具,它们帮助我们记录系统运行时的信息、警告和错误,对于开发人员来说至关重要。在众多日志框架中,Logback和log4j2以其卓越的性能和丰富的功能脱颖而出,成为开发者们的首选。本文将深入探讨Logback与log4j2在性能方面的对比,通过详细的分析和实例,帮助大家理解两者之间的性能差异,以便在实际项目中做出更明智的选择。
87 3
|
13天前
|
存储 缓存 关系型数据库
MySQL事务日志-Redo Log工作原理分析
事务的隔离性和原子性分别通过锁和事务日志实现,而持久性则依赖于事务日志中的`Redo Log`。在MySQL中,`Redo Log`确保已提交事务的数据能持久保存,即使系统崩溃也能通过重做日志恢复数据。其工作原理是记录数据在内存中的更改,待事务提交时写入磁盘。此外,`Redo Log`采用简单的物理日志格式和高效的顺序IO,确保快速提交。通过不同的落盘策略,可在性能和安全性之间做出权衡。
1576 12
|
13天前
|
存储 消息中间件 大数据
大数据-69 Kafka 高级特性 物理存储 实机查看分析 日志存储一篇详解
大数据-69 Kafka 高级特性 物理存储 实机查看分析 日志存储一篇详解
20 4
|
14天前
|
SQL 分布式计算 Hadoop
Hadoop-19 Flume Agent批量采集数据到HDFS集群 监听Hive的日志 操作则把记录写入到HDFS 方便后续分析
Hadoop-19 Flume Agent批量采集数据到HDFS集群 监听Hive的日志 操作则把记录写入到HDFS 方便后续分析
36 2
|
8天前
|
Python
log日志学习
【10月更文挑战第9天】 python处理log打印模块log的使用和介绍
15 0
|
10天前
|
数据可视化
Tensorboard可视化学习笔记(一):如何可视化通过网页查看log日志
关于如何使用TensorBoard进行数据可视化的教程,包括TensorBoard的安装、配置环境变量、将数据写入TensorBoard、启动TensorBoard以及如何通过网页查看日志文件。
44 0
|
13天前
|
存储 分布式计算 NoSQL
大数据-136 - ClickHouse 集群 表引擎详解1 - 日志、Log、Memory、Merge
大数据-136 - ClickHouse 集群 表引擎详解1 - 日志、Log、Memory、Merge
20 0
|
13天前
|
缓存 Linux 编译器
【C++】CentOS环境搭建-安装log4cplus日志组件包及报错解决方案
通过上述步骤,您应该能够在CentOS环境中成功安装并使用log4cplus日志组件。面对任何安装或使用过程中出现的问题,仔细检查错误信息,对照提供的解决方案进行调整,通常都能找到合适的解决之道。log4cplus的强大功能将为您的项目提供灵活、高效的日志管理方案,助力软件开发与维护。
32 0
08-06-06>pe_xscan 精简log分析代码 速度提升一倍
08-06-06>pe_xscan 精简log分析代码 速度提升一倍
|
2月前
|
Kubernetes Ubuntu Windows
【Azure K8S | AKS】分享从AKS集群的Node中查看日志的方法(/var/log)
【Azure K8S | AKS】分享从AKS集群的Node中查看日志的方法(/var/log)
110 3

相关产品

  • 日志服务