日志服务Dashboard加速
简介: 阿里云日志服务致力于为用户提供统一的可观测性平台,同时支持日志、时序以及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_ratio;
- Labels指选择结果中的哪几列作为时序数据的标签,此处留空即可;
- 时间列指时序数据的时间,此处选择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定时执行聚合任务,减少即时查询所需要的数据量,从而加速大盘展示。
原文链接
本文为阿里云原创内容,未经允许不得转载。
日志服务Dashboard加速的更多相关文章
- 5分钟搭建网站实时分析:Grafana+日志服务实战
原文地址:https://yq.aliyun.com/articles/227006 阿里云日志服务是针对日志类数据一站式服务,用户只需要将精力集中在分析上,过程中数据采集.对接各种存储计算.数据索引 ...
- 【JAVA并发编程实战】7、日志服务
这里是一个应用项目使用生产消费模型的日志类 package cn.study.concurrency; import java.util.concurrent.BlockingQueue; impor ...
- Linux_rsyslogd日志服务(二)
一.rsyslogd日志统一格式 基本日志格式包含以下四列: 1.事件产生的时间 2.发生事件的服务器的主机名 3.产生事件的服务名或程序名 4.事件的具体信息 二./etc/rsyslog.conf ...
- AngularJS中实现日志服务
本篇体验使用AngularJS自定义一个记录日志的服务. 在AngularJS中,服务的一些写法是这样的: var app = angular.module('app',[]); app.provid ...
- Android日志服务 记录日志
转: http://easion-zms.iteye.com/blog/981568 import java.io.BufferedReader; import java.io.File; impor ...
- rsyslog日志服务的配置文件分析
基于rsyslog日志服务的日志 在不同的LINUX系统,实现的软件略有不同. syslog,rsyslog,syslog-ng,用于实现系统日志的管理. [root@asianux4 ~]# rpm ...
- 【阿里云产品公测】简单日志服务SLS使用评测 + 教程
[阿里云产品公测]简单日志服务SLS使用评测 + 教程 评测介绍 被测产品: 简单日志服务SLS 评测环境: 阿里云基础ECS x2(1核, 512M, 1M) 操作系统: CentOS 6.5 x6 ...
- AMQ学习笔记 - 15. 实践方案:基于ActiveMQ的统一日志服务
概述 以ActiveMQ + Log4j + Spring的技术组合,实现基于消息队列的统一日志服务. 参考:Spring+Log4j+ActiveMQ实现远程记录日志——实战+分析 与参考文章的比较 ...
- CENTOS6.2系统日志rsyslog替换默认的日志服务syslog 转载自http://www.phpboy.net/linux/648.html
最近遇到配置centos 6.2的sshd及sftp日志,发现/etc/syslog.conf文件不存在, 然后: #rpm -qa | grep syslog 出来的是 rsyslog-5.8.10 ...
- 基于ActiveMQ的统一日志服务
概述 以ActiveMQ + Log4j + Spring的技术组合,实现基于消息队列的统一日志服务. 参考:Spring+Log4j+ActiveMQ实现远程记录日志——实战+分析 与参考文章的比较 ...
随机推荐
- Lambda Web Browser使用教程
Lambda web browser是一个功能强大的UE内置浏览器插件, 允许用户在编辑器模式和运行时启动一个浏览器窗口, 对于一些采用传统BS架构的项目而言, 控制页面都放在前段, 若想要将控制页面 ...
- django(路由层)
一.简介 # 路由匹配 url(r'test',views.test), url(r'test_add',views.test_add) # r'test'与请求头的数据进行正则匹配 ''' url方 ...
- 在 NVIDIA DGX Cloud 上使用 H100 GPU 轻松训练模型
在 NVIDIA DGX Cloud上使用 H100 GPU 轻松训练模型 今天,我们正式宣布推出 DGX 云端训练 (Train on DGX Cloud) 服务,这是 Hugging Face H ...
- 记录--用js如何实现将手机号中间的几位数字变成****
这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 今天,我们要实现一个很常见并且简单的功能:将手机号中间的几位数变成**** 这个功能其实很常见,比如我们微信的账号安全里面显示的手机号.掘 ...
- 记录--手写$forceUpdate,vm.$destroy方法
这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 vm.$forceUpdate (1)作用 迫使Vue.js实例重新渲染.注意它仅仅影响实例本身以及插入插槽内容的子组件,而不是所有子组件 ...
- 《.NET内存管理宝典 》(Pro .NET Memory Management) 阅读指南 - 第7章
本章勘误: 暂无,等待细心的你告诉我哦. 本章注解: 暂无 本章释疑: 暂无,等待你的提问 致谢: MVP 林德熙 MVP 吕毅 sPhinX 相关链接 试读记录
- Qt For OpenHarmony
本文转载自 OpenHarmony TSC 官方微信公众号<峰会回顾第29期 | Qt For OpenHarmony > 演讲嘉宾 | 蔡万苍 回顾整理 | 廖 涛 排版校对 | ...
- C# PropertyChanged 事件-数据绑定
在.NET平台上,数据绑定是一项令人十分愉快的技术.利用数据绑定能减少代码,简化控制逻辑. 通常,可以将某个对象的一个属性绑定到一个可视化的控件上,当属性值改变时,控件上的显示数据也随之发生变化.要实 ...
- 【FAQ】HarmonyOS SDK 闭源开放能力 —Scan Kit
1.问题描述 Scan Kit扫描专用底层码流接口需要鉴权,鉴权失败后功能还能用吗? 解决方案 如果已经申请过白名单,因为异常导致的鉴权失败会优先放通,保障业务成功. 2.问题描述 调用Scan Ki ...
- openEuler20.03操作系统上安装部署MogDB2.1.1
openEuler20.03 操作系统上安装部署 MogDB2.1.1 本文出处:https://www.modb.pro/db/378319 openEuler 操作系统上安装 mogdb: 下载 ...