关于数据库自动化运维平台的设计及开发实现思路

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介:

今个讲解下,个人对于数据库运维自动化平台的理解,话说这个项目和我以前做的lvs集群平台一样,都是分成两个主要的角色,一个是对于普通用户的申请及权限内的执行,还有一个是对于dba的审核及相关的日常dba数据库操作。



DBA其实也是很苦逼的,再高端的dba也是由苦逼开始的。如果你是苦逼的dba,那更要往下看了。


因为工位紧张的缘故,我现在和一排的dba做在一起,见到了他们的高端,也见到了他们的苦逼。



工作期间,经常会有人烦他们,让他们进行DDL DML、实例的相关操作.大家也都知道规范的数据库维护是不允许开发人员直接到server搞的,尤其是DDL相关的,这个需要发邮件,让负责人确定,然后再请dba来操作的。 


这个时候就需要,很有必要的有一个系统来解决这些让人蛋碎的事情。运维自动化平台就是为了解放蛋碎事件的。 



这些东西,咱们完全可以自动化流程起来的。


1.  权限的申请


2.  会发给对应的领导,让他来确认


3.  dba会审核这次的申请


这个时候,权限的申请已经结束了。用户这时候,可以去DDL和DML操作。


wKioL1Oisp6hdyZHAAHQEjVIiLA185.jpg


这时候,你就有这个库的权限了,可以提交DDL和DML的语句。看下面的流程图,估计你已经看到大概了。

原文:http://rfyiamcool.blog.51cto.com/1030776/1428425 


wKioL1OitSyCpMTWAAM7xdSONH0574.jpg



    该系统的流程设计,是由前人人网dba大牛(谭志军)来搞的,至于功能的实现是我搞。这项目做到现在快一个月了。  这首席dba确实很强,公司的zabbix每天都有几G数据量增长,你可以想想现在数据该有多大! 但在他眼里,那都不是事!随手就能给出万台监控压力下的数据库分解压力方案,虽然因为zabbix 底层代码本身就不高明,导致压力分解的效果不突出。  人甚是有意思,只是有些时候,不解女孩子的风情 ~


    开发的日子里,深深的感觉到,任何人都有产品经理的潜质,曾经和他说,以前有个人总是给我提需求,让我”灭“了! 没想到,他也只是浅浅的一笑,然后继续提需求,感觉他好高大上。


他的微博是http://weibo.com/tzhijun  ,记得给他加粉。


该平台现在算是第二版了,更新和修复了不少的功能和bug。 谭志军是个很好想法的孩子,虽然现在的版本也算是强大,其实本来能做出更强大的东西出来。比如索引相关的。。。 只是.....      不多说了 !



我们的dashbord,这里分享的是初期的实例,后期我们还是会做大量的前后端的高进。


下面的截图和功能介绍只是该平台中的部分内容,有些话题不太方便聊,见谅。

原文:http://rfyiamcool.blog.51cto.com/1030776/1428425 

wKiom1PoXdPw2ld-AAQhGsJGFPY648.jpg


wKiom1OivPyQDyShAAJb2CQ5ZSk182.jpg

这是用户执行DML SQL语句的页面,这里触发后端的时候,会把不是DML的语句,都会过滤出来。

原文:http://rfyiamcool.blog.51cto.com/1030776/1428425 


wKioL1OivX7zka9tAAR9JBI4oKU300.jpg


下面是DDL的情况:

wKioL1Oi_3jg4Iu5AAG9AL95pHE089.jpg

这个时候,管理员收到了相关的进度邮件,登录平台处理未完成的任务,在权限管理平台,可以给为DBA开启动态口令卡,密码是60秒更新一次的。 当然也可以撤销这种烦人的认证。

wKioL1Oj2SiQv8B7AAD8TCijQS8428.jpg


wKioL1Oj2jSAC6i6AAHRNYBxYMs293.jpg


wKioL1OivhbgzCNJAAPg_TgN3Vg471.jpg


wKioL1OquKTAYKGSAAPn9AQynx8405.jpg


alter是异步的执行。

wKiom1POOUTQxg7aAALLR9baZCE200.png


这里主要是查询数据,自动会分页,数据的导出txt和json文件。

wKioL1OivqvBkPppAAORI_L4TBc663.jpg


这个数据库运维系统,不仅涵盖了上面所说的 数据库流程体系最基本的功能,而且还实现了对于dba本身的维护的功能模块。

首先是慢查询,我会同步crontab的状态,会定期抓到慢查询的结果,扔到我的http存储接口上。

原文:http://rfyiamcool.blog.51cto.com/1030776/1428425 

wKiom1Oi_R_j-AdXAAJduqx1PqY389.jpg


再说下报警方面,这边有自己的一套报警方式,以yaml格式做成配置文件,然后python会根据yaml里面的配置,做他该做的事情。当然这些事情交给zabbix也挺好。

    现在公司的zabbix开发人员正在逐步开发api接口。  没有开发之前,还是我们自己控制好点。


wKiom1Oj266QGJ2ZAASe9tnvzyc668.jpg



原文:http://rfyiamcool.blog.51cto.com/1030776/1428425 


下面的就不截图了,实在是有些麻烦了。。。。 也有些怕首席dba殴打! 这里在简单介绍下,围绕dba管理平台的相关的功能。


对于数据库的备份,采用saltstack的jid来异步的执行任务,会记录备份文件的大小,开始时间,结束时间,及备份的状态,另外在modules里封装了一个rsync的模块进行文件上传。 平台每天主动出一个备份情况的报表,除了上面的备份情况,当他监控到今天没有搜到10.10.10.10这mysql的备份,会在报表中标红。 如何针对备份进行报警,客户端每次备份的时候,会反查下到现在为止,上次有没有备份成功,没有的话,也会触发报警。 如果周期是长线的那种,每次客户端备份,会给master端一个信号,master会间隔性的查询,如果在一定时间内没有完成,他也会报警的。


