简介: 阿里云日志服务致力于为用户提供统一的可观测性平台,同时支持日志、时序以及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

计算配置

  1. 填入对应的作业名以及作业描述,写入模式选择日志库导入时序库
  2. 指标列指选择结果中的一列作为时序结果,此处选择success_ratio;
  3. Labels指选择结果中的哪几列作为时序数据的标签,此处留空即可;
  4. 时间列指时序数据的时间,此处选择time;
  5. 目标库选择刚刚创建的目标时序库;

调度配置

因为我们需要查看分钟级别的服务请求成功率,所以调度间隔还有SQL时间窗口均需要以分钟为粒度。用户也可以根据自己的需求进行调整。

  1. 调度间隔选择1分钟;
  2. SQL时间窗口填入@m - 1m ~ @m;
  3. 点击确认创建任务

查看任务详情

在作业菜单中点击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加速的更多相关文章

  1. 5分钟搭建网站实时分析:Grafana+日志服务实战

    原文地址:https://yq.aliyun.com/articles/227006 阿里云日志服务是针对日志类数据一站式服务,用户只需要将精力集中在分析上,过程中数据采集.对接各种存储计算.数据索引 ...

  2. 【JAVA并发编程实战】7、日志服务

    这里是一个应用项目使用生产消费模型的日志类 package cn.study.concurrency; import java.util.concurrent.BlockingQueue; impor ...

  3. Linux_rsyslogd日志服务(二)

    一.rsyslogd日志统一格式 基本日志格式包含以下四列: 1.事件产生的时间 2.发生事件的服务器的主机名 3.产生事件的服务名或程序名 4.事件的具体信息 二./etc/rsyslog.conf ...

  4. AngularJS中实现日志服务

    本篇体验使用AngularJS自定义一个记录日志的服务. 在AngularJS中,服务的一些写法是这样的: var app = angular.module('app',[]); app.provid ...

  5. Android日志服务 记录日志

    转: http://easion-zms.iteye.com/blog/981568 import java.io.BufferedReader; import java.io.File; impor ...

  6. rsyslog日志服务的配置文件分析

    基于rsyslog日志服务的日志 在不同的LINUX系统,实现的软件略有不同. syslog,rsyslog,syslog-ng,用于实现系统日志的管理. [root@asianux4 ~]# rpm ...

  7. 【阿里云产品公测】简单日志服务SLS使用评测 + 教程

    [阿里云产品公测]简单日志服务SLS使用评测 + 教程 评测介绍 被测产品: 简单日志服务SLS 评测环境: 阿里云基础ECS x2(1核, 512M, 1M) 操作系统: CentOS 6.5 x6 ...

  8. AMQ学习笔记 - 15. 实践方案:基于ActiveMQ的统一日志服务

    概述 以ActiveMQ + Log4j + Spring的技术组合,实现基于消息队列的统一日志服务. 参考:Spring+Log4j+ActiveMQ实现远程记录日志——实战+分析 与参考文章的比较 ...

  9. 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 ...

  10. 基于ActiveMQ的统一日志服务

    概述 以ActiveMQ + Log4j + Spring的技术组合,实现基于消息队列的统一日志服务. 参考:Spring+Log4j+ActiveMQ实现远程记录日志——实战+分析 与参考文章的比较 ...

随机推荐

  1. Lambda Web Browser使用教程

    Lambda web browser是一个功能强大的UE内置浏览器插件, 允许用户在编辑器模式和运行时启动一个浏览器窗口, 对于一些采用传统BS架构的项目而言, 控制页面都放在前段, 若想要将控制页面 ...

  2. django(路由层)

    一.简介 # 路由匹配 url(r'test',views.test), url(r'test_add',views.test_add) # r'test'与请求头的数据进行正则匹配 ''' url方 ...

  3. 在 NVIDIA DGX Cloud 上使用 H100 GPU 轻松训练模型

    在 NVIDIA DGX Cloud上使用 H100 GPU 轻松训练模型 今天,我们正式宣布推出 DGX 云端训练 (Train on DGX Cloud) 服务,这是 Hugging Face H ...

  4. 记录--用js如何实现将手机号中间的几位数字变成****

    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 今天,我们要实现一个很常见并且简单的功能:将手机号中间的几位数变成**** 这个功能其实很常见,比如我们微信的账号安全里面显示的手机号.掘 ...

  5. 记录--手写$forceUpdate,vm.$destroy方法

    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 vm.$forceUpdate (1)作用 迫使Vue.js实例重新渲染.注意它仅仅影响实例本身以及插入插槽内容的子组件,而不是所有子组件 ...

  6. 《.NET内存管理宝典 》(Pro .NET Memory Management) 阅读指南 - 第7章

    本章勘误: 暂无,等待细心的你告诉我哦. 本章注解: 暂无 本章释疑: 暂无,等待你的提问 致谢: MVP 林德熙 MVP 吕毅 sPhinX 相关链接 试读记录

  7. Qt For OpenHarmony

     本文转载自 OpenHarmony TSC 官方微信公众号<峰会回顾第29期 | Qt For OpenHarmony > 演讲嘉宾 | 蔡万苍 回顾整理 | 廖   涛 排版校对 |  ...

  8. C# PropertyChanged 事件-数据绑定

    在.NET平台上,数据绑定是一项令人十分愉快的技术.利用数据绑定能减少代码,简化控制逻辑. 通常,可以将某个对象的一个属性绑定到一个可视化的控件上,当属性值改变时,控件上的显示数据也随之发生变化.要实 ...

  9. 【FAQ】HarmonyOS SDK 闭源开放能力 —Scan Kit

    1.问题描述 Scan Kit扫描专用底层码流接口需要鉴权,鉴权失败后功能还能用吗? 解决方案 如果已经申请过白名单,因为异常导致的鉴权失败会优先放通,保障业务成功. 2.问题描述 调用Scan Ki ...

  10. openEuler20.03操作系统上安装部署MogDB2.1.1

    openEuler20.03 操作系统上安装部署 MogDB2.1.1 本文出处:https://www.modb.pro/db/378319 openEuler 操作系统上安装 mogdb: 下载 ...