MaxCompute作业日常监控与运维实践

简介: MaxCompute作业日常监控与运维实践

监控项目作业超时运行

案例一

专用于业务团队取数的project_A ,基本都是手动跑SQL查询,每个作业执行基本不会很长时间,由于目前使用的是包年包月计算资源,为了防止单个作业长期占用资源,需要对作业进行超时监控。假设对于project_A的SQL作业,只要某个作业运行时长(等待时间+真正运行时间)超过15分钟,则视为异常用时作业,需介入检查。


  • 监控配置

1. 登录[云监控控制台](https://cloudmonitor.console.aliyun.com/)。

2. 在左侧导航栏,单击报警服务 > 报警规则。

3. 在报警规则页面的阈值报警页签,单击创建报警规则。

4. 单击创建报警规则。

5. 在创建报警规则页面,基于场景配置报警规则相关信息,详细参数配置请参见[创建阈值报警规则](https://help.aliyun.com/document_detail/103072.html)。配置报警联系人详情请参见[创建报警联系人或报警联系组](https://help.aliyun.com/document_detail/104004.html)。

 image.png

  • 资源范围:选择项目名称,并在下方"项目名称"中指定需要监控的项目project_A 。
  • 规则描述:即选择监控指标,如此案例我们针对项目下所有作业 监控,则选择作业运行时长类型。最大值大于等于15*60=900秒,即配置作业运行时长超过15分钟则触发告警,注意单位为'秒'。
  • 通知方式:可以选择短信+邮件+钉钉机器人 (Warning),以便快速从各个通道获取告警,另外告警接收人要注意一定要配置好具体人员,避免接收的人员不是负责此业务的人员。


  • 告警处理
  • 收到单个job的超时告警,考虑是否单个作业本身问题,可以通过[MaxCompute管家的作业运维管理](https://help.aliyun.com/document_detail/198711.html?spm=a2c4g.11186623.6.1026.25656a2coeGp9Z)-高级查询单独搜索这个instance id:

     image.png

在结果列表里,可以看到作业的基本信息,可以点击'Logview'查看详情,如是否是长尾、是否是作业查询量本身就非常大等,经过判断后,可以考虑是否让job继续运行,若不能继续运行则kill掉。若一直是等待资源状态,那么可以到“作业快照”中查看当前时刻,对应资源组的作业负载情况,是否是有其他项目作业占满长期占满资源等。


  • 收到多个job超时告警,或者持续单个不同的job超时告警,可以考虑是否是资源不足,大量作业在等待资源,可以在MaxCompute管家作业快照里查看对应资源组此刻正在运行作业负载情况,人工介入,该kill作业的kull作业,该扩容的扩容等。

案例二

生产项目project_B ,有跑MaxCompute的SQL、spark等类型任务,所有生产任务都比较重要,正常情况下再大的任务执行时间(等待时间+真正运行时间)不会超过1个小时,考虑到spark有流式作业存在,一个job拉起会很长时间也是正常现象,因此对于本生产项目,可以对SQL类型作业进行监控超时情况,以便尽快介入检查。

  • 监控配置

1. 登录[云监控控制台](https://cloudmonitor.console.aliyun.com/)。

2. 在左侧导航栏,单击报警服务 > 报警规则。

3. 在报警规则页面的阈值报警页签,单击创建报警规则。

4. 单击创建报警规则。

5. 在创建报警规则页面,基于场景配置报警规则相关信息,详细参数配置请参见[创建阈值报警规则](https://help.aliyun.com/document_detail/103072.html)。配置报警联系人详情请参见[创建报警联系人或报警联系组](https://help.aliyun.com/document_detail/104004.html)。

image.png

  • 资源范围:选择项目名称,并在下方"项目名称"中指定需要监控的项目project_B 。
  • 规则描述:即选择监控指标,如此案例我们针对项目下所有作业 监控,则选择作业运行时长类型。最大值大于等于60*60=3600秒,即配置作业运行时长超过1个小时则触发告警,注意单位为'秒'。
  • 通知方式:可以选择短信+邮件+钉钉机器人 (Warning),以便快速从各个通道获取告警,另外告警接收人要注意一定要配置好具体人员,避免接收的人员不是负责此业务的人员。


  • 告警处理
  • 收到告警后,您可以通过[MaxCompute管家的作业运维管理](https://help.aliyun.com/document_detail/198711.html?spm=a2c4g.11186623.6.1026.25656a2coeGp9Z)-高级查询单独搜索对应的job,在结果列表中可先判断是否还是等待资源状态,若是,则可以通过作业快照查看此刻对应资源组作业运行情况是否资源紧张;若不是,可以点击Logview查看详细信息,是否长尾等。判断作业的合理性,决定是否继续运行或者kill掉。


若您是通过DataWorks使用MaxCompute,也可以通过DataWorks的[智能监控](https://help.aliyun.com/document_detail/138162.html?spm=a2c4g.11186623.6.1074.f4352d21zjMF73)配置自定义监控规则进行作业超时监控。DataWorks上还可以针对具体调度节点进行监控,监控的指标也更加丰富。


需要注意的是,如果作业一直为运行状态,触发告警的job如果一直处在running状态,那么只要满足告警周期规则,会持续发出告警,直到job运行完成(成功或失败)。如果遇到需要放行继续运行的job,告警周期又短,可能会频繁收到告警,因此在配置规则时告警周期需要合理配置。


查看某时段发起的作业执行情况

日常数据开发过程中,需要对自己负责的作业进行运维管理,如查看当天发起的作业执行情况,有哪些作业失败要查看失败原因等。

通过[MaxCompute管家的作业运维管理](https://help.aliyun.com/document_detail/198711.html?spm=a2c4g.11186623.6.1026.25656a2coeGp9Z),可以查看,如下图:

image.png

选择需要查看具体发起作业的时间段,选择状态,cancelled即为失败状态,点开高级查询,输入提交人(目前只支持精准匹配,需要带上`ALIYUN$`或`RAM$`前缀),进行搜索。在结果列表里可以快速获取一些基础信息,但是要查看具体失败原因,还需要点击Logview,通过Logview日志查看详情,包括查看对应跑的什么脚本、返回的失败信息等。


需要注意的是,如果是通过DataWorks发起的作业,且项目的“MaxCompute访问者身份”选择的是阿里云主账号的话,那么项目的所有提交人都会是主账号,因此就不适合通过“提交人”进行过滤,只能按其他粒度进行过滤。



查看某时刻包年包月资源组作业负载

作业资源运维人员,管理计算资源的分配,如收到开发人员反馈当前大量作业等待资源,通过MaxCompute管家概览页的“CU资源使用趋势”查看对应资源组的负载线图,点击具体时间点查看对应时刻作业快照:

image.png

  • 如果对应资源组是完全独享型(所有自定义配额组预留CU都是最大值=最小值),选择具体的资源组进行查看,这样更有针对性。点击曲线图上对应时刻,进入此刻的作业快照列表,查看当前运行的作业资源占用情况。在结果列表中,再对CUP使用占比进行从高到低排序,看是否是某个或某几个作业长时间占用大量资源,针对性对这些作业进行处理。
  • 如果资源组是共享型(自定义配额组预留CU最大值>最小值),那么可以直接默认查看所有资源组的CU资源使用趋势,这样进入快照列表中看所有资源的作业列表,对CUP使用占比进行从高到低排序,可以看到具体哪些作业在哪个资源组抢占了大量资源,进而针对性的处理作业,或者调整资源组,比如业务优先级低的项目所在资源组最大值可以分配小一些,以免抢占高优先级项目所属资源组的资源。


针对资源组的分配,可以参考[包年包月资源隔离](https://help.aliyun.com/document_detail/197810.html?spm=a2c4g.11186623.6.1153.11fe32c0myBda4)、[包年包月资源分时配额](https://help.aliyun.com/document_detail/194065.html?spm=a2c4g.11186623.6.1152.542b274biJDwSm)。



查看某作业执行相关信息

在做费用审计、资源审计等,获取到了某个job的instance id,需要找到提交人或者查看具体是执行了什么脚本等。


案例:如使用按量计费资源,对SQL进行费用审计,发现有某个或某几个作业费用异常,需要知道是谁执行的,执行的sql是什么。

1. 通过[MaxCompute管家的作业运维管理](https://help.aliyun.com/document_detail/198711.html?spm=a2c4g.11186623.6.1026.25656a2coeGp9Z)-高级查询单独搜索对应的job,因为是SQL消费审计,作业一定是成功状态,所以选择terminated状态。

2. 在结果列表中,查看信息:

  • 若提交人为子账号,则可直接找对应子账号负责人进行自检。
  • 若提交人为主账号且有DataWorks节点ID非空,则大概可以判断是通过DataWorks调度发起的生产节点,可以到DataWorks 运维中心[查看周期任务](https://help.aliyun.com/document_detail/137787.html?spm=a2c4g.11174283.6.1064.1be52b65CcPWWn)搜索节点,找到对应“责任人”,让责任人自检。
  • 若提交人为主账号,且DataWorks节点ID为空,此类比较难以判断责任人,可以通过点击查看Logview,获取具体的query,线下寻找跑过此query的提交人。需要注意的是,Logview一般保留时长为7天,超过7天,可以尝试通过[information schema->TASKS_HISTORY](https://help.aliyun.com/document_detail/135433.html?spm=a2c4g.11186623.6.1032.7ea65856ZU3E4x#title-r2c-tak-zfi)获取作业信息。
  • 若作业是最近7天运行的,作业责任人自检时,也可以直接在结果列表里访问Logview进行查看。




相关实践学习
基于MaxCompute的热门话题分析
Apsara Clouder大数据专项技能认证配套课程:基于MaxCompute的热门话题分析
目录
相关文章
|
11月前
|
数据采集 运维 数据可视化
AR 运维系统与 MES、EMA、IoT 系统的融合架构与实践
AR运维系统融合IoT、EMA、MES数据,构建“感知-分析-决策-执行”闭环。通过AR终端实现设备数据可视化,实时呈现温度、工单等信息,提升运维效率与生产可靠性。(238字)
|
12月前
|
存储 运维 安全
运维知识沉淀工具深度解析:从结构设计到落地实践全拆解
运维知识沉淀工具助力团队将零散经验结构化存储,实现问题处理路径标准化、知识复用化。通过标签、模板与自动化调取机制,让每次处理都留下可复用资产,提升团队协同效率与系统稳定性。
|
数据采集 机器学习/深度学习 人工智能
智能运维在IT管理中的实践与探索
【10月更文挑战第21天】 本文深入探讨了智能运维(AIOps)技术在现代IT管理中的应用,通过分析其核心组件、实施策略及面临的挑战,揭示了智能运维如何助力企业实现自动化监控、故障预测与快速响应,从而提升整体运维效率与系统稳定性。文章还结合具体案例,展示了智能运维在实际环境中的显著成效。
753 133
|
11月前
|
机器学习/深度学习 人工智能 运维
三重Reward驱动的运维智能体进化:多智能体、上下文工程与强化学习的融合实践
这篇文章系统性地阐述了 AI 原生时代下,面向技术风险领域的智能体系统(DeRisk)的架构设计、核心理念、关键技术演进路径与实践落地案例。
三重Reward驱动的运维智能体进化:多智能体、上下文工程与强化学习的融合实践
|
12月前
|
运维 Prometheus 监控
可观测性不是监控的马甲:运维团队到底该怎么升级?
可观测性不是监控的马甲:运维团队到底该怎么升级?
289 7
|
10月前
|
存储 运维 监控
57_大模型监控与运维:构建稳定可靠的服务体系
随着大语言模型(LLM)技术的快速发展和广泛应用,如何确保模型在生产环境中的稳定运行、高效服务和安全合规已成为企业和开发者面临的关键挑战。2025年,大模型服务已从实验室走向各行各业的核心业务流程,其运维复杂度也随之呈指数级增长。与传统软件系统不同,大模型服务具有参数规模庞大、计算密集、行为不确定性高等特点,这使得传统的运维监控体系难以满足需求。
1731 0
|
运维 监控 负载均衡
高效运维实践:常见问题的应对策略与实践经验
本文探讨了运维工作中的五大核心挑战及应对策略,涵盖负载均衡优化、数据库性能提升、系统监控预警、容器化与微服务运维等方面,旨在帮助企业提升系统稳定性与运维效率。
|
消息中间件 运维 监控
智能运维,由你定义:SAE自定义日志与监控解决方案
通过引入 Sidecar 容器的技术,SAE 为用户提供了更强大的自定义日志与监控解决方案,帮助用户轻松实现日志采集、监控指标收集等功能。未来,SAE 将会支持 istio 多租场景,帮助用户更高效地部署和管理服务网格。
755 51
|
数据采集 运维 监控
数据采集监控与告警:错误重试、日志分析与自动化运维
本文探讨了数据采集技术从“简单采集”到自动化运维的演进。传统方式因反爬策略和网络波动常导致数据丢失,而引入错误重试、日志分析与自动化告警机制可显著提升系统稳定性与时效性。正方强调健全监控体系的重要性,反方则担忧复杂化带来的成本与安全风险。未来,结合AI与大数据技术,数据采集将向智能化、全自动方向发展,实现动态调整与智能识别反爬策略,降低人工干预需求。附带的Python示例展示了如何通过代理IP、重试策略及日志记录实现高效的数据采集程序。
703 7
数据采集监控与告警:错误重试、日志分析与自动化运维

热门文章

最新文章

相关产品

  • 云原生大数据计算服务 MaxCompute