1.概述
离线数仓任务提交之后,责任人就不太关注任务运行情况,导致多次数据产出延迟甚至任务出错无人管理;实时任务也经常因为延迟问题造客服投诉,缺少对实时任务延迟出错等监控;消息队列Kafka购买版本及集群配置不够导致消费或生产流量超阈值,Kafak集群宕机等问题;以上急需开发人员对上述问题进行监控,这里采用钉钉机器人推送报警信息,直接@相应负责人进行及时处理。
2.报警推送
1.自定义钉钉群机器人
选择一个钉钉群,在智能群助手创建自定义机器人,选择自定义关键词方式(这里的关键词指报警信息需包含该关键词才能触发改机器人发送报警),最后生成的Webhook地址一定要复制下来,方便后续使用。
这里分别创建4个群机器人:
DataWorks业务告警(关键词:DataWorks)
Flink集群告警(关键词:Flink、restart、emit_delay)
Kafka集群告警(关键词:kafka、consumer、disk)
每日值班助手(关键词:DataWorks)
2.DataWorks任务监控
1.基于智能监控配置
1.DataWorks运维大屏--智能监控--规则管理
2.新建自定义规则,输入规则名称,选择需要监控的任务节点,配置触发条件(超时、出错、未完成等),这里选择未完成,然后接着配置截止到几点未完成触发报警
3.报警方式选择钉钉群机器人,输入刚才创建的DataWokks业务告警Webhook地址,然后配置报警次数,确定即可。
4.当该任务在每日6点未运行结束,则钉钉会触发报警并推送至钉钉群
2.基于周期任务运维配置
1.在提交的周期任务里,选择需要设置报警的任务节点
2.选择出错报警,输入刚才创建的DataWokks业务告警Webhook地址。当任务出错时,则钉钉会触发报警并推送至钉钉群
3.Flink任务监控
1.在实时计算flink平台作业运维界面,对需要添加报警的任务选择添加告警规则
2.自定义规则,注意这里的规则名称需要和Flink集群监控机器人里的关键词保持一致
这里比如规则名称为:restart,设置阈值(1min重启次数),通知方式选择钉钉
3.联系人组我们需要创建,新建告警需要通知的联系人,将Flink集群监控Webhook地址输入
4.联系人创建完成后,添加联系人组,将需要通知的联系人加入联系人组,最后上述步骤2中选择这个联系人组
5.当任务出错或者延迟,则会触发钉钉机器人并通知群里的相应联系人
4.Kafka集群监控
1.消息队列kafka--监控报警,选择创建报警规则
2.选择创建报警规则,产品选择Kafka,然后点击添加规则
3.输入规则名称,这里选择实例的消息生产量,因为不同kafka集群配置消息生产量是不同的
4.阈值设置为100
5.配置完成后,选择对应的报警联系人,如果还没报警联系人,则需要创建并输入Kafka集群监控Webhook地址
6.当生产阈值超过100时,就会产生报警并推送顶顶群对应联系人
3.值班助手
当上述告警都配置完成时,负责人也不一定一定在场处理问题,所以可以利用DataWorks值班表,将每天需要值班运维的人员发送告警群里。
1.运维中心--智能监控--值班表,新建值班表
2.输入名称,以钉钉方式提醒,输入值班助手Webhook地址
3.针对日期表设置值班人员,则每日前一天会在群里通知,当天值班人员处理问题
这里通知方式有@所有人,和不@,如果想要@相应值班人员,则需要写代码实现,这个我们下篇文章具体讲述
4.总结
以上就是我们针对离线和实时任务的出错报警监控,当然也有其他设置方式,阿里云也提供了。当前的设置很方便我们运维人员处理问题了,后续会进行改进。
拜了个拜