直击运维痛点,大数据计算引擎 EasyMR 的监控告警设计优化之路

本文涉及的产品
可观测可视化 Grafana 版,10个用户账号 1个月
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
可观测监控 Prometheus 版,每月50GB免费额度
简介: 监控告警在企业保障系统的稳定性和事故快速恢复的全周期链路中都是至关重要的一环。在新版本的 EasyMR 中袋鼠云开发团队也对监控告警功能进行了全新的优化,通过本文和大家分享监控告警功能的设计思路以及碰到各类问题痛点的解决方法。

当企业的业务发展到一定的阶段时,在系统中引入监控告警系统来对系统/业务进行监控是必备的流程。没有监控或者没有一个好的监控,会导致开发人员无法快速判断系统是否健康;告警的实质则是“把人当服务用”,用告警通知人的方式去干预系统达到修正的目的。


监控告警在企业保障系统的稳定性和事故快速恢复的全周期链路中都是至关重要的一环。在新版本的 EasyMR 中袋鼠云开发团队也对监控告警功能进行了全新的优化,通过本文和大家分享一下监控告警功能的设计思路以及碰到各类问题痛点的解决方法。

EasyMR 监控告警设计

对于 EasyMR 的监控告警设计思路,考虑到 Zabbix 后端数据库使用 MySQL 对监控数据进行存储,无法满足多维度化的告警。而 openfalcon 整体架构上吸取了 Zabbix 的经验,解决了 Zabbix 的不足之处,但是社区活跃度不高。


所以我们选择了集成 Prometheus+Grafana 的解决方案搭建 EasyMR 的监控系统,这套解决方案是目前主流的方案,使用的人群较多,在推广使用上会降低门槛而且容易维护,也适合袋鼠云平台的容器化部署。整体架构图如下:

首先我们在这套平台的基础上增加了一个 dt-alert 组件用来对接第三方的告警发送的处理,其次我们对 Grafana 进行了少量的二次开发。开发的内容主要在于打通 EasyMR 平台的告警通道和 Grafana 上的通道的对接,平台接入好主机和部署好服务后 Prometheus 就能通过服务发现的方式完成目标抓取作业的生成获取监控数据。


Grafana 从 Prometheus 中获取指标数据进行展示,同时触发告警时将告警内容发到 dt-alert 组件中,dt-alert 组件将告警信息发往第三方平台上。

EasyMR 监控告警痛点

基于上述告警监控的解决方案是否就是一个非常完美的方案呢,答案当然是否定的,接下来我们就讨论一下在使用此方案的过程中遇到的问题和痛点:


● 低版本 Grafana 漏洞频发

低版本 Grafana 漏洞频发,导致平台安全问题受到很大的挑战。漏洞是指计算机系统安全方面的缺陷,会使得系统或其应用数据的保密性、完整性、可用性、访问控制等方面面临威胁。由于早期版本的 EasyMR 是基于 Grafana5.3 版本做的二次开发,所以被扫描出来的漏洞非常多,遇到相应漏洞时只能想办法规避。


● 缺少分级告警

缺少分级告警,无法区分不同严重程度的告警。对于运维人员来说,监控告警是用来发现故障用的,但是存在一个问题,如果一个系统中所有的告警都是同一个级别,那么出现问题时,可能会同时出现很多的告警,告警没有分级不光会造成告警过多,还会让开发人员无法区分优先级,导致无法优先处理更紧急的问题。


● 无法对同一个仪表盘设置多条告警规则

由于我们是使用 Grafana 来设置告警规则,在老版本中同一个 panel 只能设置一条告警规则,如果我们想针对同一个监控指标设置多个告警规则的话只能新建一个相同指标的 panel 再设置新的告警规则,这在使用上来说是非常不便利的。


EasyMR 监控告警优化解决方案

基于以上三点痛点,袋鼠云开发团队在新版本的 EasyMR 中,将 Grafana 版本从 5.3.x 升级到了 8.5.x,新版本可以非常顺利地解决上述问题。基于新版本的二开前后端为了将 Grafana 很好的嵌入 EasyMR 产品页面中,做了很多的优化工作,包括但不限于隐藏侧边栏、隐藏 Grafana 一级菜单、取消 title 点击事件隐藏相关信息等等。


● 优化前

● 优化后


如何配置 EasyMR 新版本告警规则

接下来给大家详细介绍一下如何配置新版本 EasyMR 的告警规则。

● 选中仪表盘

选择仪表盘,以 cpu_usage 告警为例,选中 Host_Overview。

● 选中面板

在 System->cpu_usage 面板中点击下拉菜单,选中 Edit 选项。

● 创建告警

选中 Alert 项,点击创建告警规则。

