背景
阿里云日志服务致力于为用户提供统一的可观测性平台,同时支持日志、时序以及Trace数据的查询存储。为了方便用户计算聚合数据,或者根据日志数据计算服务指标,日志服务推出了Scheduled SQL功能。Scheduled SQL支持定时分析数据、存储聚合数据、投影与过滤数据。为了方便用户观察Scheduled SQL任务的执行情况,日志服务为Scheduled SQL增加了告警功能,本文主要向用户介绍如何开启Scheduled SQL告警,以及追踪任务的执行情况,方便用户及时发现异常情况。
执行日志
开通执行日志
- 在Scheduled SQL任务所在Project的概览页面,点击开通服务日志。
- 点击作业告警日志按钮,开通Scheduled SQL执行日志。
开通作业告警日志之后,在对应project下的internal-diagnostic_log,就可以查看到Scheduled SQL的执行日志了。
查看执行日志
在控制台查询页面输入
* and __topic__: scheduled_sql_alert
可以查看Scheduled SQL的执行日志,每个任务实例的执行情况均可以查看。
字段说明
字段 |
说明 |
示例 |
project |
任务所在的project名称 |
my-project-name |
job_name |
任务名称 |
sql-16xxxxxxx-xxxxxx |
uid |
主账户阿里云UID |
|
schedule_id |
调度配置标识 |
|
job_type |
任务类型,目前恒为ScheduledSQL |
|
instance_id |
任务实例标识 |
|
create_time |
任务实例创建时间,单位为秒 |
|
schedule_time |
任务实例调度时间,单位为秒 |
|
trigger_time |
任务实例触发时间,单位为秒 |
|
status |
任务实例执行结果,可以为FAILED或者SUCCEEDED |
|
error_code |
如果实例执行失败,说明失败原因 |
SQLFailed |
error_message |
如果实例执行失败,说明失败详情 |
sql syntax error |
fallbehind |
任务触发时间和调度时间间隔,说明执行延迟,单位为秒 |
85 |
succeed_lines |
如果实例成功,说明写入行数;如果实例失败,则为0 |
100 |
告警规则
通过监控任务执行日志,可以配置告警规则监控任务的执行情况。用户可以自定义告警规则,也可以使用内置的Scheduled SQL告警规则。
开启新版告警
在执行日志所在的project,点击左侧的告警按钮打开告警中心,开启新版告警服务。
行动策略
点击告警管理标签页,在下拉框中点击行动策略,打开行动策略编辑框。可以看到SLS Scheduled SQL内置行动策略。点击右侧的修改按钮,在第一行动列表中添加想要的通知方式,目前支持十多种通知渠道。更多关于行动策略的信息,可以参考官方文档。当然,用户也可以选择自定义Scheduled SQL告警的行动策略,通过点击添加按钮添加新的额行动策略。
内置告警
在告警中心的规则视图页面,选中SLS ScheduledSQL复选框,筛选出内置告警规则。点击右侧的添加按钮,在弹出窗口中填写告警配置,即可完成告警规则的配置。这里需要注意内置告警规则评估间隔为5分钟。
配置 |
说明 |
示例 |
告警名称 |
告警实例名称 |
xxx任务错误监控 |
监控的Project |
ScheduledSQL任务所在的Project,.*表示监控所有Project |
|
监控的任务名称 |
需要监控的ScheduledSQL任务名称,注意非显示名称;.*表示监控所有任务 |
sql-123456-1234 |
行动策略 |
行动策略小节中配置的行动策略,默认使用内置行动策略 |
|
严重度 |
告警严重度 |
自定义告警
如果内置告警规则不符合需求,也可以自定义告警规则。可以通过点击新建告警按钮,新建自定义告警。关于自定义告警的配置详情,可以参考官方文档。
事件管理
配置完告警规则,就可以在ScheduledSQL任务异常时收到告警。点击告警中心页面右侧的事务视图按钮,可以查看历史告警事件。
总结
Scheduled SQL为用户周期性的进行分析数据、存储聚合数据、投影与过滤数据提供了较大的便利。为了避免任务执行失败引发问题,建议开启Scheduled SQL告警功能,能够及时处理出现的问题。