极简日志的分析方法-阿里云开发者社区

开发者社区> 阿里云存储服务> 正文

极简日志的分析方法

简介: 极简模式是按照行为单位,把一行日志打包作为一个字段上传到日志服务。对于用户而言,极简模式避免了去配置复杂的正则式,极大的简化了日志接入云端的流程,上传后只需要开启全文索引即可完成搜索。 但是,在某些场景下,我们需要对日志中的某些部分进行分析,例如分析日志中的ip,这种情况下,就需要通过SQL先完成一些字段提取工作,然后再进行分析。

极简模式的分析需求

极简模式是按照行为单位,把一行日志打包作为一个字段上传到日志服务。对于用户而言,极简模式避免了去配置复杂的正则式,极大的简化了日志接入云端的流程,上传后只需要开启全文索引即可完成搜索。

但是,在某些场景下,我们需要对日志中的某些部分进行分析,例如分析日志中的ip,这种情况下,就需要通过SQL先完成一些字段提取工作,然后再进行分析。

普通文本的分析

分析IP

例如下图中的Nginx访问日志。打包到了一个content字段中。

image.png

当我们需要分析日志中的IP归属地的时候, 首先要从这一串文本中提取出IP日志。为了提取IP地址,我们有这些手段可以使用:

  1. 通过正则式函数
  2. 通过json 函数
  3. 通过url函数

上边的文本,不是json也不是url,而是一串普通文本,那么我们只能用正则式函数进行提取

* | select  content, regexp_extract(content, '(\d+\.\d+\.\d+\.\d+)',1)

通过以上函数,可以从content中提取ip:

image.png

IP 提取完成之后,接下来就可以IP函数分析用户的地理位置信息了。

例如分析省份:

* | select   ip_to_province(regexp_extract(content, '(\d+\.\d+\.\d+\.\d+)',1)) as ip , count(1) as count group by ip

image.png

分析URL参数

image.png

在nging日志中, 如果我们想要提取url中的type这个参数,需要用到通过url函数

* | select url_extract_path(request),request from
      ( 
       
       select    regexp_extract(content, 'GET\s+([\S]+)',1) as request from log
      )

image.png

从图中可以看出,成功提取了type这个参数,url还有N多好玩的用户,例如提取域名,url路径等,期待你的挖掘。

日志上云进阶

日志服务(Log Service,简称LOG/原SLS)是针对实时数据一站式全托管服务,在阿里集团经历大量大数据场景锤炼而成。
提供日志类数据采集、智能查询分析、消费与投递等功能,全面提升海量日志处理/分析能力。

日志服务用户手册,最完整的资料

日志服分析试用Demo,Nginx日志、CDN日志、DDOS日志、SLB日志Demo,grafana、Datav大屏Demo

5分钟搭建网站实时分析:Grafana+日志服务实战

以下5个子帐号供试用,请随机选择一个登录,登录地址,若登录不成功请换一个子帐号尝试:

用户名 密码
sls_reader1@1654218965343050 pnX-32m-MHH-xbm
sls_reader2@1654218965343050 pnX-32m-MHH-xbm
sls_reader3@1654218965343050 pnX-32m-MHH-xbm
sls_reader4@1654218965343050 pnX-32m-MHH-xbm
sls_reader5@1654218965343050 pnX-32m-MHH-xbm

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

分享:

阿里云存储基于飞天盘古2.0分布式存储系统,产品多种多样,充分满足用户数据存储和迁移上云需求。

官方博客
链接