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进行查看。

原文链接

本文为阿里云原创内容,未经允许不得转载。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/514014.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

resttemplate post提交json_SEO工具脚本,Python百度普通收录API提交工具

百度收录问题一直是不少渣渣头痛的问题,而官方其实提供了普通收录和快速收录这样的接口,直接调用官方api接口,大力出奇迹,你需要相信,你尽管seo,有排名算我输,不收录,怎么会呢&#…

OpenKruise 如何实现 K8s 社区首个规模化镜像预热能力

简介: OpenKruise 是阿里云开源的云原生应用自动化管理套件,也是当前托管在 Cloud Native Computing Foundation (CNCF) 下的 Sandbox 项目。它来自阿里巴巴多年来容器化、云原生的技术沉淀,是阿里内部生产环境大规模应用的基于 Kubernetes 之…

云原生时代,底层性能如何调优?

作者 | 宋慧出品 | CSDN云计算(ID:CSDNcloud)现在,当企业提及数字化转型,上云用云的话题时,言必谈及云原生。在云原生吞噬一切的口号下,云原生被频繁、高热度的讨论之后,其真正的价值…

linux ubuntu php,linux ubuntu安装php运行环境

1. 下载下载apache。http://httpd.apache.org/。因为我想安装2.2.9,去这里下载:http://archive.apache.org/dist/httpd/下载php。http://www.php.net/downloads.phpMysql。http://dev.mysql.com/downloads/mysql/5.1.html。可能是ubuntu 10.04没有安装rp…

4米乘以12米CAD图_孙吴镀锌钢管大棚骨架图片4-12米可定尺

孙吴镀锌钢管大棚骨架图片4-12米可定尺泽沃温室大棚管厂家是集生产销售为一体,生产经销大棚管、大棚钢管、热镀锌大棚管、大棚镀锌管、热镀锌带管。温室大棚产品广泛用于温室工程建设、大棚蔬菜基地建设、水果、水稻育秧、药材、种植、畜牧养殖等温室大棚骨架等行业…

Raft成员变更的工程实践

简介: 成员变更是一致性系统实现绕不开的难题,对于提升运维能力以及服务可用性都有很大的帮助。 本文从Raft成员变更理论出发,介绍了Raft成员变更和单步成员变更的问题,其中包括Raft著名的Bug。 对于Raft成员变更的工程实现上需要…

No.1-Apache IoTDB 随笔 - Time Series DBMS 综述

简介: 这是一篇无法一口气读完的、文字过万[正文字数14390]的长文,这是一个无法中途不上厕所就看完的、关于时序数据库的视频[时长111分钟]分享的文字整理.. 大家好,很开心能够和大家一起交流时序数据库的相关的内容 首先还是简单自我介绍一…

overflowhidden把内容遮住了怎么办_图片有水印怎么办?不用PS,有这4招就够了

大家好,我是热衷解决问题的秋小叶!俗话说,文不如表,表不如图!图片是我们在做 PPT 时经常会使用到的高频元素。阿文老师曾经说过:但是,在没有接触到正确的搜图方法前,我们往往会在搜索…

谷歌云试图抢占SAP软件云市场;企业上云迎来“黄金时代”;IBM和SAP帮助金融机构加快采用云技术……...

NEWS本周新闻回顾调查表明80%的企业在云计算方面超支云计算优化服务商Virtana公司委托研究机构Arlington Research公司对350位云计算决策者进行的这项研究发现,82%的受访者表示其所在的公司在云计算方面的支出远远超过他们的需要。Market Research Future&#xff1…

Java设计模式-桥接模式

目录 一、手机操作问题 二、传统方法 三、基本介绍 四、原理类图 五、使用桥接模式解决手机问题 一、手机操作问题 现在对不同手机类型的不同品牌实现操作编程( 比如 : 开机、关机、上网,打电话等) , 如图: 二、传统方法 传统方案解决手机操作问题分…

php生成格式 word文档,php使用phpword生成word文档

require_once ../libs/PHPWord/PHPWord.php;require_once ../libs/PHPWord/PHPWord/IOFactory.php;require_once ../../config.php;// require_once ../common/conn.php;// New Word Document$PHPWord new PHPWord();/**********文本格式的word text.php************/// New p…

Elasticsearch生态技术峰会 | Elasticsearch在清博大数据的应用与实践

简介: 开源最大的特征就是开放性,云生态则让开源技术更具开放性与创造性,Elastic 与阿里云的合作正是开源与云生态共生共荣的典范。值此合作三周年之际,我们邀请业界资深人士相聚云端,共话云上Elasticsearch生态与技术…

Elasticsearch生态技术峰会 | Elasticsearch在企查查的应用实践

简介: 开源最大的特征就是开放性,云生态则让开源技术更具开放性与创造性,Elastic 与阿里云的合作正是开源与云生态共生共荣的典范。值此合作三周年之际,我们邀请业界资深人士相聚云端,共话云上Elasticsearch生态与技术…

php中的active,用ActivePHP打造版本管理系统

用ActivePHP打造版本管理系统学习PHP时,我们总是被教导到,PHP是一种服务器端脚本,是不能用来控制客户端的。而伴随着PHP5的发布,这句话就不是那么正确了。因为现在,PHP也可以用来写客户端脚本了。是的,你没…

漫话:为什么计算机用补码存储数据?

作者 | 漫话编程来源 | 漫话编程我们知道,计算机只认识0和1,现实世界中的内容,无论是文字、音频、视频等等想要通过计算机存储、计算或者展示,都需要转换二进制。就像你刚刚唱的旋律,想要存储在计算机中也是要转成二进…

cad多个窗口并排显示_你早该这么做!并排查看Excel工作表其实一个小动作就搞定!...

特别福利:私信发送关键词【福利】,年度最全Office办公资源等你免费领哟~很多人都知道,有时在屏幕上并排查看起两个文件的内容,是一项非常顺畅和方便的操作——省去不少在不同窗口间来回切换的时间!当然,对于…

数据仓库如何实现湖仓一体数据分析?

简介: 随着云计算的普及和数据分析需求的扩大,数据湖数据仓库的湖仓一体分析能力成为下一代数据分析系统的核心能力。相对于数据仓库,数据湖在成本、灵活性、多源数据分析等多方面,都有着非常明显的优势。IDC发布的十项2021年中国…

Java应用全链路启动速度提升至15s,阿里云SAE能力再升级

简介: Java 作为一门面向对象编程语言,在性能方面的卓越表现独树一帜。但在高性能的背后,Java 的启动性能差也令人印象深刻,大家印象中的 Java 笨重、缓慢的印象也大多来源于此,高性能和快启动速度似乎有一些相悖。 近…

php组成,PHP的控制结构,PHP脚本是由一系列语句组成的。

任何 PHP 脚本都是由一系列语句构成的。一条语句可以是一个赋值语句,一个函数调用,一个循环,一个条件语句或者甚至是一个什么也不做的语句(空语句)。语句通常以分号结束。此外,还可以用花括号将一组语句封装成一个语句组。语句组本…

怎么取消苹果手机自动续费_知乎会员怎样取消自动续费

已开通连续订阅,需要从第三方支付账户( 或系统 )中关闭自动续费功能。否则自动续费仍有效,会持续扣费。
关闭路径如下:1.收到 【App store & Apple】 扣费账单的用户 (使用的是苹果支付方式&#xff0…