这是学习笔记的第 1939 篇文章
运维系统中的脚本管理
脚本管理是运维系统的基础功能,可以把原本散乱的脚本做到标准化和统一的管理。
先说一些边界,脚本管理中的脚本是不能直接执行的,运维系统中的所有的任务执行粒度应该是脚本。
从功能划分上,脚本管理大体有下面的几个方面:
1)脚本内容管理:支持Python,shell,Java,SQL等
2)执行方式:本地和远程(服务器端执行脚本,客户端,中控端)
3)参数管理:脚本配置支持多个参数,对参数个数和参数格式需要全面支持。
4)脚本需要一个基本的介绍和用法说明
5)需要制定脚本的规范和标准,对命名规范和脚本内容做一个基本的审核
6)设定脚本域的概念,即脚本是全局可用,还是只限于特定的需求可用
7)脚本编辑器:ACE Editor, Monca都是不错的选择,可以根据自己的喜好进行选择了。
在初步实现脚本的提交,实现脚本查看功能之后,我觉得脚本审核应该是脚本管理中的一个必经流程。如果没有审核的机制,那么脚本的规范性和质量就难以衡量和管理。
这是一个脚本信息的列表。
数据库层面的就是脚本的提交,基本通过前端的输入,提供了脚本内容,脚本的状态就是“待审核”
在此审核的意义除了做权限和质量把控之外,还有一个重要的作用就是做脚本路径的规划。
脚本可以指定一个中控服务器作为脚本的集中管理中心,比如规划路径是/usr/local/DBA_SCRIPTS就可以把已经通过审核的脚本统一存放在这个路径下。
对于脚本路径的规划参考如下:
也就是说在提交脚本的时候不需要声明脚本的路径,这个工作是在审核的时候来做的,我们可以指定团队的一个同学来作为脚本管理员,完成这个艰巨的任务。
脚本的审核流程和调用流程如下:
这里需要注意的是我们在数据库中会维护这个数据结构,而且也会存储对应的脚本内容,同时在文件系统中也会存在对应的文件,那么我们所做的变更就会是数据库层面和文件层面的映射。
在脚本审核阶段,脚本审核主要是完成两件事情,一个是脚本的路径规划,另外一个是脚本在中控服务器上生成,整个过程是自动完成的。
我们做了一个初版的脚本提示,如果创建了一个脚本会发送相应的邮件,这样一来这就是一个闭环,目标是把整个管理融入为一个流程化的方式。
而在调用脚本的时候,可以把它当做一个对象来管理,在数据库中对每个脚本都会定义一个编码code,我们根据编码来进行脚本的调用。
转载:https://blog.csdn.net/weixin_36250635/article/details/89049581