MaxCompute消费监控最佳实践

本文涉及的产品
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
简介: MaxCompute计费方式有按量计费和包年包月,其中按量计费若使用不当,比较容易出现预料之外的高额消费产生,本文将结合阿里云提供的相关消费监控以及MaxCompute本身的消费监控/限制功能,介绍如何更好的进行MaxCompute按量计费消费监控和限制,更大程度的避免出现不必要的消费。

MaxCompute计费方式有按量计费和包年包月,其中按量计费若使用不当,比较容易出现预料之外的高额消费产生,本文将结合阿里云提供的相关消费监控以及MaxCompute本身的消费监控/限制功能,介绍如何更好的进行MaxCompute按量计费消费监控和限制,更大程度的避免出现不必要的消费。

MaxCompute计费方式

MaxCompute主要对存储、计算和下载操作进行计费,每种资源计费方式如下图:

对于包年包月,只有计算资源,可通过MaxCompute管家进行日常资源/作业负载监控,同时通过云监控对配额组使用占比进行监控以便及时发现资源满负载的情况。而对于按量计费,可根据不同消费异常的场景结合不同的方式进行监控预警或者限制消费。

常见消费突增场景

  • SQL费用突增,主要两种情况:
    • 突发某个或某几个作业单作业高额消费,一般是SQL扫描量非常大,常见原因:业务分析人员临时查询没有写好分区条件扫描全表或者大量分区;使用UDF表达分区条件但没开启支持分区裁剪的功能使得分区裁剪失效即全表扫描;源头数据量因为各种原因暴涨等。
    • SQL作业量突增,如平是日平均SQL量几百,某天突然上涨到几万,场景的原因:通过SDK发起作业,误操作高频发起大量的作业;正常业务如补历史数据、业务上量而产生大量的计算作业属于正常使用。
  • 下载费用突增,常见主要是因为Tunnel SDK导出数据时endpoint和Tunnel endpoint配置为公网导致走公网下载。

消费预警和控制方式

针对上述的常见消费突增场景,MaxCompute产品本身针对SQL和下载都分别支持了一些监控预警或消费限制功能,而对于其他的如spark按量计费任务,也会出现消费突增的情况,我们依然可以结合阿里云提供的成本管家、高额消费预警功能进行监控。可以结合业务使用情况,选择相应的方式进行监控。

实时消费监控告警

您可以通过云监控平台进行配置实时消费监控告警,针对未出账的标准SQL和MapReduce计算任务进行实时消费监控及告警。系统以项目(Project)为单位,按量统计日或月的累计消费,当累计消费超出设定的阈值时,系统会通过电话、短信、邮件或钉钉等方式通知您。
这种监控方式非常适合SQL突增,特别是突增大量SQL导致费用上涨的场景,可以及时获知并止损。

  • POC阶段,若使用的是按量计费,由于对MC计算还不是非常熟知的情况下,为了避免POC超预算,建议分别设置日累计实时消费监控和月累计实时消费监控。如设定每日计算消费超过1000元则预警,月累计消费超过50000则预警,通过此监控,一方面若超出消费预期则能及时获知快速进行人工介入排查,另一方面,也能获知测试的业务量对应消费量为多少。
    image.png

  • 业务稳定阶段,建议也对业务比较稳定的项目进行消费监控,以便突发消费情况能今早发现。如projecta的业务已经比较稳定,日平均消费为5000元,若超过6000则可视为异常,那么可配置监控如
    image.png

单SQL消费限制

MaxCompute支持在执行SQL语句前预估SQL语句的消费。单SQL消费限制功能支持在预估消费超出设定的阈值时,限制SQL语句执行,系统返回失败状态并给出失败信息。您可以通过此功能预防单个SQL语句产生高额费用。

单SQL消费限制支持如下两种设置方式:

  • 项目级别设置。Project Owner或者拥有Super_Administrator角色的用户才能执行该命令。setproject odps.sql.metering.value.max=<m_value>;
  • Session级别设置。该命令需要和SQL语句一起执行。只对本次执行有效。set odps.sql.metering.value.max=<m_value>;

结合单SQL消费突增常见场景,可以预先配置SQL消费限制:

  • 业务分析人员取数专用的project,由于这个场景使用人员比较多,对MaxCompute的SQL了解程度也有限,最容易出现“烂SQL”,也是最容易跑出高消费的SQL,因此建议针对此类项目都配置SQL消费限制,如果预估project下每条SQL消费不超过50元,换算成计算消耗量(即SQL读取量(GB)×SQL复杂度)=50/0.3=166.67,则可针对project设置project级别的sql消费限制setproject odps.sql.metering.value.max=166.67;
  • POC阶段,同样由于对业务和消耗量不是非常熟悉,也可以针对project级别设置单SQL消耗量,若真测试都某个计算量超过设定的值,可以针对该计算SQL设置Session级别的value相对更大的限制。如一开始限制每条SQL不能超过10元(value=10/0.3)则project级别设置setproject odps.sql.metering.value.max=33.33;,遇到需要30元的SQL则可针对该SQL设置set odps.sql.metering.value.max=100;
  • 业务稳定阶段,业务相对稳定的生产项目,建议配置实时日累计消费监控后,不大建议设置单SQL消费限制,因为限制是直接限制SQL执行,会可能影响业务产出,当然您若有强需求如坚决不能有消费超过xxx的sql,则也可以配置。

