创建定时SQL分析任务
更新时间:2026-05-29
概述
定时SQL分析能力升级,支持将日志检索结果保存到目标日志集和Cprom指标集,用于定时数据分析、日志聚合、信息过滤、日志转指标等场景。
任务信息
在日志服务页面中点击“定时SQL分析”,进入“定时SQL分析列表”页面,点击“创建任务”,进入创建任务页面,填写配置信息。

配置内容
基本配置

- 任务名称:请输入任务名称
- 源日志集:选择源日志集
-
写入目标:日志集和指标集
- 目标日志集选择:选择一个日志集,不可和源日志集重复
- 目标指标集选择:选择Cprom对应地域的集群型实例,需要输入Token,从cprom集群实例详情获取
- 执行语句:根据查询语句将日志中的指标进行汇总。
- 执行时间范围:查询语句筛选日志的时间范围。
- 指标名称:选择指标集时需要配置指标名称。必填,支持多选,只获取数值类型指标字段:支持英文、数字、下划线或连接符,3~50个字符
- 指标维度:选择指标集时可选配置维度。非必填,获取执行语句里的维度信息,支持多选:支持数字、英文、_的组合形式(不支持纯数字),1~50个字符。不可和指标名称重复
调度配置
-
调度的开始和结束时间:需要定时 SQL 任务处理的日志数据的范围;
- 新建时默认开始时间是当前时间,可设置之前时间,但任务从创建完成任务开始执行
- 结束时间不填,不填是无限的意思,推荐无限,持续将新采集的日志转换为指标
- 编辑时开始和结束时间置灰,不可修改
-
调度周期:每隔一段时间会发起一次日志查询,或固定时间发起日志查询
- 固定间隔多久,1-59分钟,1-24小时
- 固定时间进行调度,每天,每周一到每周日
-
SQL查询范围:指定查询语句的时间窗口
- 快速配置:近多少分钟(1-59分钟),近多少小时(1-24),默认近1分钟
- 时间表达式方式:时间窗口表达式的最小精度为m(m:分钟,h:小时),该时间范围不能大于调度周期的5倍且不能超过1天。具体配置见下方时间表达式语法介绍。
- 调度预览:调度开始后会根据SQL查询范围查询日志并执行后输出结果到目标日志集或指标集,间隔一段调度周期后,会再次进行调度,直到调度结束时间未知。

查看结果
- 目标为日志集
直接在”BLS日志服务->日志查询“输入对应的目标日志集进行查询

- 目标为Cprom指标集
(1)打开"百度智能云Promethues控制台->Grafana服务",找到对应的指标集实例关联的Grafana服务,点击Grafana公网域名,进入到Grafana看板

(2)打开Grafana看板后,选择左侧Explore,打开后右上角选择对应指标集实例,输入指标名称或者维度后进行查询

查询语句样例
日志样例
| @stream | Level | CountSkipRows |
|---|---|---|
| stream1 | Error | 23 |
| stream1 | Info | 0 |
| stream2 | Error | 1 |
CASE1 过滤Error日志存到新的日志集
- Level:Error | SELECT *
- 过滤Error日志存到新的日志集里
CASE1 对已汇总指标进行监控
- SELECT CountSkipRows
- CountSkipRows 作为指标,需要在日志中已经被汇总为数字类型数值
CASE2 汇总日志数据并监控指标
- SELECT COUNT(Level) as cntLevel, @Level as level group by @Level
- 汇总 Level 的字段出现次数,并将出现次数作为指标进行监控
CASE3 过滤关键词,汇总日志数据并监控指标
- MATCH stream1 | SELECT COUNT(Level) as cntLevel, @Level as level group by @Level
- 只匹配存在stream1的日志进行监控
时间表达式语法
时间表达式语法 您在创建定时 SQL 分析时,可指定 SQL 查询范围。定时 SQL 任务运行时,仅查询该 SQL 时间范围内的日志。下面内容介绍 SQL 时间范围相关的时间表达式语法。
- 操作符
| 操作符 | 说明 |
|---|---|
| + | 加号 |
| - | 加号 |
- 时间单位
| 时间单位 | 说明 |
|---|---|
| h | 小时 |
| m | 分 |
- 示例
| 时间表达式 | 说明 |
|---|---|
| @m-15m 到 @m-5m | 先减15分钟再向下取整到分钟。例如,创建定时 SQL 任务时,配置调度周期为每天10:00,延迟执行为30秒,SQL 查询时间范围为[@m-15m,@m-5m),则表示在10:00:30时刻执行 SQL 任务,分析[09:45~09:55)期间的数据 |
| @h-1h 到 @h | 先减1小时再向下取整到小时。例如,创建定时 SQL 任务时,配置调度周期为每天10:00,延迟执行为30秒,SQL 查询时间范围为[@h-1h 到 @h),则表示在10:00:30时刻执行 SQL 任务,分析[09:00~10:00)期间的数据 |
| @h-10h+5m 到 @m-5m | 先减10小时再加5分钟,即减9小时55分钟。例如,创建定时 SQL 任务时,配置调度周期为每天10:00,延迟执行为30秒,SQL 查询时间范围为[@h-10h+5m,@m-5m),则表示在10:00:30时刻执行 SQL 任务,分析[00:05~09:55)期间的数据 |
评价此篇文章
