网站定制一般价格多少,什么网站做简历,网站切换语言怎么做的,网站页面框架设计简介#xff1a; 阿里云日志服务致力于为用户提供统一的可观测性平台#xff0c;同时支持日志、时序以及Trace数据的查询存储。用户可以基于收集到的各类数据构建统一的监控以及业务大盘#xff0c;从而及时发现系统异常#xff0c;感知业务趋势。但是随着收集到的数据量不…简介 阿里云日志服务致力于为用户提供统一的可观测性平台同时支持日志、时序以及Trace数据的查询存储。用户可以基于收集到的各类数据构建统一的监控以及业务大盘从而及时发现系统异常感知业务趋势。但是随着收集到的数据量不断增长特别是遇到业务峰值的时候大盘报表展示会产生明显的延迟无法及时查看重要数据。Scheduled SQL支持定时分析数据、存储聚合数据、投影与过滤数据并将执行的分析结果存入用户指定的日志库或者时序库中供用户后续分析使用。由于在聚合后数据量将大大小于之前因而非常适合进行即时数据分析以及大盘展示。
背景
阿里云日志服务致力于为用户提供统一的可观测性平台同时支持日志、时序以及Trace数据的查询存储。用户可以基于收集到的各类数据构建统一的监控以及业务大盘从而及时发现系统异常感知业务趋势。但是随着收集到的数据量不断增长特别是遇到业务峰值的时候大盘报表展示会产生明显的延迟无法及时查看重要数据。Scheduled SQL支持定时分析数据、存储聚合数据、投影与过滤数据并将执行的分析结果存入用户指定的日志库或者时序库中供用户后续分析使用。由于在聚合后数据量将大大小于之前因而非常适合进行即时数据分析以及大盘展示。下面我们以服务的请求成功率为例介绍下如何基于Scheduled SQL加速大盘报表。
方案
假如我们需要查看以一分钟为粒度一小时内的请求成功率。在构建报表的时候需要基于当前不足一分钟的部分数据配置实时报表而针对之前已满一分钟的历史数据配置历史报表。当然如果用户觉得一分钟的数据延迟是可以接受的就可以只配置历史报表而不需要实时报表。假如当前时间为11:09:47需要查看10:11:00一直到11:09:00的分钟级请求成功率以及11:09:00到11:09:47的秒级成功请求率。
日志内容 字段名称 示例 描述 receive_time 1636616663654 时间戳毫秒级 status 500 http状态码200表示成功其余表示失败 error_code 2001 错误码标识错误原因 message server is busy 错误描述 action_name list_shop_product 访问的服务接口 user_agent chrome 客户浏览器
历史报表
如图所示展示了分钟级的请求成功率可以通过配置分钟级的ScheduledSQL任务计算每分钟的成功率并通过历史报表直接展示。因为只需要直接拉取聚合结果不需要即时计算所以展示速度大大提升。 实时报表
如图所示展示了秒级的请求成功率因为只需要计算不到一分钟的数据而不是1小时的数据因而速度也得到的提升。 配置
下面仍然以请求成功率为例向大家介绍下如何实现通过ScheduledSQL加速报表。
创建目标时序库
首先需要创建目标时序库存储ScheduledSQL的聚合数据。 创建Scheduled SQL任务
在存储服务请求的数据logstore查询界面输入查询语句点击查询/分析按钮在成功执行查询分析之后点击创建Scheduled SQL按钮。
*| select (__time__ - __time__ % 60) as time , sum(IF(status 200, 1, 0)) * 1.0 / count(*) AS success_ratio from log group by time order by time
计算配置 填入对应的作业名以及作业描述写入模式选择日志库导入时序库指标列指选择结果中的一列作为时序结果此处选择success_ratioLabels指选择结果中的哪几列作为时序数据的标签此处留空即可时间列指时序数据的时间此处选择time目标库选择刚刚创建的目标时序库
调度配置
因为我们需要查看分钟级别的服务请求成功率所以调度间隔还有SQL时间窗口均需要以分钟为粒度。用户也可以根据自己的需求进行调整。 调度间隔选择1分钟SQL时间窗口填入m - 1m ~ m;点击确认创建任务
查看任务详情
在作业菜单中点击Scheduled SQL即可查看Scheduled SQL任务列表。点击刚刚创建的任务名称即可查看任务执行详情。在任务执行成功之后我们就可以创建历史报表了。 配置历史报表
在目标时序库查询界面执行查询语句点击添加到仪表盘即可创建历史报表。
* | select promql_query_range(success_ratio) from metrics limit 1000 配置实时报表
在存储服务请求的数据logstore查询界面输入查询语句并选择时间范围为1分钟点击添加到仪表盘创建实时报表
*| select __time__ as time , sum(IF(status 200, 1, 0)) * 1.0 / count(*) AS success_ratio from log group by time order by time 总结
Scheduled SQL为用户周期性的进行分析数据、存储聚合数据、投影与过滤数据提供了较大的便利。用户还可以使用Scheduled SQL定时执行聚合任务减少即时查询所需要的数据量从而加速大盘展示。
原文链接 本文为阿里云原创内容未经允许不得转载。