数据运维值班预警自动化

一、背景:

  每日早晨6点,数据运维团队要检核各类数据系统及夜间跑批任务是否正常运行。若一切正常,则需要在团队微信群中发一条消息,告知正常。若异常,需要当日值班人员进行排查处理,并在业务上班9点之间将问题解决,保证各类报表或数据服务中的数据准确及时。由于系统及任务众多且复杂,值班人员要人工从大量的系统通知邮件中,检查十多封关键的预警邮件,判断当日数据系统和批次任务是否正常,该过程耗时耗力,且容易因为粗心导致误判漏判,因此考虑通过编写自动化脚本将运维值班预警工作自动化,最大化的减少人工的操作量,降低操作风险。

二、自动化预警方案:

  1,邮件汇总方案:

  目前各类数据离线批次任务都设置了邮件通知,正常或者失败都会发一封邮件至数据团队成员的邮箱。通过编写python代码,过滤出重要的值班监控预警邮件,汇总后将邮件正文统一推送至企业微信。值班人员可以清晰的看出当日各类系统是否有异常,企微消息如下图所示(采用Markdown格式)。

image

方案难点:邮件来自不同的系统,格式差别较大,需要解析脚本能够很好的支持。

  2,独立运行检核规则:

  将值班运维检核规则从各类系统中独立抽取出来,全部放在统一的脚本中进行调用。将检核结果统一以邮件形式发送出来,并推送至企微机器人。最终微信群的效果如下:

d85dd56f-6a74-4679-bca3-7eb260029ebd

87795383-8664-457f-af19-39e1b7c657a6

实现步骤: 

1,登记检核规则(比如采用支持录入功能的BI工具)

image

 2,执行检核规则

后台服务器脚本,读取数据库中的检核规则,,按照计划时间执行检核任务,在源系统(数据库)中执行检核规则SQL,将检核结果存放在有数BI的检核结果表中。

image

 image

 3,发送邮箱

image

 

4,发送企微

后台脚本将邮箱中的正文保存成图片,并推送给企微

image

 企微API接口如下:

image

 

posted @ 2026-08-12 10:29  大汪的数据之路  阅读(14)  评论(0)    收藏  举报