极简模式的分析需求
极简模式是按照行为单位,把一行日志打包作为一个字段上传到日志服务。对于用户而言,极简模式避免了去配置复杂的正则式,极大的简化了日志接入云端的流程,上传后只需要开启全文索引即可完成搜索。
但是,在某些场景下,我们需要对日志中的某些部分进行分析,例如分析日志中的ip,这种情况下,就需要通过SQL先完成一些字段提取工作,然后再进行分析。
普通文本的分析
分析IP
例如下图中的Nginx访问日志。打包到了一个content字段中。
当我们需要分析日志中的IP归属地的时候, 首先要从这一串文本中提取出IP日志。为了提取IP地址,我们有这些手段可以使用:
上边的文本,不是json也不是url,而是一串普通文本,那么我们只能用正则式函数进行提取
* | select content, regexp_extract(content, '(\d+\.\d+\.\d+\.\d+)',1)
通过以上函数,可以从content中提取ip:
IP 提取完成之后,接下来就可以IP函数分析用户的地理位置信息了。
例如分析省份:
* | select ip_to_province(regexp_extract(content, '(\d+\.\d+\.\d+\.\d+)',1)) as ip , count(1) as count group by ip
分析URL参数
在nging日志中, 如果我们想要提取url中的type这个参数,需要用到通过url函数
* | select url_extract_path(request),request from
(
select regexp_extract(content, 'GET\s+([\S]+)',1) as request from log
)
从图中可以看出,成功提取了type这个参数,url还有N多好玩的用户,例如提取域名,url路径等,期待你的挖掘。
日志上云进阶
日志服务(Log Service,简称LOG/原SLS)是针对实时数据一站式全托管服务,在阿里集团经历大量大数据场景锤炼而成。
提供日志类数据采集、智能查询分析、消费与投递等功能,全面提升海量日志处理/分析能力。
日志服分析试用Demo,Nginx日志、CDN日志、DDOS日志、SLB日志Demo,grafana、Datav大屏Demo
以下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 |