You need to enable JavaScript to run this app.
导航

定时 SQL 分析概述

最近更新时间2024.03.01 18:11:02

首次发布时间2023.08.22 21:10:42

日志服务支持定时 SQL 分析功能,可以根据预设的时间窗口和调度周期对指定范围的日志数据进行检索分析,并将检索分析的结果保存到指定的日志主题中,用于数据分析、日志聚合、信息过滤等场景。本文档介绍定时 SQL 分析的功能、使用限制等信息。

背景信息

在业务日志数据精度较高、日志内容复杂的场景下,长期存储大量日志数据的成本高,海量数据的即时查询也会造成性能压力。日志服务提供定时 SQL 分析功能,支持对指定范围的日志数据进行定期检索分析,并将检索分析的结果保存到指定的日志主题中。定时 SQL 分析支持日志服务的所有检索与分析语法,可根据预设的时间窗口和调度周期运行分析任务。
使用定时 SQL 分析之后,您可以将存储海量日志数据的源日志主题设置较短的日志存储时长,其中的日志数据运行定时 SQL 分析之后即可到期删除,节约日志与索引存储成本。定时 SQL 分析结果保存的目标日志主题可以设置为较长的存储时长,例如永久保存。
除此之外,日志服务提供定时 SQL 分析的服务日志,用于查看定时 SQL 分析任务的运行信息。详细说明请参考服务日志

功能特性

定时 SQL 分析功能提供以下能力:

  • 日志定时检索分析:根据指定的时间窗口和调度周期,定期执行日志服务检索分析语句,并将分析结果保存到指定的目标日志主题中。定时检索分析可用于周期性的数据统计场景,例如定期汇总日志数据,提炼关键结果,并生成数据报表。
  • 日志聚合:对内容详尽的原始日志内容进行信息聚合,可以把海量日志数据汇总为精度合适的数据,降低存储成本。日志聚合能力适用于存储成本控制等场景,例如根据时间窗口聚合日志,降低日志精度以节省存储空间。
  • 日志过滤:对原始日志内容进行指定规则的筛选与过滤,只保留日志中需要关注的重要字段,并将其保存在指定的日志主题中。日志过滤适用于数据清洗等场景,例如运维场景下筛选出故障日志。

注意事项

  • 日志服务的定时SQL任务目前处于公测阶段,免收服务费用。但使用定时 SQL 分析过程中涉及的其他日志服务资源将根据标准计费项正常收取费用,例如用于存储处理后的日志数据的目标端日志主题将收取日志存储的费用。详细的价格信息请参考产品计费

  • 创建定时 SQL 分析任务之后,日志服务会在每次写入数据时自动为每一条数据添加以下预留字段,用于记录任务对应的元数据信息。调度时间等基本概念的说明可参考基本概念

    字段

    说明

    __task_id__

    定时 SQL 分析任务的 ID。

    __process_id__

    定时 SQL 分析任务中执行此调度计算的实例 ID。

    __process_start_time__

    定时 SQL 分析任务的 SQL 时间窗口开始时间。

    __process_end_time__

    定时 SQL 分析任务的 SQL 时间窗口结束时间。

    __process_time__

    实例的调度时间,即默认情况下后端服务开始产生运行实例。

    __schedule_time__

    实例的执行时间,即定时 SQL 分析任务的实例实际开始执行的时间。

使用限制

分类

限制项

说明

资源管理

定时 SQL 分析任务数量

  • 每个日志项目中最多创建 100 个定时 SQL 分析任务。
  • 每个源日志主题最多创建 15 个定时 SQL 分析任务。

删除定时 SQL 分析任务

日志服务的 Trace 功能依赖定时 SQL 分析任务的正常运行。为了保障 Trace 服务的可用性,请勿手动对 Trace 服务对应的定时 SQL 分析任务进行任何变更性操作,例如修改配置、删除等操作。如果需要修改 Trace 服务配置或关闭 Trace 服务,请在 Trace 服务的相关页面进行操作。

历史执行记录

任务的历史执行记录最多保存 7 天。 建议添加定时 SQL 分析任务服务日志的告警监控任务,便于及时发现问题重试错误实例。

数据写入

数据延迟

当数据存在延迟时,可能存在数据漏查的风险。即如果某时间点的数据在对应的调度实例执行完成之后才到达,则在下一个调度实例中也不会被查询。

实例并发

一个任务中最多只有 1 个调度实例为调度中状态。

写入失败重试

数据在写入失败后会重试 3 次,每次间隔 60 秒。 连续 3 次写入失败后,该实例状态会变更为执行失败。 建议添加定时 SQL 分析任务服务日志的告警监控任务,便于及时发现问题重试错误实例。