对于上线,独立出一个功能,该平台是通用的,每次执行完了,都会调用平台的接口,比如他现安装mysql的依赖包,接着安装mysql-server,最后调用接口,让他创建 xiaorui这个库,及 pop这个表。 懂了吧。


对于下线服务,这就好办了,平台会流程发给项目的负责人,如果他们确定后,数据库会打包备份好,在平台中标记下线。


对于众多的数据库,会做一些日常load和硬件占用的评估报表,比如你的数据库的量压根就不大,那你就没有资格占用一台服务器,这边会做一个周期性的报表,根据情况会把他塞到服务器里面的实例 ! 说白了,就是省钱方案。


对于部署方面,平台有所欠缺,后期会加入环境的部署及快速的部署mysql从服务器,还能在平台修改从服务器。 



总结,我这边的数据库管理系统,在一些用户体验更像是phpmyadmin的感觉,因为语言mysql驱动的问题,导致python实现phpmyadmin的功能,不太如意,尤其是各种的过滤,在php可以直接把用户的sql提进去,我这边需要做一些正则的过滤,最少去去掉分号 !  dba们,赶紧找个开发人员,给你们搞搞这个数据库运维平台,只为不苦逼 !






 本文转自 rfyiamcool 51CTO博客,原文链接:http://blog.51cto.com/rfyiamcool/1428425 ,如需转载请自行联系原作者

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
24天前
|
存储 人工智能 自然语言处理
ChatMCP:基于 MCP 协议开发的 AI 聊天客户端,支持多语言和自动化安装 MCP 服务器
ChatMCP 是一款基于模型上下文协议(MCP)的 AI 聊天客户端,支持多语言和自动化安装。它能够与多种大型语言模型(LLM)如 OpenAI、Claude 和 OLLama 等进行交互,具备自动化安装 MCP 服务器、SSE 传输支持、自动选择服务器、聊天记录管理等功能。
141 15
ChatMCP:基于 MCP 协议开发的 AI 聊天客户端,支持多语言和自动化安装 MCP 服务器
|
5天前
|
运维 监控 Cloud Native
构建深度可观测、可集成的网络智能运维平台
本文介绍了构建深度可观测、可集成的网络智能运维平台(简称NIS),旨在解决云上网络运维面临的复杂挑战。内容涵盖云网络运维的三大难题、打造云原生AIOps工具集的解决思路、可观测性对业务稳定的重要性,以及产品发布的亮点,包括流量分析NPM、网络架构巡检和自动化运维OpenAPI,助力客户实现自助运维与优化。
|
8天前
|
SQL 关系型数据库 API
HarmonyOs开发:关系型数据库封装之增删改查
每个方法都预留了多种调用方式,比如使用callback异步回调或者使用Promise异步回调,亦或者同步执行,大家在使用的过程中,可以根据自身业务需要进行选择性调用,也分别暴露了成功和失败的方法,可以针对性的判断在执行的过程中是否执行成功。
64 13
|
7天前
|
存储 前端开发 关系型数据库
鸿蒙开发:实现键值数据库存储
对于数据量比较的小的,我们直接选择轻量级的用户首选项方式即可,而对于数据量比较大的情况下,直接可以使用数据库,而对于相对来说,比较大的数据,我们就可以使用键值型数据库方式
|
13天前
|
存储 JSON 测试技术
【HarmonyOS Next开发】云开发-云数据库(二)
实现了云侧和端侧的云数据库创建、更新、修改等操作。这篇文章实现调用云函数对云数据库进行增删改查。
35 9
|
2月前
|
机器学习/深度学习 运维 监控
智能化运维:从自动化到AIOps的演进之路####
本文深入探讨了IT运维领域如何由传统手工操作逐步迈向高度自动化,并进一步向智能化运维(AIOps)转型的过程。不同于常规摘要仅概述内容要点,本摘要将直接引入一个核心观点:随着云计算、大数据及人工智能技术的飞速发展,智能化运维已成为提升企业IT系统稳定性与效率的关键驱动力。文章详细阐述了自动化工具的应用现状、面临的挑战以及AIOps如何通过预测性分析和智能决策支持,实现运维工作的质变,引领读者思考未来运维模式的发展趋势。 ####
|
2月前
|
机器学习/深度学习 数据采集 人工智能
智能化运维:从自动化到AIOps的演进与实践####
本文探讨了智能运维(AIOps)的崛起背景,深入分析了其核心概念、关键技术、应用场景及面临的挑战,并对比了传统IT运维模式,揭示了AIOps如何引领运维管理向更高效、智能的方向迈进。通过实际案例分析,展示了AIOps在不同行业中的应用成效,为读者提供了对未来智能运维趋势的洞察与思考。 ####
101 1
|
2月前
|
存储 SQL API
探索后端开发:构建高效API与数据库交互
【10月更文挑战第36天】在数字化时代,后端开发是连接用户界面和数据存储的桥梁。本文深入探讨如何设计高效的API以及如何实现API与数据库之间的无缝交互,确保数据的一致性和高性能。我们将从基础概念出发,逐步深入到实战技巧,为读者提供一个清晰的后端开发路线图。
|
2月前
|
运维 监控 关系型数据库
数据库管理中的自动化运维:挑战与解决方案
数据库管理中的自动化运维:挑战与解决方案
|
2月前
|
存储 缓存 NoSQL
2款使用.NET开发的数据库系统
2款使用.NET开发的数据库系统

热门文章

最新文章