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

    xiaoxiao2026-02-05  1

    主要功能

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

    对于日志中延时、位置和精度等数据提供多维度过滤支持与文本类数据进行多维数据查询(最大30维)

    通过技术大幅优化降低了成本,启用新计费模式(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的数值类+文本查询功能,可以非常容易地表达如下需求:

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

    url:"/stat/object*" and status in (404 500] and latency > 1000000

    也可以指定某一个操作,查看某一个站点下是否有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车辆IDTextPickup_longitude上车-经度DoublePickup_latitude上车-纬度DoubleDropoff_longitude下车-经度DoubleDropoff_latitude下车-纬度DoublePassenger_count乘车人数Long

    查询的两个需求示例:

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

    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

    找到特定车辆后,可以根据车辆ID检索到对应的车辆长时间轨迹记录

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

    相关资源:slmdec103能提取VendorID Vendor info
    最新回复(0)