编辑告警规则,告警参数参考如下模板,参数确认无误后点击保存。

● 自定义告警模板

以 Redis 告警为例,在 Prometheus 查询的值为:

自定义模板可以引用标签和值变量:

钉钉告警示例如下:


《数据治理行业实践白皮书》下载地址:https://fs80.cn/380a4b

《数栈V6.0产品白皮书》下载地址:https://fs80.cn/cw0iw1

想了解或咨询更多有关袋鼠云大数据产品、行业解决方案、客户案例的朋友,浏览袋鼠云官网:https://www.dtstack.com/?src=szalykfz

同时,欢迎对大数据开源项目有兴趣的同学加入「袋鼠云开源框架钉钉技术 qun」,交流最新开源技术信息,qun 号码:30537511,项目地址:https://github.com/DTStack

相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
目录
打赏
0
0
0
0
32667
分享
相关文章
大数据 优化数据读取
【11月更文挑战第4天】
131 2
智能运维实战:Prometheus与Grafana的监控与告警体系
【10月更文挑战第26天】Prometheus与Grafana是智能运维中的强大组合,前者是开源的系统监控和警报工具,后者是数据可视化平台。Prometheus具备时间序列数据库、多维数据模型、PromQL查询语言等特性,而Grafana支持多数据源、丰富的可视化选项和告警功能。两者结合可实现实时监控、灵活告警和高度定制化的仪表板,广泛应用于服务器、应用和数据库的监控。
496 3
云栖实录 | 大模型在大数据智能运维的应用实践
云栖实录 | 大模型在大数据智能运维的应用实践
大数据与金融科技:革新金融行业的动力引擎
大数据与金融科技:革新金融行业的动力引擎
32 0
大数据与金融科技:革新金融行业的动力引擎
Flink 基础详解:大数据处理的强大引擎
Apache Flink 是一个分布式流批一体化的开源平台,专为大规模数据处理设计。它支持实时流处理和批处理,具有高吞吐量、低延迟特性。Flink 提供统一的编程抽象,简化大数据应用开发,并在流处理方面表现卓越,广泛应用于实时监控、金融交易分析等场景。其架构包括 JobManager、TaskManager 和 Client,支持并行度、水位线、时间语义等基础属性。Flink 还提供了丰富的算子、状态管理和容错机制,如检查点和 Savepoint,确保作业的可靠性和一致性。此外,Flink 支持 SQL 查询和 CDC 功能,实现实时数据捕获与同步,广泛应用于数据仓库和实时数据分析领域。
284 32
🎉 WatchAlert - 开源多数据源告警引擎【运维研发必备能力】
WatchAlert 是一个开源的多数据源告警引擎,支持从 Prometheus、Elasticsearch、Kubernetes 等多种数据源获取监控数据,并根据预定义的告警规则触发告警。它具备多数据源支持、灵活的告警规则、多渠道告警通知、可扩展架构和高性能等核心特性,帮助团队更高效地监控和响应问题。项目地址:https://github.com/opsre/WatchAlert
🎉 WatchAlert - 开源多数据源告警引擎【运维研发必备能力】
人工智能在云计算中的运维优化:智能化的新时代
人工智能在云计算中的运维优化:智能化的新时代
319 49
机器学习与大数据分析的结合:智能决策的新引擎
机器学习与大数据分析的结合:智能决策的新引擎
295 15
MaxFrame 性能评测:阿里云MaxCompute上的分布式Pandas引擎
MaxFrame是一款兼容Pandas API的分布式数据分析工具,基于MaxCompute平台,极大提升了大规模数据处理效率。其核心优势在于结合了Pandas的易用性和MaxCompute的分布式计算能力,无需学习新编程模型即可处理海量数据。性能测试显示,在涉及`groupby`和`merge`等复杂操作时,MaxFrame相比本地Pandas有显著性能提升,最高可达9倍。适用于大规模数据分析、数据清洗、预处理及机器学习特征工程等场景。尽管存在网络延迟和资源消耗等问题,MaxFrame仍是处理TB级甚至PB级数据的理想选择。
78 4
大数据时代的引擎:大数据架构随记
大数据架构通常分为四层:数据采集层、数据存储层、数据计算层和数据应用层。数据采集层负责从各种源采集、清洗和转换数据,常用技术包括Flume、Sqoop和Logstash+Filebeat。数据存储层管理数据的持久性和组织,常用技术有Hadoop HDFS、HBase和Elasticsearch。数据计算层处理大规模数据集,支持离线和在线计算,如Spark SQL、Flink等。数据应用层将结果可视化或提供给第三方应用,常用工具为Tableau、Zeppelin和Superset。
966 8