CacheCloud详解(二)---------- SSH-2协议工具包

SSH-2协议工具包:

CacheCloud平台提供了对redis集群的集中化管理、运维、监控等功能,但是CacheCloud是如何对机器进行监控和维护的呢?是
如何获得redis所在服务器的信息呢?

通过查看源代码,发现平台引入了SSH-2协议的工具包:ganymed-ssh2,这个工具包提供了java连接linux服务器的功能,通过这个工具包就可以在服务器上面执行应用逻辑

	<dependency>
        <groupId>ch.ethz.ganymed</groupId>
        <artifactId>ganymed-ssh2</artifactId>
        <version>build210</version>
    </dependency>

CacheCloud中用于SSH-2连接的类主要包含了以下几个:

  • SSHTemplate:提供了SSH操作的模板,包含了创建SSH连接、执行SSHCallback回调、获取结果、解析结果和关闭连接的功能
  • SSHSession:根据SSH连接获取session会话;执行linux命令,获得执行结果;上传文件到远程服务器
  • Result:SSH结果包装类
  • SSHCallback:SSH执行命令回调
  • LineProcessor:结果解析器
  • DefaultLineProcessor:默认的结果解析器
  • SSHUtil:工具类,包含了收集机器信息、传输文件到远程服务器、查看端口是否被占用、获得ssh端口和获取cpu状况
SSHSession:
获取SSH连接:
     /**
	 * 通过回调执行命令
	 * @param ip
	 * @param port
	 * @param username
	 * @param password
	 * @param callback 可以使用Session执行多个命令
	 * @throws SSHException 
	 */
    public Result execute(String ip, int port, String username, String password, 
    		SSHCallback callback) throws SSHException{
   
        Connection conn = null;
        try {
   
            conn = getConnection(ip, port, username, password);
            return callback.call(new SSHSession(conn, ip+":"+port));
        } catch (Exception e) {
   
            throw new SSHException("SSH err: " 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值