本文档介绍如何为数据加工任务配置监控与告警。

背景信息

日志服务提供数据加工任务运行指标的数据加工诊断仪表盘,您可以随时查看加工任务的运行指标信息,还可以订阅仪表盘,针对仪表盘中的指标信息设置告警监控。对数据加工任务设置监控,可以发现数据流量、加工逻辑、系统运行等潜在异常,帮助业务及时做好异常恢复。

数据加工诊断仪表盘中,建议您关注如下两方面的指标信息。
  • 系统层面:流式加工的消费延迟,是否有异常报错。
  • 业务层面:处理日志行数、输出日志行数。

操作步骤

  1. 登录日志服务控制台
  2. 单击目标Project。
  3. 在左侧导航栏中,单击配置监控与告警-001,进入仪表盘列表。
  4. 单击数据加工诊断仪表盘。
  5. 数据加工诊断页面,筛选目标作业,为不同指标设置告警。
    设置告警步骤请参见设置告警,您还可以订阅仪表盘,详情请参见订阅仪表盘

加工延迟

  1. shard消费延迟图表中,单击配置监控与告警 > 创建告警
  2. 配置告警。
    例如:触发条件设置为[delay (s)] > 120,表示阈值大于120秒时告警。 其他参数配置请参见设置告警加工延迟触发条件
  3. 配置通知方式。
    此处以WebHook-钉钉机器人为例,更多通知方式请参见通知方式加工延迟通知方式
  4. 在钉钉群中,查看告警通知。
    加工延迟通知

异常报错

  1. 异常详情图表中,单击配置监控与告警 > 创建告警
  2. 配置告警。
    例如:触发条件设置为level == 'ERROR'。其他参数配置请参见设置告警异常情况触发条件
  3. 配置通知方式。
    此处以WebHook-钉钉机器人为例,更多通知方式请参见通知方式加工延迟通知方式
  4. 在钉钉群中,查看告警通知。
    异常报错通知
    说明 ERROR日志一般是由加工逻辑或脚本引发,可以在修改脚本后重启(停止、启动)加工任务,观察是否还有新的错误。

加工流量(绝对值)

  1. 加工速率图表中,单击配置监控与告警 > 创建告警
  2. 配置告警。
    例如:触发条件设置为accept < 40000,表示当每秒处理日志条数少于4万行时产生告警。其他参数配置请参见设置告警绝对值触发条件
  3. 配置通知方式。
    此处以WebHook-钉钉机器人为例,更多通知方式请参见通知方式加工延迟通知方式
  4. 在钉钉群中,查看告警通知。
    绝对值告警

加工流量(日同比)

  1. 自定义监控指标。
    1. 日志管理 > 日志库页签中,单击internal-etl-log日志库。
    2. 输入如下查询分析语句,单击查询/分析
      该查询分析语句计算每5分钟的写出日志行数与昨日同比的指标。
      __topic__:  __etl-log-status__ AND __tag__:__schedule_type__:  Resident and event_id:  "shard_worker:metrics:checkpoint" | 
      select dt, today, yesterday, round((today - yesterday) * 100.0 / yesterday, 3) as inc_ration from
      (select dt, (case when diff[1] is null then 0 else diff[1] end) as today, (case when diff[2] is null then 0 else diff[2] end) as yesterday from 
      (select dt, compare("delivered lines", 86400) as diff from 
      (select date_format(__time__ - __time__ % 300, '%H:%i') as dt, sum("progress.delivered") as "delivered lines" from log group by dt order by dt asc limit 5000)
      group by dt order by dt asc limit 5000))
      说明 您还可以修改该查询分析语句以设置更精确的告警指标。例如只对任务ID:06f239b7362ad238e613abb3f7fe3c87设置告警。
      __topic__:  __etl-log-status__ AND __tag__:__schedule_type__:  Resident and event_id:  "shard_worker:metrics:checkpoint" and __tag__:__schedule_id__:  06f239b7362ad238e613abb3f7fe3c87 | 
      select dt, today, yesterday, round((today - yesterday) * 100.0 / yesterday, 3) as inc_ration from
      (select dt, (case when diff[1] is null then 0 else diff[1] end) as today, (case when diff[2] is null then 0 else diff[2] end) as yesterday from
      (select dt, compare("delivered lines", 86400) as diff from
      (select date_format(__time__ - __time__ % 300, '%H:%i') as dt, sum("progress.delivered") as "delivered lines" from log group by dt order by dt asc limit 5000)
      group by dt order by dt asc limit 5000))
    3. 统计图表中,选择折线图,并单击添加到仪表盘,添加该查询条件到仪表盘(此处以etl-monitor为例)。
      保存仪表盘
  2. 在左侧导航栏中,单击配置监控与告警-001,进入仪表盘列表。
  3. 单击etl-monitor
  4. etl-monitor仪表盘中,找到目标图表,单击配置监控与告警 > 创建告警
    仪表盘新建告警
  5. 配置告警。
    例如,触发条件设置为inc_ration < (-40),表示当日志处理速率比昨日下降40%时告警。其他参数配置请参见设置告警仪表盘触发条件
  6. 配置通知方式。
    此处以WebHook-钉钉机器人为例,更多通知方式请参见通知方式加工延迟通知方式
  7. 在钉钉群中,查看告警通知。
    仪表盘告警通知

告警相关操作

可以在告警列表中进行删除、修改或禁用通知操作,详情请参见管理告警配置