简介
本人出身DBA,主业Oracle,副业PostgreSQL,由于生性懒惰,遂沉迷于自动化运维与智能化运维不能自拔,实现过数据库自动化运维平台、容灾一键切换平台,目前正在坚定地向智能化迈进。
从后台管理来说,数据库运维管理是极其重要的组成部分,对业务系统、生产稳定的影响不言而喻。随着业务规模的不断扩大,原有的人肉运维方式已经越来越难以满足运维需求,因此,自动化运维平台、智能化运维平台应运而生。
本系列为作者原创,将多年对自动化运维的思考沉淀下来,以平台构建的形式展示给大家,希望对大家有所帮助,欢迎大家批评指正!
写在动手之前
1.目标范围
顾名思义,自动化是将手工操作变革为机器自动操作。但是,许多人在平台建设初期往往会进入一个误区:要穷举可能用到的所有场景,把所有的运维工作都做成自动化,彻底解放人工。想法固然是好,但是由于数据库运维的复杂性,在实际建设过程中会举步维艰,难以为继。
我所理解的自动化,是要解决DBA的痛点,而且是最痛的点,把DBA从繁琐的、周期性的、价值低的重复工作中解放出来,注意,我强调的是痛点,而不是全部。这一点非常重要!
2.构建基础
数据库自动化的实现,离不开数据库管理的基础,包括常规化操作的固化、管理的规范等。从数据库参数配置、安装手册、用户管理、资源容量管理等维度都具有一定的标准。这是实现自动化的前提,当然,我构建的平台是支持动态发展的,不会因为脚本更新了平台就运行不下去,那为什么说标准化是前提呢?
因为标准化是从更高一层规范了数据库管理,从人、对象、操作都具有一定的合规性和稳定性之后,自动化和智能化的实现会事半功倍。
啰嗦半天,先上几张效果图尝尝鲜
1.数据库实时状态
2.数据库批量操作执行情况
3.数据库操作任务执行树
4.任务执行详细数据
5.数据库性能指标智能分析
以上为做这件事的一些思考以及效果图,下一篇开始动手!