自动化运维管理平台设计

摘要:
确认后台同步平台的操作,通过SSH免密码方法登录对象,开始执行自动化平台发出的操作命令,并返回操作结果。

      互联网发展到如今,对于一般企业线上线下机器成千上万数量级已经是司空见惯。对于运维人员来说,手动去管理那一万台机器,简直就是无法完成的任务。随之而产生的 是运维自动化,帮助运维人员管理监控那一堆跑着各种各样服务的机器。其实,到了今天这种地步,运维自动化早就是一种家常便饭的事情。开源社区或者是商业软件有非常多监控、运维管理平台。但是,就像穿衣服一样,不是任何一件衣服穿上身都合适。所以,可以根据自己的情况,量身定做合适的自动化管理平台,应该也是一个慢慢积累过程才对。

1、需求分析

   

   管理机器:增加删除管理机器功能。

   运营项目:增加删除管理项目功能。

   监控报警:对机器、项目监控报警。

   问题跟踪:机器、项目出现问题时,提供信息协助问题追踪。

   角色管理:对登录自动化管理平台用户角色管理功能。

   其他内容:其他一些后续拓展功能。

2、框架设计

   运维自动化管理平台总体框架如下图,提供一个对外管理接口进行操作,包括:对象管理、目标管理、角色管理、分析问题、运行信息、其他管理等六个方面。下面将对该六个模块简单分析,但是不再进行详细的图标说明。
 
 
  自动化运维管理平台设计第1张
 

   2.1对象管理

   管理对象分组、对象个体,录入对象详细信息。批量发送指令管理对象,获取对象系统常见配置信息,管理对象系统常见配置。
   

   2.2目标管理

   管理目标分组、目标个体,录入目标服务信息。自动化上传目标依赖文件到对象,自动化部署运行服务。包括:批量上传、批量部署、发送管理目标服务指令。
   

   2.3角色管理

   划分管理员、运维人员、开发人员等用户角色,管理员负责管理自动化平台上面用户权限,包括:添加用户、删除用户、用户角色划分等待。运维人员负责对象管理、目标管理、分析问题、运行信息、其他管理等等一系列模块。开发人员主要负责目标管理与分析问题两个模块。

   2.4分析问题

   支持对象历史命令显示,对象网络自定义资源查询展示,对象系统日志自定义展示,目标访问日志、报警日志自定义查询展示。

   2.5运行信息

   对目标运行状态、对象运行状态信息采集,对对象本身健康状态相关指数采集。以图形界面方式直观展示,配置规则超出正常指标通知运维组用户。

   2.6其他管理

   根据后期的需求添加一些插件,或者修改后台模块实现程序,如:报警接口、集群管理工具、验证管理等等。

3、数据库设计

   为自动化运维管理平台创建数据库,设计数据表。用于记录、展示对象与目标详细信息,完成角色管理功能。同时,也保存对象各项健康指标信息。
 

   3.1对象数据记录

   对象数据表保存对象各项信息,对象组数据表保存对象组各项信息,对象各项健康指标数据表保存各项健康指标周期性实时信息,对象运行状态数据表保存对象周期性实时运行状态。

   3.2目标数据记录

     目标数据表保存目标各项信息,目标组数据表保存目标组各项信息,目标运行状态数据表保存目标周期性实时运行状态,目标与对象关联数据表保存目标与对象、对象组绑定信息,目标组与对象联数据表保存目标组与对象、对象组绑定信息。

   3.3角色数据记录

   用户数据表保存各个用户的基本信息,管理员数据表保存管理员用户信息,运维数据表保存运维人员信息,开发数据表保存开发人员信息,权限用户表保存各个角色拥有各项权限信息。

   3.4其他数据

   一些安全认证、心跳连接等其他方面的数据信息。

   

