首发于 美团技术博客
美团MySQL数据库巡检系统的设计与应用

美团MySQL数据库巡检系统的设计与应用

巡检工作是保障系统平稳有效运行必不可少的一个环节,目的是能及时发现系统中存在的隐患。本文介绍了美团MySQL数据库巡检系统的框架和巡检内容,希望能够帮助大家了解什么是数据库巡检,美团的巡检系统架构是如何设计的,以及巡检系统是如何保障MySQL服务稳定运行的。
对了,文末还有一个重要的招聘信息,可以了解一下!

我们生活中随处可见各种巡检系统,比如电力巡检、消防检查等,正是这些巡检工作,我们才能在稳定的环境下进行工作、生活。巡检对于数据库或者其他IT系统来说也同样至关重要,特别是在降低风险、提高服务稳定性方面起到了非常关键作用。

一、背景

为了保障数据库的稳定运行,以下核心功能组件必不可少:

其中,数据库巡检作为运维保障体系最重要的环节之一,能够帮助我们发现数据库存在的隐患,提前治理,做到防患于未然。对于大规模集群而言,灵活健壮的自动化巡检能力,至关重要。

任何系统都会经历一个原始的阶段,最早的巡检是由中控机+定时巡检脚本+前端展示构成的。但是,随着时间的推移,老巡检方案逐渐暴露出了一些问题:

所以我们需要一个灵活、稳定的巡检系统来帮助我们解决这些痛点,保障数据库的稳定。

二、设计原则

巡检系统的设计原则,我们从以下三个方面进行考虑:

三、系统架构

美团MySQL数据库巡检系统架构图设计如下所示。接下来,我们按照架构图从下到上的顺序来对巡检系统主要模块进行简单的介绍。

1. 执行层

巡检执行环境:由多台巡检执行机组成,巡检任务脚本会同时部署在所有执行机上。执行机会定时从巡检Git仓库拉取最新的脚本,脚本使用Python Virtualenv + Git进行管理,方便扩充新的执行机。

任务调度:巡检任务使用了美团基础架构部研发的分布式定时任务系统Crane进行调度,解决传统定时任务单点问题。Crane会随机指派某一台执行机执行任务,假如这台执行机出现故障,会指派其他执行机重新执行任务。一般一个巡检任务对应着一个巡检项,巡检任务会针对特定的巡检目标根据一定的规则来判断是否存在隐患。

巡检目标:除了对生产数据库进行巡检以外,还会对高可用组件、中间件等数据库周边产品进行巡检,尽可能覆盖所有会引发数据库故障的风险点。

2. 存储层

巡检数据库:主要用来保存巡检相关数据。为了规范和简化流程,我们将巡检发现的隐患保存到数据库中,提供了通用的入库函数,能够实现以下功能:

巡检脚本Git仓库:用来管理巡检脚本。为了方便DBA添加巡检,在系统建设过程中,我们增加了多个公共函数,用来降低开发新巡检的成本,也方便将老的巡检脚本迁移到新的体系中。

3. 应用层

集成到数据库运维平台:作为隐患明细展示、配置巡检展示、管理白名单等功能的入口。为了提高隐患治理效率。我们做了以下设计。

隐患运营后台:这个模块主要目的是推进隐患的治理。

外部数据服务:主要是将巡检隐患数据提供给美团内部其他平台或项目使用,让巡检数据发挥更大的价值。

四、巡检项目

巡检项目根据负责方分为DBA和RD,DBA主要负责处理数据库基础功能组件以及影响服务稳定性的隐患。RD主要负责库表设计缺陷、数据库使用不规范等引起的业务故障或性能问题的隐患。也存在需要他们同时参与治理的巡检项,比如“磁盘可用空间预测”等。目前巡检项目共64个,类目分布情况如下图所示:

下面,我们通过列举几个巡检任务来对巡检项做简单的说明:


五、成果

美团MySQL巡检系统已稳定运行近一年时间,基于新巡检体系上线的巡检项49个。通过巡检体系持续运行,在团队的共同努力下,我们共治理了8000+核心隐患,近3个月隐患治理周期平均不超过4天,将隐患总数持续保持在极小的量级,有效地保障了数据库的稳定。

下面的隐患趋势图,展示了近一年中隐患的个数,数量突然增长是由于新的巡检项上线。从整体趋势上看,隐患存量有非常明显的下降。

除了推动内部隐患治理之外,我们还通过对接先知平台,积极推动RD治理隐患数量超过5000个。

为了提升用户体验,我们在提升准确率方面也做了重点的投入,让每一个巡检在上线前都会经过严格的测试和校验。

对比其他先知接入方,DBA上报隐患在总量、转化率、反馈率几个指标上都处于较高水平,可见我们上报的隐患风险也得到了RD的认可。

指标说明:

六、未来规划

除了继续完善补充巡检项以外,未来巡检系统还会在以下几个方向继续探索迭代:

作者简介

王琦,基础架构部DBA组成员,2018年加入美团。

---------- END ----------

招聘信息

美团技术运营团队纳新啦!这应该是第一次使用我们自己的公众号来发布我们自己团队的招聘信息,大家要过来捧场呀!

我们是一个温馨有爱且非常重视学习和成长的小团队,做的事情有意思也很有挑战。加入我们的话,你可以跟美团近万名优秀工程师同学打交道,你能够接触到很多前沿的技术、思想,还能近距离接触很多业界的技术牛人......

期待优秀的你加入我们,欢迎大家自荐或者推荐 ~ ~

招聘技术运营

岗位职责

1. 根据公司战略方向,规划公司内外支持研发团队的运营项目,包括内容产出、线上线下活动策划组织等。2. 有效拓展、运营、维护传播渠道,建立完善的合作、传播机制和体系。3. 独立负责项目的实施,通过与项目相关方沟通获取必备资源,通过数据分析评估各类运营动作的效果。4. 有效整合各方资源,促进公司内部研发团队的分享交流,提升研发团队对外的技术影响力。

任职要求

1. 喜欢和研发同学打交道,了解他们的喜怒哀乐。2. 本科及以上学历,3年以上运营工作经验。3. 思路清晰,注重细节,具备较好的数据分析和时间管理能力。4. 有责任感,聪明并热爱学习,自信开朗。5. 优秀的文字功底和表达能力,一定的活动/会议/展览组织、执行能力,有产品或用户运营、项目管理、市场文案及编辑记者经验者优先。

感兴趣的同学可投递简历至:tech@meituan.com(邮件标题注明:技术运营)

也许你还想看

| 数据库智能运维探索与实践

| MyFlash——美团点评的开源MySQL闪回工具

| Intel PAUSE指令变化影响到MySQL的性能,该如何解决?

深圳SEO优化公司大连百姓网标王多少钱湖州seo网站推广报价营口百度竞价包年推广绍兴网络营销价格上饶设计网站价格永湖至尊标王价格德阳seo排名哪家好淮安网站优化按天计费哪家好南山SEO按天扣费宿迁网站设计模板报价吉祥设计公司网站公司驻马店网站建设推荐池州网页制作吉林网站排名优化公司兴安盟关键词按天计费报价松原百度竞价多少钱萍乡企业网站建设枣庄网站优化按天计费推荐大丰阿里店铺托管公司威海SEO按天扣费价格龙岩百度标王推荐思茅外贸网站制作价格延边网站设计公司盘锦高端网站设计多少钱福州百度竞价苏州百度爱采购公司吕梁企业网站建设公司汕头网站关键词优化推荐哈尔滨百度竞价哪家好盐城网站搭建报价歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

深圳SEO优化公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化