运维自动化平台

  1. 登陆界面,登陆是对接了单点sso,单点认证后获取username,根据username的权限,对应显示前端的界面
    前端

  2. 0.png

2.dashboard 显示,包括用户总数、机器总数、受权主机数、当前登陆用户信息、最近登陆信息、报警信息shell

        3.png

3.每日指标,主要包括天天须要例行检查的服务状态以及业务监控状态数据库

        2.png

4.部门管理,主要是LDAP对应的cn地址,全部的用户信息都与LDAP打通包括用户的增长及删除,增长用户实现如下几个功能:django

        3.png

5. 用户管理:后端

  • 增长用户实现如下几个功能:运维

    • 平台用户的增长
      ssh

    • 用户的ssh key建立,并拷贝到跳板机上异步

    • LDAP 用户增长ide

    • 二次认证须要的条形验证码生成,主要是为单点登陆生成google authenticator 二次认证的二维码(基于时间进行验证)google

    • google authenticator 二次认证登陆跳板机的密钥文件生成

    • 经过钉钉接口获取用户的电话号码及中文名字


  • 用户角色

    • 主要有运维人员,超级用户,管理员,普通用户

    • 前端能够根据不一样的角色显示不一样

    • 后端主要是用装饰器实现用户权限的管理


  • 删除用户实现功能

    • 删除用户时,判断用户是否属于某个组,若属于则提示先移除组再删除用户

    • 删除用户的ECS登陆权限及sudo权限

    • 删除用户ssh key

    • 删除用户google authenticator 二次认证登陆跳板机的密钥文件

    • 删除用户二维码

    • LDAP删除用户

    • 平台删除用户

  • 用户组

    • 提供用户检索功能

    • 组对应的ECS机器有登陆权限或sudo权限,当某个用户增长到这个组下,也会赋予相应的权限

    • 当从某个组移除用户时,用户组及用户对应的ECS机器有登陆权限和sudo权限,都会被移除


    4.png

    5.png

        6.png

        点击成员数目,能够查看组下的具体成员信息


        7.png

        8.png

6.资产管理,主要包括机器管理和机器组管理

  • 机器管理实现功能

    • 机器信息经过阿里云API接口获取,并经过django-celery 的beat 定时同步主机信息,也能够手动同步机器信息


  • 机器分组实现功能

    • 机器组对应的用户及用户拥有的ECS登陆权限及sudo权限,当某个机器加到此组下时,也会对应的用户也会拥有此机器的ECS登陆权限及sudo权限

    • 从组中移除机器时,删除用户的登陆权限及sudo权限

    9.png

    10.png

          机器组列表:


        11.png        

7.受权管理

  • ECS 登陆受权

    • 对用户及用户组进行登陆受权

    • 拷贝用户的公钥文件到受权主机,实现ssh 免密登陆

  • Sudo 受权

    • 对用户及用户组受权

    • sudo受权主要是将用户加到某个用户组下,用户组的权限在机器初始化的时候,维护sudoers文件,对应拥有的权限


 ECS受权列表:

        12.png

  ECS 受权添加:

        13.png

  sudo 受权添加:

        14.png

8.自动化管理

  • 任务操做

    • 远程主机单机命令执行

    • 远程主机脚本执行

    • 较长命令及脚本支持后台执行

    • 后台执行功能主要是celery 异步任务执行,返回执行结果

  • 机器初始化   

    •  机器初始化主要用ansible 批量初始化

    • 机器模版由多条ansible命令执行

    机器初始化命令:

      15.png     

  命令组合成模版:

        16.png

 机器初始化:

      17.png

 机器初始化列表:

        18.png

实时查看执行初始化日志:

     19.png

任务执行模块:

   单一命令

   22.png

shell 脚本

    23.png

任务执行列表:

    20.png

 执行结果查看,也能够下载

    21.png

9.审计日志,包括登陆日志及平台操做日志

    登陆日志:

   25.png

 操做日志:

    26.png

10.审批管理

  • 资源(ECS,RDS,SLB,MNS.MogoDB,Redis等)申请、释放、变动配置的申请审批

  • 权限申请(ECS登陆,sudo权限,应用平台,数据库白名单等)和释放

  • 邮件组申请

  • 数据库变动申请(数据库修改数据,更改表结构,申请用户权限)

  • 全部的审批对接钉钉API接口,审批人通常为2人,包括leader及运维人员,抄送个部门负责人   

  • ECS登陆、Sudo、应用平台实现自动受权,定时任务检查钉钉审批状态,审批经过以后,自动实现权限赋予,应用平台经过API接口实现



    申请列表:

    27.png

  ECS 资源申请,其余的申请图就不一一列出

   28.png

       权限申请列表:

        29.png

11.值班管理

    • 平常值班,能够按天或按周来进行值班轮循

    • 节假日值班,选择具体值班人员,肯定值班范围,按天来进行轮询值班

    平常值班列表:

        30.png

   节假日值班添加:

        4.png

  根据添加的值班信息展现:

        31.png


因为代码涉及到公司隐私信息,就不开源啦,前端代码使用的模版能够在百度云盘下载:

    https://pan.baidu.com/s/1gfB2KPP

相关文章
相关标签/搜索