获取并监控远程服务器日志

测试JSch

原文地址:https://www.freesion.com/article/3557457395/

介绍

https://www.freesion.com/article/9278642716/

POM配置
  <dependencies>
    <dependency>
      <groupId>com.jcraft</groupId>
      <artifactId>jsch</artifactId>
      <version>0.1.51</version>
    </dependency>
    <dependency>
      <groupId>org.apache.maven.archetype</groupId>
      <artifactId>maven-archetype</artifactId>
      <version>3.1.2</version>
    </dependency>
  </dependencies>
函数入口
import com.jcraft.jsch.JSchException;

import java.io.IOException;

public class Hellossh {

    public static String host = "10.211.55.3";
    public static String username = "parallels";
    public static String password = "WW731298";

    public static void main(String[] args) throws IOException, JSchException {
        String command1 = "head -n 1  /home/admin/logs/*.log";
        //执行输入信息
        JSchUtil js = new JSchUtil(username, password, host, 22);
        js.Connection();
        js.executeCmd(command1);
    }
}
UTIL类

import com.jcraft.jsch.Channel;
import com.jcraft.jsch.ChannelExec;
import com.jcraft.jsch.JSch;
import com.jcraft.jsch.JSchException;
import com.jcraft.jsch.Session;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.nio.charset.Charset;

public class JSchUtil {
    //初始化类内变量
    private int SSH_PORT;
    private String username;
    private String password;
    private String hostip;
    private String charset = "UTF-8";
    private Session session;

    public JSchUtil(String user, String password, String hostip, int port) {
        this.username = user;
        this.password = password;
        this.hostip = hostip;
        this.SSH_PORT = port;
    }

    /*
    连接到指定IP
     */
    public void Connection() throws JSchException {
        JSch js = new JSch();
        session = js.getSession(username, hostip, SSH_PORT);
        session.setPassword(password);
        session.setConfig("StrictHostKeyChecking", "no");
        session.setTimeout(3000);
        session.connect();
    }

    /*
    关闭实例链接
     */
    public void disconnection() {
        if (session != null && session.isConnected()) {
            session.disconnect();
        }
    }

    /*
    执行ssh命令接口
     */
    public void executeCmd(String command) throws JSchException, IOException {
        BufferedReader reader = null;
        Channel channel = null;
        System.out.println("**********************************");
        System.out.println("InputCommand:" + "【" + command + "】");
        System.out.println("**********************************");
        channel = session.openChannel("exec");
        ((ChannelExec) channel).setCommand(command);
        channel.setInputStream(null);
        ((ChannelExec) channel).setErrStream(System.err);
        channel.connect();
        InputStream in = channel.getInputStream();
        reader = new BufferedReader(new InputStreamReader(in,
                Charset.forName(charset)));
        String buf = null;
        System.out.println("OutPutResult:" + "\n");
        StringBuffer buffer = new StringBuffer();
        while ((buf = reader.readLine()) != null) {
            System.out.println(buf);
            buffer.append(buf);
            buffer.append("\n");
        }
        System.out.println("**********************************");
        //测试结果可返回做正则匹配进行逻辑判断
        System.out.println("ReturnResult:" + "\n" + buffer.toString());
        channel.disconnect();
    }
}

java远程监控服务器内存、磁盘、交换空间、cpu的使用率问题

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值