【6. 跳板机模块】云跳板机服务系统设计及实现


六· 跳板机模块
 
此文原出自【爱运维社区】:  http://www.easysb.cn
                     
6.1 概述

  跳板机是登陆服务器的唯一入口,任何用户都需登陆跳板机才能访问服务器。跳板机模块是部署在跳板机服务器上的,所有用户的登陆和对服务器操作都需经过该模块的转发,并把服务器的执行结果返回给用户。该模块还负责接收处理跳板机系统其它模块发来的消息,比如添加删除服务器,添加删除用户权限等等。由于跳板机会模块记录用户所有的操作记录,所以该模块还负责将用户的操作记录同步跳板机系统的中央数据库。

6.2 跳板机模块

 跳板机模块主要包含认证及命令转发,事件接收处理,日志记录和日志同步四个子模块,不同的模块负责不同的逻辑处理,但又相互依赖,其结构如图5-2-1所示。

 
1.png

  图 5-2-1 跳板机模块框架结构

  其中,事件接收及处理模块是通过HTTP协议和外部的事件调度处理模块进行通信。认证及命令转发模块,是用户在登陆跳板机时进行认证,认证通过之后就可以登陆服务器,该模块会把命令直接转发过去。日志记录模块,是记录用户通过跳板机在服务器上做的任何命令操作,包括命令的输出结果。该模块会在本地创建一个数据库,并把操作记录保存下来。日志同步模块,是将本地的操作日志数据同步到中央的数据库。

6.2.1 事件接收及处理子模块

  各个模块之间通信主要有ticket消息和跳板机消息两种消息。而该模块是负责从监控调度处理模块接收跳板机消息,然后做相应的操作,并将操作结果以json格式返回,跳板机消息的类型及含义如表5-2-1所示。
  表5-2-1 消息类型定义
2.png

  
  该事件处理模块,负责接收处理本跳板机相关10种消息,主要涉及到服务器和权限控制两部分。此外,为避免消息伪造造成非法授权,所有的消息都加入了salt字段,用于检验消息是否合法。

6.2.2 认证及命令转发子模块

  当用户拥有了服务器的访问权限之后,用户就可以登陆跳板机,然后再从跳板机登陆服务器。而认证及命令转发子模块,则主要是实现了用户的验证,验证通过后,就创建一个终端解释器,然后将用户的指令转发到该终端。用户可以通过这种命令转发的模式,可以登陆后端的服务器,而服务器上的命令执行结果也会被直接转发回显给用户,也就是说,该模块实现了一个命令桥接中转的作用。

6.2.3 日志记录子模块

  由于用户的命令都是通过中转的方式发给服务器的,所以跳板机可以通过该命令轻松地把用户操作及返回结果全部记录下来,该日志记录子模块则是负责将用户的登陆日志,操作日志进行分析,然后全部记录到跳板机本地数据库。

6.2.4 日志同步子模块

  在日志记录子模块将该跳板机上所有的用户行为分析存入到本地的数据库之后,跳板机会每隔5分钟,调用日志同步子模块,将所有的数据库同步到中央数据库,以便前台显示和后续的日志分析之用。

6.3 小结
跳板机模块是整个跳板机系统的最重要的部分,当用户拥有了服务器的访问权限之后,就仅需要登录跳板机就可以访问服务器,不需要再去Web页面做任何登录前的准备工作,所以跳板机模块的稳定性和并发性是至关重要的。为此,需要对跳板机模块做了大量的容错处理和异常检测处理,保证跳板机的高度可用。
 
 
  作者:胡杨< jekkay@easysb.cn>< 479904359@qq.com>
  此文原出自【爱运维社区】:  http://www.easysb.cn
  如转载请标明原出处,谢绝阉割党。
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值