使用定时SQL进行日志加工
云日志服务提供定时SQL功能,用于定时分析日志内容。定时SQL支持标准的SQL语法,按照调度规则周期性执行日志分析,并将分析结果存储到目标日志流。
目前此功能仅在华北-北京四、华南-广州、华东-上海一局点支持白名单用户提交工单申请使用,详细操作请参考提交工单,其他局点暂不支持该功能。
前提条件
- 已成功采集到日志。
- 对源日志内容已完成结构化配置,具体操作请参考结构化配置。
限制条件
最多可创建20个定时SQL任务。
创建定时SQL
- 登录云日志服务控制台。
- 在左侧导航栏中选择“日志加工>定时SQL”,单击“创建定时SQL” 。
或在左侧导航栏中选择“日志管理 ”,单击日志组或日志流名称,进入日志流详情页面,单击,在弹出页面中,选择“定时SQL”,单击“创建定时SQL”。
- 通过该方式创建定时SQL时,源日志组/日志流为当前所选的日志组/日志流,且无法修改。
- 通过该方式创建的定时SQL任务,会同步显示在定时SQL列表中,单击任务名称可查看详细信息。
- 在创建定时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次之间。
- 在计算配置中,完成如下配置后,然后单击“下一步”。
- 完成后,单击“确定”。
修改定时SQL
- 在“定时SQL”页签,单击目标作业名称操作列对应的“修改”。
- 在弹出的页面中,修改表2。
定时SQL的任务名称和源日志组/流名称无法进行修改。
删除定时SQL
- 在“定时SQL”页签,单击目标作业名称操作列对应的“删除”。
或单击目标作业名称,进入定时SQL任务的基本信息页面中,单击右上角“删除”。
- 在弹出的页面中,单击“确定”可删除定时SQL任务。