日志服务2.4版本发布:新增数值索引与区间查询

本文涉及的产品
对象存储 OSS,20GB 3个月
文件存储 NAS,50GB 3个月
对象存储 OSS,恶意文件检测 1000次 1年
简介:

主要功能

  1. 支持数值类(Double/Long)索引与查询,使用说明

    • 对于日志中延时、位置和精度等数据提供多维度过滤
    • 支持与文本类数据进行多维数据查询(最大30维)
  2. 通过技术大幅优化降低了成本,启用新计费模式(3月20日生效,费用下降10%-85%),与其他方案成本对比

    • 与开源搭建的日志查询方案对比:是Elastic Search(ELK)成本 20%,Hive成本 50%
    • 自定义TTL时长,具备100 PB 级长时间存储能力

数值类索引与文本类查询有什么不同?让我们来看2个例子:

Case1 性能分析与问题调查

以常见日志作为例子,我们一般会通过监控系统配置当前的流量(Inflow),Status(是否500),以及平均延时(Latency)等数据。

browser:Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.87 Safari/537.36  host:cdn-mutil-object.cn-hangzhou.oss-cdn.aliyun-inc.com  in_len:777  ip:10.194.147.190  length:20193  method:GET ref_url:"https://icuntao.taobao.com/serviceorder2/my?spm=a3132.7971294.a31hl.1.a1kW9V"  request_id:58D263EC3AE736792F3BC3FB  requester:-  response_time:13  status:200  sync_request:-  time:22/Mar/2017:19:45:48  url:"/g/aliww/web.ww/scripts/webww.js?_=1490183146160 HTTP/1.0"

监控系统这类利用事先定义好(Predefined)流计算方案如果遇到一些突发性需求(例如告诉我一个网站目录,或某个特殊方法下延时)就比较被动,例如我们需要动态(Ondemand)去表达一些多维的查询与分析需求。

通过SLS的数值类+文本查询功能,可以非常容易地表达如下需求:

  1. 统计某个URL目录下,所有状态码在404 和 500之间的请求,延时大于 1秒的请求

    url:"/stat/object*" and status in (404 500] and latency > 1000000 
  2. 也可以指定某一个操作,查看某一个站点下是否有500错误,或计算站点卡顿率等等

    method:Get and Status>500 and host="cdn-mutil-object.*"

参考结果如下:

统计查询

Case2 地理位置精度查询

我们拿纽约出租车的轨迹日志,试验下如何针对万级别出租车8年的行驶记录日志进行查询与分析。该数据可以从纽约政府官网交通数据类目上找到。

出租车行驶轨迹格式:

{
    VehicleID:1001, (Manually Added)
    VendorID:2
    lpep_pickup_datetime: 2016/1/1 0:29
    Lpep_dropoff_datetime: 2016/1/1 0:39
    Store_and_fwd_flag: N
    RateCodeID:1
    Pickup_longitude:-73.92864227
    Pickup_latitude:40.68061066
    Dropoff_longitude:-73.92427826
    Dropoff_latitude: 40.69804382
    Passenger_count:1
    Trip_distance:1.46
    Fare_amount:8
    Extra:0.5
    MTA_tax:0.5
    Tip_amount:1.86
    Tolls_amount:0
    Ehail_fee:
    improvement_surcharge: 0.3
    Total_amount: 11.16
    Payment_type: 1
    Trip_type: 1
}

数据量与规模:

  • 一条数据有21个字段,其中VehicleID 为了隐私考虑,没有进行公开,但原始数据是可以拿到的
  • 一个月数据累加约有1.8 GB
  • 总共数据集有8年,约1万亿条,数据量为15TB

这个量级对SLS来说是秒查,即30个维度内的条件组合查询都可以在1-2秒内完成。最重要是这些数据存储成本极为低廉,在提供随机查询情况下,存储成本只有30元/天,并且查询费用是忽略不计的。

我们对如下字段建立索引:

字段 含义 索引类型
VehicleID 车辆ID Text
Pickup_longitude 上车-经度 Double
Pickup_latitude 上车-纬度 Double
Dropoff_longitude 下车-经度 Double
Dropoff_latitude 下车-纬度 Double
Passenger_count 乘车人数 Long

