Authored by fanzelei

redis主从同步

... ... @@ -35,7 +35,7 @@ public class RedisMapper extends InfluxDBQuery implements IRedisMapper {
.addField("hostIp", redis.getHostIp())
.addField("role", redis.getRole())
.addField("connected_clients", redis.getConnected_clients())
.addField("used_memory", redis.getUsed_memory())
.addField("is_slave", redis.getIs_slave())
.addField("used_memory_peak_human", redis.getUsed_memory_peak_human())
.time(System.currentTimeMillis() * 1000000 + random.nextInt(999999), TimeUnit.NANOSECONDS)
.build();
... ...
... ... @@ -9,18 +9,18 @@ public class RedisInfo {
private String connected_clients;//连接客户端数量
private String used_memory;//分配的内存总量
private String is_slave;//分配的内存总量
private String used_memory_peak_human;//内存高峰值
private String role;//实例角色
public RedisInfo(String hostIp, String connected_clients,
String used_memory, String used_memory_peak_human, String role) {
String is_slave, String used_memory_peak_human, String role) {
super();
this.hostIp = hostIp;
this.connected_clients = connected_clients;
this.used_memory = used_memory;
this.is_slave = is_slave;
this.used_memory_peak_human = used_memory_peak_human;
this.role = role;
}
... ...
... ... @@ -22,11 +22,21 @@ public class RedisMonitorServiceImpl implements IRedisMonitorService {
@Override
public void redisMonitor() {
String isSlave="";
String redisInfo = SSHRedis.exec("192.168.102.162", "root", "123456", 22,"sleep 20;cd /usr/bin;redis-cli -h 192.168.102.222 -p 6379 info;");
//检验主从同步
SSHRedis.exec("192.168.102.162", "root", "123456", 22,"sleep 20;cd /usr/bin;redis-cli -h 192.168.102.222 -p 6379 set test_key 'test';");
String redisInfo2 = SSHRedis.exec("192.168.102.162", "root", "123456", 22,"sleep 20;cd /usr/bin;redis-cli -h 192.168.102.222 -p 6379 get test_key;");
String[] arry = redisInfo2.split("<br>");
String val = arry[0].replace("\r\n", "").trim();
if("test".equals(val)){
isSlave="同步";
}else {
isSlave="不同步";
}
if (StringUtils.isNotEmpty(redisInfo)) {
RedisInfo redis = new RedisInfo("192.168.102.162", getRedisInfo(
redisInfo, "connected_clients"), getRedisInfo(redisInfo,
"used_memory"), getRedisInfo(redisInfo,
redisInfo, "connected_clients"), isSlave, getRedisInfo(redisInfo,
"used_memory_peak_human"), getRedisInfo(redisInfo,"role"));
redisMapper.insert(redis);
}
... ...