Authored by FengRuwei

Merge branch 'master' of http://git.yoho.cn/ops/monitor-service

... ... @@ -112,3 +112,5 @@ monitor-service-middleware/.settings/org.eclipse.core.resources.prefs
monitor-service-middleware/.settings/org.eclipse.jdt.core.prefs
monitor-service-middleware/.settings/org.eclipse.m2e.core.prefs
monitor-service-influxdb/src/main/java/com/monitor/influxdb/QueryResultUtil.java
monitor-service-middleware/.settings/org.eclipse.wst.common.component
monitor-service-middleware/.settings/org.eclipse.wst.common.project.facet.core.xml
... ...
... ... @@ -92,6 +92,12 @@
<version>2.5</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.jcraft</groupId>
<artifactId>jsch</artifactId>
<version>0.1.53</version>
</dependency>
</dependencies>
</project>
\ No newline at end of file
... ...
package com.monitor.common.util;
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;
public class SSHHelper {
/**
* 远程 执行命令并返回结果调用过程 是同步的(执行完才会返回)
* @param host 主机名
* @param user 用户名
* @param psw 密码
* @param port 端口
* @param command 命令
* @return
*/
public static String exec(String host,String user,String psw,int port,String command){
String result="";
Session session =null;
ChannelExec openChannel =null;
try {
JSch jsch=new JSch();
session = jsch.getSession(user, host, port);
java.util.Properties config = new java.util.Properties();
config.put("StrictHostKeyChecking", "no");
session.setConfig(config);
session.setPassword(psw);
session.connect();
openChannel = (ChannelExec) session.openChannel("exec");
openChannel.setCommand(command);
int exitStatus = openChannel.getExitStatus();
System.out.println(exitStatus);
openChannel.connect();
InputStream in = openChannel.getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(in));
String buf = null;
while ((buf = reader.readLine()) != null) {
result+= new String(buf.getBytes("gbk"),"UTF-8")+" <br>\r\n";
}
} catch (JSchException | IOException e) {
result+=e.getMessage();
}finally{
if(openChannel!=null&&!openChannel.isClosed()){
openChannel.disconnect();
}
if(session!=null&&session.isConnected()){
session.disconnect();
}
}
return result;
}
public static void main(String args[]){
String exec = exec("192.168.102.162", "root", "123456", 22, "sleep 20;cd /usr/bin;redis-cli -h 192.168.102.222 -p 6379 info;");
System.out.println(exec);
System.out.println("********************************");
System.out.println("********************************"+exec.indexOf("used_memory:"));
System.out.println("********************************"+exec.indexOf("used_memory"));
}
}
\ No newline at end of file
... ...
package com.monitor.influxdb.mapper;
public interface IRedisMapper {
}
... ...
package com.monitor.influxdb.mapper.impl;
import com.monitor.influxdb.mapper.IRedisMapper;
public class RedisMapperImpl implements IRedisMapper {
}
... ...
package com.monitor.middleware.redis;
/**
* Created by zhengyouwei on 2016/6/20.
*/
public class Test {
}
package com.monitor.middleware.redis.service;
public interface IRedisMonitorService {
void redisMonitor();
}
... ...
package com.monitor.middleware.redis.service.impl;
import java.util.ArrayList;
import java.util.List;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import com.monitor.influxdb.mapper.IRedisMapper;
import com.monitor.middleware.redis.service.IRedisMonitorService;
public class RedisMonitorServiceImpl implements IRedisMonitorService {
Logger log = LoggerFactory.getLogger(RedisMonitorServiceImpl.class);
@Autowired
IRedisMapper redisMapper;
@Override
public void redisMonitor() {
List<String> list = new ArrayList<String>();
}
}
... ...
package com.monitor.middleware.redis.task;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import com.monitor.middleware.redis.service.IRedisMonitorService;
@Component
public class RedisMonitorTask {
@Autowired
private IRedisMonitorService redisMonitorService;
public void redisMonitor(){
redisMonitorService.redisMonitor();
}
}
... ...