运维平台中的脚本管理

截止目前,元数据的工作完成了一些阶段性的内容,当然还有非常多的需要细化的东西,从优先级层面来说,可以暂时放一放。

现在迫切需要的是一些能用起来的功能,比如结合业务场景的基础操作,类似初始化,备份恢复等等。实在是太基础了,以至于自己都有些没太上心,结果慢慢发现进度拖下来了。所以最近还得多加加班,把这些进度提一提。

基础的工作其实不是空白,想基本的SQL查询,SQL执行计划之类的,功能其实很早就做了。只是还没有铺开来用,另外就是还有一些系统化的东西没到位,比如脚本管理。

比如下面的元数据部分就是平台后面要扩展支持的基础,这个部分花了一些时间做基础构建和实现。

脚本管理的内容之前写过两篇,供参考。

平台设计中的脚本管理

web脚本编辑器ACE Editor 在这个阶段,也收获了一些经验,所以准备把这部分的内容做扎实一些,同时有些内容会延伸一下。

我会从脚本管理和工具管理两个大的维度来说。

脚本管理是基础功能,需要实现的功能就如同任务调度一样,是一个通用的入口

先说一些边界,脚本管理中的脚本是不能直接执行的,所有的任务都是不支持命令,最细粒度就是脚本。

从功能划分上,大体有下面的几个方面:

  1)脚本内容管理:Python,shell,Java,SQL等

  2)执行方式:本地和远程(服务器端执行脚本,客户端,中控端)

  3)参数管理:脚本配置支持多个参数,对参数个数和参数格式需要全面支持。

  4)脚本需要一个基本的介绍和用法说明

5)需要制定脚本的规范和标准,对命名规范和脚本内容做一个基本的审核

6)设定脚本域的概念,即脚本是全局可用,还是只限于特定的需求可用

  7)脚本编辑器:ACE Editor, Monca都是不错的选择,需要简单调研和对比一下,找到一个最适合的方案,从我的角度来看,收到VS code的影响,我更倾向于是Monca了。

工具管理是在脚本管理的基础上的扩展,脚本管理其实就类似于积木的转配和组合,更希望是做成一个工具箱的方式。可以做各种接入和适配,然后根据我们的需求在指定的场景中完成指定的任务。

1.接入层,需要首先考虑接入层的配置和实现,比如我要连接到系统,连接到数据库,这就是两个接入类型,对于每个类型都有不同的实现。

  1)连接系统,对于不同的实现方式,都期望做成一个接入层,类似于工厂模式。

   Paramiko

   Ansible

   websocket

  2)连接到数据库,不同的数据库,只要我输入指定的信息,就返回给我一个数据库连接。

   Pymysql

   Mysqldb

   redis

  2.系统层

   系统的调用,比如查看资源状态,可以使用命令的方式或者第三方库的方式,比如psutil的使用,或者用脚本来实现一些复杂的定制工作等。

  3.数据库层

   数据库层级的调用,比如SQL语句,举一个例子,比如查看数据库的基本信息,那么无论是shell,Python都是接入层的实现,我们在这里关注的是SQL层的逻辑。

   这里主要是一些基本的操作,比如查看数据库的基本信息,得到DDL信息,得到从库的信息等等,都是通过脚本(这里的主要核心就是SQL逻辑)的方式来实现。

原文发布于微信公众号 - 杨建荣的学习笔记(jianrong-notes)

原文发表时间:2018-03-21

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏云飞学编程

Python爬虫,用Python抓取头条视频内容,数据其实并没有藏那么深

使用工具: python3.6 + pycharm + requests库 + re 库

1041
来自专栏Netkiller

消息队列在使用中的注意事项

消息队列在使用中的注意事项 异步不是万能的,实现异步重要的手段,消息队列在使用中也是有很多注意事项的。 消息队列的瓶颈 消息队列至少有三处容易出现瓶颈,我们一经...

3475
来自专栏hotqin888的专栏

MeritMS与Bentley Project Wise对比校审流程

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/hotqin888/article/det...

1991
来自专栏Netkiller

消息队列在使用中的注意事项

消息队列在使用中的注意事项 异步不是万能的,实现异步重要的手段,消息队列在使用中也是有很多注意事项的。 消息队列的瓶颈 消息队列至少有三处容易出现瓶颈,我们一经...

3182
来自专栏Python研发

用pycharm提交代码,冲突之后文件丢失找回方法

1: 更新代码时, 监测到本地代码改变,需要和合并,重启之后才可以, 选择No同时,代码会被冲掉,新增加的文件也会被冲掉, 但是pycharm有一个文件历史记忆...

804
来自专栏架构师之路

58怎么玩数据库架构(upyun架构与运维大会速记)

大家好,我是58沈剑,今天我分享的主题是《58怎么玩数据库架构》,我的PPT页数非常少,讨论的问题非常的聚焦。 一、数据库的基本概念 基本概念就一页PPT,让大...

4279
来自专栏编程

开发一款app从PHP到API接口

一、先简单回答两个问题: 1、PHP 可以开发客户端? 答:不可以,因为PHP是脚本语言,是负责完成 B/S架构 或 C/S架构 的S部分,即:服务端的开发。(...

3839
来自专栏腾讯NEXT学位

阅读前端项目源码的正确姿势!

1604
来自专栏大葡萄元元

开发一款app从PHP到API接口

答:不可以,因为PHP是脚本语言,是负责完成 B/S架构 或 C/S架构 的S部分,即:服务端的开发。(别去纠结 GTK、WinBinder)

4621
来自专栏性能与架构

网站架构演化过程

网站的架构通常都是逐渐演化完善的,下面就是一个常规的成长过程 (1)初识阶段 一台服务器 最初的架构,应用程序、数据库、文件都部署在一台服务器上 ? (2)...

4258

扫码关注云+社区

领取腾讯云代金券