日志服务数据加工: 任务状态监控与告警-阿里云开发者社区

开发者社区> 阿里云存储服务> 正文

日志服务数据加工: 任务状态监控与告警

简介: 日志服务数据加工最佳实践: 任务状态监控与告警, 介绍如何监控数据加工的任务状态, 并配置相应的监控.

作者: 唐恺

概述

对数据加工任务配置监控,可以发现数据流量、加工逻辑、系统运行的一些潜在异常,帮助业务及时做好异常恢复。

本文大部分监控指标基于“数据加工诊断”仪表盘(参考规则洞察仪表盘)。在系统层面关注:流式加工的消费延迟、是否有异常报错。业务层面上,处理日志行数或写出日志行数是可以被考虑的指标。

进入数据加工任务所属project,选择“仪表盘”-“数据加工诊断”,可以根据业务需求选择以下指标设置告警。

image

加工延迟

  1. 选择“shard消费延迟 (秒)”图表

image

  1. 设置触发条件

例如,选择阈值为120秒时告警:

[delay (s)] > 120

image

  1. 设置通知方式

本文以钉钉webhook为例,更多通知方式参考告警通知方式

image

  1. 告警通知

image

异常报错

  1. 选择“异常详情”图表

image

  1. 设置触发条件

例如,希望在出现ERROR时告警:

image

  1. 设置通知方式
  2. 告警通知

image

ERROR日志一般由加工逻辑或代码上引发,可以在修改代码并重启(停止、启动)作业后观察是否还有新的错误。

加工流量(绝对值)

  1. 选择“加工速率 (lines/s)”图表

image

  1. 设置触发条件

例如,当每秒处理日志条数少于4万行告警时告警(每种数据的流量特征不同,请根据实际情况设置有效的告警条件):

accept < 40000

image

  1. 设置通知方式
  2. 告警通知

image

加工流量(日同比)

  1. 自定义监控指标(图表)

进入数据加工任务所属project,选择logstore internal-etl-log,使用如下SQL计算每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))

image

保存该查询条件到仪表盘etl-monitor:

image

你还可以修改SQL以设置更精确的告警指标,例如只对任务ID:06f239b7362ad238e613abb3f7fe3c87设置告警:

__topic__:  __etl-log-status__ AND __tag__:__schedule_type__:  Resident and event_id:  "shard_worker:metrics:checkpoint" and __tag__:__schedule_id__:  06f239b7362ad238e613abb3f7fe3c87 | 
select ...
  1. 设置触发条件

例如,当日志处理速率比昨日下降40%时告警:

inc_ration < (-40)

image

  1. 设置通知方式
  2. 告警通知

image

告警相关操作

可以在告警列表中进行删除或禁用通知或修改操作:

image

更多告警使用指南请参考设置告警

进一步参考

欢迎扫码加入官方钉钉群获得实时更新与阿里云工程师的及时直接的支持:
image

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:

阿里云存储基于飞天盘古2.0分布式存储系统,产品多种多样,充分满足用户数据存储和迁移上云需求。

官方博客
链接