4、后台设计

   4.1初始化对象

   自动化平台管理对象确认,后台同步执行对象初始化。添加配置文件,写入对象所属组别。数据库添加对象信息,添加对象组信息。后台继续配置对象的访问方式,SSH的无密码登录或者是带密码登录。这里推荐使用无密码方式登录,采用密钥方式登录,可以不再使用口令认证。把口令一直保存在自动化平台不是一种好的习惯。当然,第一次登陆还是需要口令,无密码登录认证成功后就不再需要密码,这时需要加强角色的权限管理与安全保护。
   

   4.2管理对象

   初始化对象成功,自动化平台开始执行对象配置、对象信息获取、对象与目标绑定、目标服务部署、目标信息获取等操作。后台同步平台操作确认,通过SSH无密码方法登录到对象,开始执行自动化平台下发的操作命令,并且返回操作结果。
   

   4.3运行状态

   获取对象运行状态、生命健康指标、目标运行状态,实时反馈给自动化平台图形化展示。以上状态信息超出正常健康范围,调用报警接口通知运维人员。
   

   4.4异常处理

   初始化对象、管理对象等一系列操作出现异常情况,截取异常信息上报到自动化平台,自动化平台展示提示出现错误,展示异常信息。当然,执行指令成功也提示友好确认信息反馈给用户。

5、总结

   这一次简单的自动化运维管理平台设计分析过程,全部都是从零开始,后面在实现过程中把各个模块丰富填充。当然还会遇到一些问题,也没有把网络安全、主机安全、安全加固等功能模块考虑进去,也没有使用redis缓存。

免责声明:文章转载自《自动化运维管理平台设计》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇【原创】Kafka接受发送消息对象Object基础版Total Commander如何设置自定义快捷键在当前目录打开ConEmu下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Oracle使用——impdp导入数据时数据表已经存在

背景 在做数据迁移时,需要将不同地方的dmp文件整合到一个数据库中,在导入时,目标表已经存在,该如何把数据追加进入目标表中 方法介绍 当使用IMPDP完成数据库导入时,如遇到表已存在时,Oracle提供给我们如下四种处理方式: SKIP:跳过已经存在的表,继续导入下一个对象,如果CONTENT设置了DATA_ONLY参数,则不能使用SKIP APPEND...

ansible自动化运维详细教程及playbook详解

运维自动化工具( 配置管理 ),例如:Ansible、SaltStack、Puppet、Fabric 等。 Ansible简介 一种集成 IT 系统的配置管理、应用部署、执行特定任务的开源平台,是 AnsibleWorks 公司名下的项目,该公司由 Cobbler 及 Func 的作者于 2012 年创建成立。 Ansible 基于 Python 语言实现...

不停机不停服务,MYSQL可以这样修改亿级数据表结构

摘要:本文阐述了MySQL DDL的问题现状、pt-online-schema-change的工作原理,并实际利用pt-online-schema-change工具在线修改生产环境下1.6亿级数据表结构。 在一个软件生命周期中,我们都知道,前期的表结构设计是非常重要的,因为当表数据量一上来后再进行表结构修改危险性比较大,而且要操作的时间也比较长。 在笔者参...

Ansible自动化运维笔记3(playbook)

1.基本语法### playbook文件格式为yaml语法.示例如下: 1.1 nginx.yaml --- - hosts: all tasks: - name: Install Nginx Package yum: name=nginx state=present - name: Copy Nginx.co...

定时导出Oracle数据表到文本文件的方法

该实例实现了通过windows定时任务来实现了将数据库中指定数据表数据导出为txt文本格式。其思路是通过可执行的bat文件去调用导出数据脚本,然后再在windows定时任务中调用该bat文件来实现。该示例需要能够运行的sqlplus环境,因此需要安装Oracle客户端等可运行环境。     实现了将数据库中日志表数据导出到指定文件夹下的.log文件,且该文...

PHP MySQL 创建数据表

PHP 创建 MySQL 表 一个数据表有一个唯一名称,并有行和列组成。 使用 MySQLi 和 PDO 创建 MySQL 表 CREATE TABLE 语句用于创建 MySQL 表。 我们将创建一个名为 "MyGuests" 的表,有 5 个列: "id", "firstname", "lastname", "email" 和 "reg_date"...