查询的两个需求示例:

  1. 统计某个时间段,从一个区域出发,到另外一个区域的车辆

    Pickup_longitude in [-73.92864 -73.91864] and Pickup_latitude in [40.68061066 40.6815]  and Dropoff_longitude in [-73.92851 -73.918635] and Dropoff_latitude in [40.670 40.6819] and Passenger_count>=2
  2. 找到特定车辆后,可以根据车辆ID检索到对应的车辆长时间轨迹记录

        VehicleID:1001 and lpep_pickup_datetime>="2016/1/1 0:29" and lpep_pickup_datetime<="2016/1/1 23:29"

    pic2

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
3月前
|
存储 监控 Serverless
阿里泛日志设计与实践问题之Grafana Loki在日志查询方案中存在哪些设计限制,如何解决
阿里泛日志设计与实践问题之Grafana Loki在日志查询方案中存在哪些设计限制,如何解决
|
3月前
|
SQL 存储 JSON
更快更强,SLS 推出高性能 SPL 日志查询模式
从海量的日志数据中,按照各种灵活的条件进行即时查询搜索,是可观测场景下的基本需求。本文介绍了 SLS 新推出的高性能 SPL 日志查询模式,支持 Unix 风格级联管道式语法,以及各种丰富的 SQL 处理函数。同时通过计算下推、向量化计算等优化,使得 SPL 查询可以在数秒内处理亿级数据,并支持 SPL 过滤结果分布图、随机翻页等特性。
11989 107
|
5月前
|
监控 关系型数据库 MySQL
|
2月前
|
SQL 存储 缓存
高基数 GroupBy 在 SLS SQL 中的查询加速
本文详细介绍了SLS中的高基数GroupBy查询加速技术。
105 17
|
3月前
|
存储 消息中间件 人工智能
AI大模型独角兽 MiniMax 基于阿里云数据库 SelectDB 版内核 Apache Doris 升级日志系统,PB 数据秒级查询响应
早期 MiniMax 基于 Grafana Loki 构建了日志系统,在资源消耗、写入性能及系统稳定性上都面临巨大的挑战。为此 MiniMax 开始寻找全新的日志系统方案,并基于阿里云数据库 SelectDB 版内核 Apache Doris 升级了日志系统,新系统已接入 MiniMax 内部所有业务线日志数据,数据规模为 PB 级, 整体可用性达到 99.9% 以上,10 亿级日志数据的检索速度可实现秒级响应。
AI大模型独角兽 MiniMax 基于阿里云数据库 SelectDB 版内核 Apache Doris 升级日志系统,PB 数据秒级查询响应
|
1月前
|
监控 网络协议 CDN
阿里云国际监控查询流量、用量查询流量与日志统计流量有差异?
阿里云国际监控查询流量、用量查询流量与日志统计流量有差异?
|
4月前
|
弹性计算 Prometheus Cloud Native
SLS Prometheus存储问题之Union MetricStore在性能测试中是如何设置测试环境的
SLS Prometheus存储问题之Union MetricStore在性能测试中是如何设置测试环境的
|
3月前
|
SQL JavaScript 前端开发
【Azure 应用服务】Azure JS Function 异步方法中执行SQL查询后,Callback函数中日志无法输出问题
【Azure 应用服务】Azure JS Function 异步方法中执行SQL查询后,Callback函数中日志无法输出问题
|
3月前
|
存储 运维 Kubernetes
在k8S中,日志索引的作用是什么?
在k8S中,日志索引的作用是什么?
|
4月前
|
分布式计算 资源调度 DataWorks
MaxCompute操作报错合集之出现“查询运行日志失败”的报错,一般是什么导致的
MaxCompute是阿里云提供的大规模离线数据处理服务,用于大数据分析、挖掘和报表生成等场景。在使用MaxCompute进行数据处理时,可能会遇到各种操作报错。以下是一些常见的MaxCompute操作报错及其可能的原因与解决措施的合集。

相关产品

  • 日志服务