历史高额账单预警

您可以通过阿里云用户中心进行设置 高额消费预警,针对已经出账的账单金额进行监控及告警。MaxCompute按量计费的账单为天账单,即当天消费第二天出账,该方式只能监控历史消费金额。如果当天的账单金额超出设定的阈值,系统会在第二天09:00左右通过短信方式通知您。
此种方式主要主要是事后,账单出账后才能告警,有一定的延迟性,但是因为是针对整个账单,所以MaxCompute产品本身没有支持监控的其他各类计费项,都可以通过此功能进行统一监控,尽可能快的发现异常,更早人工介入避免异常持续发生。

成本管家监控

阿里云日志服务推出的成本管家功能,可一键开通后自动导入账单,并提供可视化的账单分析报表,帮助您提高账单分析的效率。

您可以通过成本管家自动导入MaxCompute账单,并选择邮件或者WebHook-钉钉机器人的方式发送订阅的报告。以此每日快速阅览账单。

image.png

自定义监控

如果上述各种方式都不能满足,您可以考虑通过MaxCompute提供的information schema数据,自定义对按量计费项目任务进行监控告警,您可以参考《统计MaxCompute TOPN费用账号及耗时作业》

更多相关MaxCompute成本优化相关的介绍、实践等可参考如下:
MaxCompute消费预警与控制-视频讲解
MaxCompute成本优化系列

相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps&nbsp;
目录
相关文章
|
5月前
|
SQL 分布式计算 监控
MaxCompute提供了一些工具以帮助您监控作业和资源使用情况。
【2月更文挑战第4天】MaxCompute提供了一些工具以帮助您监控作业和资源使用情况。
63 8
|
2月前
|
机器学习/深度学习 监控 大数据
Serverless 应用的监控与调试问题之Flink在整个开源大数据生态中应该如何定位,差异化该如何保持
Serverless 应用的监控与调试问题之Flink在整个开源大数据生态中应该如何定位,差异化该如何保持
|
3月前
|
存储 分布式计算 监控
日志数据投递到MaxCompute最佳实践
日志服务采集到日志后,有时需要将日志投递至MaxCompute的表中进行存储与分析。本文主要向用户介绍将数据投递到MaxCompute完整流程,方便用户快速实现数据投递至MaxCompute。
166 2
|
2月前
|
存储 设计模式 分布式计算
面向对象编程在大数据处理中的最佳实践
【8月更文第12天】随着互联网和物联网技术的发展,数据量呈指数级增长,大数据处理已成为现代企业不可或缺的一部分。大数据处理通常涉及收集、存储、管理和分析海量数据集。传统的数据库管理系统难以应对这样的挑战,因此出现了诸如Hadoop、Spark等分布式处理框架。这些框架通常使用面向对象编程(OOP)来构建可扩展、可维护的应用程序。本文将探讨如何利用面向对象编程的原则和模式来优化大数据处理任务。
63 0
|
4月前
|
数据采集 分布式计算 监控
MaxCompute产品使用问题之如何配置数据质量监控
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
|
4月前
|
SQL 分布式计算 监控
MaxCompute产品使用合集之如何监控作业和资源使用情况
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
|
5月前
|
存储 运维 监控
大数据分析平台之 OLAP 架构的最佳实践
本文将分享聚水潭云原生 OLAP 架构的最佳实践。
|
12月前
|
分布式计算 运维 监控
DataWorks如何配置MaxCompute监控进行订阅管理?
DataWorks如何配置MaxCompute监控进行订阅管理?
65 1
|
5月前
|
SQL 分布式计算 监控
MaxCompute提供了一些工具以帮助您监控作业和资源使用情况
MaxCompute提供了一些工具以帮助您监控作业和资源使用情况
73 4
|
5月前
|
Prometheus 监控 Cloud Native
助力工业物联网,工业大数据之服务域:服务器性能监控Prometheus及项目总结【三十五】
助力工业物联网,工业大数据之服务域:服务器性能监控Prometheus及项目总结【三十五】
64 1

热门文章

最新文章

相关产品

  • 云原生大数据计算服务 MaxCompute
  • 下一篇
    无影云桌面