【阿里云日志】查询指南

阿里云日志存储查询

一、基本简介

阿里云日志的作用?日志服务(Log Service,简称SLS)是针对日志类数据的一站式服务,无需开发就能快捷完成日志数据采集、消费、投递以及查询分析等功能,提升运维、运营效率,建立DT时代海量日志处理能力。
日志如何采集
如上就是简答的日志如何采集的描述,本片文章主要介绍如何查询日志,所以基础功能就不过多的赘述。

我们有了海量的日志,呢么我们该怎么去分析查询这些日志呢?
日志服务提供大规模日志的实时查询与分析能力。接下来我们就从简至繁简介一下如何查询并且分析你所想要的数据。

二、查询简介

阿里云日志系统的查询语句中包含了查询语句|分析语句,每个语句中必须要要有查询语句,分析语句可选。

  1. 简单查询开始:
    查询分析图标最基础的语句:* | SELECT Request_method, COUNT(*) as number GROUP BY Request_method LIMIT 10
    |之前的是查询语句,*代表查询全表的数据
    |之后的语句是分析语句,相当于sql查询,分析出你所想要的数据类型以及格式,上述的分析语句所查询的是SELECT 请求模式, Count(*) as number GROUP BY 请求模式 LIMIT 10,是不是很简单?和原生的sql差不多?

    查询出的表如下:在这里插入图片描述

  2. 稍微复杂的查询:
    接下来我们看个稍微复杂点的图标是如何通过sqk查询出来的
    * | select time_series(__time__, '1m', '%H:%i:%s' ,'0') as Time, count(1) as PV, approx_distinct(IP) as UV group by Time order by Time limit 100
    不多说直接分析了:
    * | 日期格式化 , count(1) as PV, approx_distinct(IP) as UV group by Time order by Time limit 100
    涉及到的分析函数:
    select time_series(__time__, '1m', '%H:%i:%s' ,'0') 日期格式
    approx_distinct(x) 估算x列的唯一值的个数,,相当于去重操作

    PV代表时间段请求的总和,UV代表时间段中不重复的ip
    在这里插入图片描述

  3. 如何展开一个字段中的JSON
    如图,字段重的json如何取出来呢?在这里插入图片描述
    第一步:需要格式化这个json,将string转化为json格式(json_parse(properties)
    第二步:如何取出json中keyjson_extract_scalar(json_parse(properties), '$.username')
    参考文档:JSON函数 文档

  4. 如何将埋点的参数作为可控的数据操作
    第一步:cast(json_parse(properties) AS map(varchar, varchar))将所有的聚合条件的json中k-v转化为集合格式(这里注意一点,key和value的格式需要一致,否则map无法转化格式)
    第二步:unnest(cast(json_parse(properties) AS map(varchar, varchar))) AS t(a, b)将map集合中的k-v分别展开,所有的key存在a列,所有的value存在b列
    第三步:查询语句 | SELECT a, b from log, unnest(cast(json_parse(properties) AS map(varchar, varchar))) AS t(a, b)

模拟查询出来的结果如下,接下来所有的操作就和sql一样了,针对a, b 的筛选聚合都可以操作了:
在这里插入图片描述
参考文档:类型转换

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小鱼小鱼啊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值