友善交流技术...

性能测试_自动化监控_收集数据_java代码

上一篇 / 下一篇  2015-03-23 09:01:56 / 个人分类:性能测试专题

工作中有时间会遇到大量开启监控的工作.如果机器数量比较多,人的操作时间可能就会耗费过多,所以目前来看,写脚本来实现监控是最好的解决办法.
  下面的是通过java来实现SSH 登录:
    上传监控脚本
    执行命令
    下载监控结果.
  三个功能... 满足了自动化监控的基本需求.

  当然也可以写成exe的监控脚本,等有时间了再详细完善一下.
package TT;

import java.lang.reflect.Array;

import ch.ethz.ssh2.Connection;
import ch.ethz.ssh2.ConnectionInfo;
import ch.ethz.ssh2.SCPClient;
import ch.ethz.ssh2.Session;

/**
 *
 * @author chenshu
 */
public class Main {

    String IpArr[][] = {
            { "10.168.31.69", "xxxxx", "xxxxxx" },
            { "10.168.32.37", "xxxxxx", "xxxxxx" },
            { "10.168.32.38", "xxxxxx", "xxxxxx" },
            { "10.168.31.11", "xxxxxx","xxxxxx" },
            { "10.168.31.12", "xxxxxx","xxxxxx" },
            { "10.168.31.18", "xxxxxx","xxxxxx" },
            { "10.168.31.19", "xxxxxx","xxxxxx" },
            };
    
    public static void main(String[] args) {
        Main m = new Main();
        // m.GetFile();
        //m.putFile();
         m.ExecCmd();
    }

    public void ExecCmd() {
       
        //String cmd = "mv nmon_x86_64_rhel54 nmon";
         String cmd="chmod 777 nmon_x86_64_rhel54";
        // String cmd="./nmon_x86_64_rhel54 -f -s5 -c5000";
        for (int i = 0; i < IpArr.length; i++) {
            System.out.println("-------ExecCmd 执行 -----" + i );
            try {

                Connection con = new Connection(IpArr[i][0]);
                ConnectionInfo info = con.connect();
                boolean result = con.authenticateWithPassword(IpArr[i][1],IpArr[i][2]);
                Session session = con.openSession();
                session.execCommand(cmd);
                session.close();
                System.out.println("IPaddr" + IpArr[i][0]);
                System.out.println("userName" + IpArr[i][1]);
                System.out.println("passwd" + IpArr[i][2]);
            } catch (Exception ex) {
                System.out.println(ex.getLocalizedMessage());
            }
        }
    }

    public void putFile() {
     

        for (int i = 0; i < IpArr.length; i++) {   
            System.out.println("-------putFile 执行 -----" + i );
            try {                   
                // 创建链接
                Connection con = new Connection(IpArr[i][0]);
                ConnectionInfo info = con.connect();
                boolean result = con.authenticateWithPassword(IpArr[i][1],IpArr[i][2]);
                Session session = con.openSession();             
                // 创建scp客户端
                SCPClient scp = con.createSCPClient();
                // 上传文件
                scp.put("D:\\nmon\\nmonfile\\nmon_x86_64_rhel54", "./");
                scp.wait(10000);
                con.close();
                System.out.println("IPaddr: " + IpArr[i][0]  );
                System.out.println("userName: " +IpArr[i][1]  );
                System.out.println("passwd: " +IpArr[i][2] );

            } catch (Exception ex) {
                System.out.println(ex.getLocalizedMessage());
            }
        }

    }

    public void GetFile() {
       
        // IP列表
        for (int i = 0; i < IpArr.length; i++) {
            System.out.println("-------GetFile 执行 -----" + i );
            try {
                // 创建链接               
                Connection con = new Connection(IpArr[i][0]);
                ConnectionInfo info = con.connect();
                boolean result = con.authenticateWithPassword(IpArr[i][1],IpArr[i][2]);
                Session session = con.openSession();
                // 创建scp客户端
                SCPClient scp = con.createSCPClient();
                // 下载文件
                scp.get("*.nmon", "D:\\nmon");
                scp.wait(10000);
                System.out.println("IPaddr: " + IpArr[i][0]  );
                System.out.println("userName: " +IpArr[i][1]  );
                System.out.println("passwd: " +IpArr[i][2] );

            } catch (Exception ex) {
                System.out.println(ex.getLocalizedMessage());
            }
        }
    }

}


TAG: java 监控

 

评分:0

我来说两句

Open Toolbar