文档首页/ 云日志服务 LTS/ 用户指南/ 日志加工/ 使用定时SQL进行日志加工
更新时间:2024-09-19 GMT+08:00

使用定时SQL进行日志加工

云日志服务提供定时SQL功能,用于定时分析日志内容。定时SQL支持标准的SQL语法,按照调度规则周期性执行日志分析,并将分析结果存储到目标日志流。

目前此功能仅在华北-北京四、华南-广州、华东-上海一局点支持白名单用户提交工单申请使用,详细操作请参考提交工单,其他局点暂不支持该功能。

前提条件

  • 已成功采集到日志。
  • 对源日志内容已完成结构化配置,具体操作请参考结构化配置

限制条件

最多可创建20个定时SQL任务。

创建定时SQL

  1. 登录云日志服务控制台。
  2. 在左侧导航栏中选择“日志加工>定时SQL”,单击“创建定时SQL” 。

    或在左侧导航栏中选择“日志管理 ”,单击日志组或日志流名称,进入日志流详情页面,单击,在弹出页面中,选择“定时SQL”,单击“创建定时SQL”。
    • 通过该方式创建定时SQL时,源日志组/日志流为当前所选的日志组/日志流,且无法修改。
    • 通过该方式创建的定时SQL任务,会同步显示在定时SQL列表中,单击任务名称可查看详细信息

  3. 在创建定时SQL页面中,配置相关参数。

    • 在计算配置中,完成如下配置后,然后单击“下一步”。
      表1 计算配置参数

      参数

      说明

      任务名称

      定时SQL任务的名称。仅支持输入英文、数字、中文、中划线、下划线,且不能以中划线、下划线开头或结尾,长度范围为1~64个字符。

      描述

      定时SQL任务的描述。长度不超过1000个字符。

      源日志组/流名称

      选择已完成结构化配置的日志组/流,即表示源日志组/流中的日志内容通过定时SQL处理后,将存储到目标日志组/日志流中。

      统计类型

      SQL统计(使用旧SQL引擎)

      SQL代码

      输入的查询和分析语句,定时SQL运行时,云日志服务将执行该查询和分析语句分析日志。

      选择时间范围,对该范围内的日志内容进行SQL查询;单击“预览”可查询预览结果。

      目标日志组/流名称

      存储SQL分析结果的日志组/日志流。

    • 在调度配置中,完成如下配置。
      表2 调度配置参数

      参数

      说明

      调度间隔

      调度定时SQL任务的频率,每调度一次定时SQL任务将产生一个执行实例。调度间隔决定每个执行实例的调度时间。

      • 每小时:每隔一小时调度一次定时SQL任务。
      • 每天:在每天的某个固定时间点调度一次定时SQL任务。
      • 每周:在周几的某个固定时间点调度一次定时SQL任务。
      • 固定间隔:按照固定间隔调度定时SQL任务。
      • CRON:通过CRON表达式指定时间间隔,按照指定的时间间隔调度定时SQL任务。CRON表达式的最小精度为分钟,格式为24小时制,示例如下:
        • 0/10 * * * *从00:00开始,每隔整10分钟查询一次,分别为10分钟、20分钟、30分钟、40分钟、50分钟、60分钟。例如:当前时间为16:37,下一次查询时间为16:50。
        • 0 0/5 * * *从00:00开始,每隔5小时查询一次,分别为0时、5时、10时、15时、20时。例如:当前时间为16:37,下一次查询时间为20:00。
        • 0 14 * * *每天14:00查询一次。
        • 0 0 10 * *每月10日00:00查询一次。

      调度时间范围

      调度的时间范围,具体说明如下:

      • 某时间开始:实例调度的开始时间,不设时间范围。当该作业被删除时,则不产生新实例。
      • 特定时间范围:按照调度间隔生成的实例调度时间必须在该范围内,超出范围则不产生新实例。

      起始时间

      调度的起始时间。

      当调度时间范围选择某时间开始时,需要设置开始时间;当调度时间范围选择特定时间范围时,需要设置起始时间。

      SQL时间窗口

      定时SQL任务运行时,仅分析该时间范围内的日志。时间窗口表达式的最小精度为秒(s:秒,m:分,h:小时),且SQL时间窗口设置不能超过24小时。可在下拉框中,选择5分钟、15分钟、1小时和1天。如果需要设置其他时间,可在下拉框中选择自定义,通过时间窗口表达式进行设置。时间表达式为:[+/-{num}h+/-{num}m+/-{num}s@s,+/-{num}@h)。具体说明如下:

      • “[”表示包含边界。
      • “)”表示不包含边界。
      • “+”表示时间从当前时间开始往后算起,例如:当前时间是16:00,+1h则表示17:00。不建议使用“+”。
      • “-”表示时间从当前时间往前算起,例如:当前时间时间是16:00,-1h则表示15:00.
      • “{num}”表示时间取值,为任意整数。逗号前后的时间差值不能超过24小时。
      • “@”表示取整。@h:小时取整,分钟和秒忽略不计;@m:分钟取整,秒忽略不计;@s:秒取整。

      时间表达式,举例如下:

      • 5分钟:[-5m@m,@m)
      • 15分钟:[-15m@m,@m)
      • 1小时:[-1h@h,@h)
      • 1天:[-24h@h,@h)
      • 自定义(不超过一天):[-65m@h,-5m@h)
        说明:

        时间表达式最大值为调度间隔的五倍。

      SQL超时

      执行SQL分析操作失败时,自动重试的阈值。当超时时间超过指定的最大时间和超时次数超过最大次数时,该执行实例结束,状态为失败。

      • SQL超时时间取值为60~180秒之间。
      • SQL超时次数取值为1~10次之间。

  4. 完成后,单击“确定”。

查看定时SQL

  1. 在“定时SQL”页签,单击目标作业名称进入详情页面,可查看定时SQL任务的基本信息和执行实例。

    每一个实例的上报的日志条数最多为100行。

修改定时SQL

  1. 在“定时SQL”页签,单击目标作业名称操作列对应的“修改”。
  2. 在弹出的页面中,修改表2

    定时SQL的任务名称和源日志组/流名称无法进行修改。

删除定时SQL

  1. 在“定时SQL”页签,单击目标作业名称操作列对应的“删除”。

    或单击目标作业名称,进入定时SQL任务的基本信息页面中,单击右上角“删除”。

  2. 在弹出的页面中,单击“确定”可删除定时SQL任务。