优化ping丢包率告警
This commit is contained in:
@@ -1,8 +1,9 @@
|
|||||||
package com.tongran.rocketmq.mapper;
|
package com.tongran.rocketmq.mapper;
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
import com.tongran.rocketmq.domain.RmAlarmLog;
|
import com.tongran.rocketmq.domain.RmAlarmLog;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 客户端告警信息Mapper接口
|
* 客户端告警信息Mapper接口
|
||||||
*
|
*
|
||||||
@@ -58,4 +59,5 @@ public interface RmAlarmLogMapper
|
|||||||
* @return 结果
|
* @return 结果
|
||||||
*/
|
*/
|
||||||
public int deleteRmAlarmLogByIds(Long[] ids);
|
public int deleteRmAlarmLogByIds(Long[] ids);
|
||||||
|
public int deleteAlarmLogByClientIdAndAlarmType(RmAlarmLog rmAlarmLog);
|
||||||
}
|
}
|
||||||
|
|||||||
+19
-2
@@ -1,5 +1,7 @@
|
|||||||
package com.tongran.rocketmq.service.impl;
|
package com.tongran.rocketmq.service.impl;
|
||||||
|
|
||||||
|
import com.tongran.common.core.constant.SecurityConstants;
|
||||||
|
import com.tongran.common.core.domain.R;
|
||||||
import com.tongran.common.core.utils.*;
|
import com.tongran.common.core.utils.*;
|
||||||
import com.tongran.rocketmq.domain.*;
|
import com.tongran.rocketmq.domain.*;
|
||||||
import com.tongran.rocketmq.enums.AlarmTypeEnum;
|
import com.tongran.rocketmq.enums.AlarmTypeEnum;
|
||||||
@@ -7,9 +9,12 @@ import com.tongran.rocketmq.enums.ConditionItemEnum;
|
|||||||
import com.tongran.rocketmq.mapper.*;
|
import com.tongran.rocketmq.mapper.*;
|
||||||
import com.tongran.rocketmq.service.IInitialBandwidthTrafficService;
|
import com.tongran.rocketmq.service.IInitialBandwidthTrafficService;
|
||||||
import com.tongran.rocketmq.service.IInitialDiskInfoService;
|
import com.tongran.rocketmq.service.IInitialDiskInfoService;
|
||||||
|
import com.tongran.rocketmq.service.IRmAlarmLogService;
|
||||||
import com.tongran.rocketmq.service.IRmNetworkInterfaceService;
|
import com.tongran.rocketmq.service.IRmNetworkInterfaceService;
|
||||||
import com.tongran.rocketmq.utils.SendAlarmPushUtil;
|
import com.tongran.rocketmq.utils.SendAlarmPushUtil;
|
||||||
import com.tongran.rocketmq.utils.TableRouterUtil;
|
import com.tongran.rocketmq.utils.TableRouterUtil;
|
||||||
|
import com.tongran.system.api.RemoteRevenueConfigService;
|
||||||
|
import com.tongran.system.api.domain.RmResourceRegistrationRemote;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.beans.BeanUtils;
|
import org.springframework.beans.BeanUtils;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
@@ -47,11 +52,13 @@ public class InitialBandwidthTrafficServiceImpl implements IInitialBandwidthTraf
|
|||||||
@Autowired
|
@Autowired
|
||||||
private RmAlarmThresholdMapper rmAlarmThresholdMapper;
|
private RmAlarmThresholdMapper rmAlarmThresholdMapper;
|
||||||
@Autowired
|
@Autowired
|
||||||
private RmAlarmLogMapper rmAlarmLogMapper;
|
private IRmAlarmLogService rmAlarmLogService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private SendAlarmPushUtil sendAlarmPushUtil;
|
private SendAlarmPushUtil sendAlarmPushUtil;
|
||||||
@Autowired
|
@Autowired
|
||||||
private IRmNetworkInterfaceService rmNetworkInterfaceService;
|
private IRmNetworkInterfaceService rmNetworkInterfaceService;
|
||||||
|
@Autowired
|
||||||
|
private RemoteRevenueConfigService remoteRevenueConfigService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询初始带宽流量
|
* 查询初始带宽流量
|
||||||
@@ -240,12 +247,22 @@ public class InitialBandwidthTrafficServiceImpl implements IInitialBandwidthTraf
|
|||||||
log.warn("未知的运算符: {}", operator);
|
log.warn("未知的运算符: {}", operator);
|
||||||
}
|
}
|
||||||
if (shouldAlarm) {
|
if (shouldAlarm) {
|
||||||
|
// 查询服务器信息
|
||||||
|
RmResourceRegistrationRemote query = new RmResourceRegistrationRemote();
|
||||||
|
query.setClientId(clientId);
|
||||||
|
R<RmResourceRegistrationRemote> registerMsgR = remoteRevenueConfigService.getListByHardwareSn(query, SecurityConstants.INNER);
|
||||||
RmAlarmLog rmAlarmLog = new RmAlarmLog();
|
RmAlarmLog rmAlarmLog = new RmAlarmLog();
|
||||||
|
if(registerMsgR != null && registerMsgR.getData() != null){
|
||||||
|
RmResourceRegistrationRemote serverMsg = registerMsgR.getData();
|
||||||
|
rmAlarmLog.setMgmPublicIp(serverMsg.getIp1PublicIp());
|
||||||
|
rmAlarmLog.setBusinessName(serverMsg.getBusinessName());
|
||||||
|
rmAlarmLog.setRemark(serverMsg.getRemark());
|
||||||
|
}
|
||||||
rmAlarmLog.setAlarmType(AlarmTypeEnum.ping丢包率过高.getCode());
|
rmAlarmLog.setAlarmType(AlarmTypeEnum.ping丢包率过高.getCode());
|
||||||
rmAlarmLog.setClientId(clientId);
|
rmAlarmLog.setClientId(clientId);
|
||||||
rmAlarmLog.setAlarmTime(DateUtils.getNowDate());
|
rmAlarmLog.setAlarmTime(DateUtils.getNowDate());
|
||||||
rmAlarmLog.setAlarmContent("丢包率:" + pingDropped);
|
rmAlarmLog.setAlarmContent("丢包率:" + pingDropped);
|
||||||
rmAlarmLogMapper.insertRmAlarmLog(rmAlarmLog);
|
rmAlarmLogService.insertRmAlarmLog(rmAlarmLog);
|
||||||
// 推送消息
|
// 推送消息
|
||||||
sendAlarmPushUtil.sendAlarmPush(rmAlarmLog, AlarmTypeEnum.ping丢包率过高.getMsg());
|
sendAlarmPushUtil.sendAlarmPush(rmAlarmLog, AlarmTypeEnum.ping丢包率过高.getMsg());
|
||||||
}
|
}
|
||||||
|
|||||||
+18
-4
@@ -1,12 +1,14 @@
|
|||||||
package com.tongran.rocketmq.service.impl;
|
package com.tongran.rocketmq.service.impl;
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
import com.tongran.common.core.utils.DateUtils;
|
import com.tongran.common.core.utils.DateUtils;
|
||||||
|
import com.tongran.rocketmq.domain.RmAlarmLog;
|
||||||
|
import com.tongran.rocketmq.enums.AlarmTypeEnum;
|
||||||
|
import com.tongran.rocketmq.mapper.RmAlarmLogMapper;
|
||||||
|
import com.tongran.rocketmq.service.IRmAlarmLogService;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import com.tongran.rocketmq.mapper.RmAlarmLogMapper;
|
|
||||||
import com.tongran.rocketmq.domain.RmAlarmLog;
|
import java.util.List;
|
||||||
import com.tongran.rocketmq.service.IRmAlarmLogService;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 客户端告警信息Service业务层处理
|
* 客户端告警信息Service业务层处理
|
||||||
@@ -54,6 +56,18 @@ public class RmAlarmLogServiceImpl implements IRmAlarmLogService
|
|||||||
public int insertRmAlarmLog(RmAlarmLog rmAlarmLog)
|
public int insertRmAlarmLog(RmAlarmLog rmAlarmLog)
|
||||||
{
|
{
|
||||||
rmAlarmLog.setCreateTime(DateUtils.getNowDate());
|
rmAlarmLog.setCreateTime(DateUtils.getNowDate());
|
||||||
|
if(AlarmTypeEnum.ping丢包率过高.getCode().equals(rmAlarmLog.getAlarmType())){
|
||||||
|
if(rmAlarmLog.getClientId() != null){
|
||||||
|
// 查询是否已存在
|
||||||
|
RmAlarmLog query = new RmAlarmLog();
|
||||||
|
query.setClientId(rmAlarmLog.getClientId());
|
||||||
|
query.setAlarmType(rmAlarmLog.getAlarmType());
|
||||||
|
List<RmAlarmLog> rmAlarmLogList = rmAlarmLogMapper.selectRmAlarmLogList(query);
|
||||||
|
if(rmAlarmLogList != null && !rmAlarmLogList.isEmpty()){
|
||||||
|
rmAlarmLogMapper.deleteAlarmLogByClientIdAndAlarmType(query);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
return rmAlarmLogMapper.insertRmAlarmLog(rmAlarmLog);
|
return rmAlarmLogMapper.insertRmAlarmLog(rmAlarmLog);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ import com.tongran.common.core.constant.SecurityConstants;
|
|||||||
import com.tongran.common.core.domain.R;
|
import com.tongran.common.core.domain.R;
|
||||||
import com.tongran.rocketmq.domain.RmAlarmLog;
|
import com.tongran.rocketmq.domain.RmAlarmLog;
|
||||||
import com.tongran.rocketmq.domain.RmAlarmPushConfig;
|
import com.tongran.rocketmq.domain.RmAlarmPushConfig;
|
||||||
|
import com.tongran.rocketmq.enums.AlarmTypeEnum;
|
||||||
import com.tongran.rocketmq.enums.PushMethodEnum;
|
import com.tongran.rocketmq.enums.PushMethodEnum;
|
||||||
import com.tongran.rocketmq.service.IRmAlarmLogService;
|
import com.tongran.rocketmq.service.IRmAlarmLogService;
|
||||||
import com.tongran.rocketmq.service.IRmAlarmPushConfigService;
|
import com.tongran.rocketmq.service.IRmAlarmPushConfigService;
|
||||||
@@ -44,15 +45,17 @@ public class SendAlarmPushUtil {
|
|||||||
updateData.setId(rmAlarmLog.getId());
|
updateData.setId(rmAlarmLog.getId());
|
||||||
if (alarmConfigList != null && !alarmConfigList.isEmpty()) {
|
if (alarmConfigList != null && !alarmConfigList.isEmpty()) {
|
||||||
try {
|
try {
|
||||||
// 查询服务器信息
|
if(!AlarmTypeEnum.ping丢包率过高.getCode().equals(rmAlarmLog.getAlarmType())){
|
||||||
RmResourceRegistrationRemote query = new RmResourceRegistrationRemote();
|
// 查询服务器信息
|
||||||
query.setClientId(clientId);
|
RmResourceRegistrationRemote query = new RmResourceRegistrationRemote();
|
||||||
R<RmResourceRegistrationRemote> registerMsgR = remoteRevenueConfigService.getListByHardwareSn(query, SecurityConstants.INNER);
|
query.setClientId(clientId);
|
||||||
if(registerMsgR != null && registerMsgR.getData() != null){
|
R<RmResourceRegistrationRemote> registerMsgR = remoteRevenueConfigService.getListByHardwareSn(query, SecurityConstants.INNER);
|
||||||
RmResourceRegistrationRemote serverMsg = registerMsgR.getData();
|
if(registerMsgR != null && registerMsgR.getData() != null){
|
||||||
rmAlarmLog.setMgmPublicIp(serverMsg.getIp1PublicIp());
|
RmResourceRegistrationRemote serverMsg = registerMsgR.getData();
|
||||||
rmAlarmLog.setBusinessName(serverMsg.getBusinessName());
|
rmAlarmLog.setMgmPublicIp(serverMsg.getIp1PublicIp());
|
||||||
rmAlarmLog.setRemark(serverMsg.getRemark());
|
rmAlarmLog.setBusinessName(serverMsg.getBusinessName());
|
||||||
|
rmAlarmLog.setRemark(serverMsg.getRemark());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
Map<String, Object> alarmMap = new HashMap<>();
|
Map<String, Object> alarmMap = new HashMap<>();
|
||||||
alarmMap.put("告警时间", rmAlarmLog.getAlarmTime());
|
alarmMap.put("告警时间", rmAlarmLog.getAlarmTime());
|
||||||
|
|||||||
@@ -105,4 +105,8 @@
|
|||||||
#{id}
|
#{id}
|
||||||
</foreach>
|
</foreach>
|
||||||
</delete>
|
</delete>
|
||||||
|
<delete id="deleteAlarmLogByClientIdAndAlarmType" parameterType="RmAlarmLog">
|
||||||
|
delete from rm_alarm_log where client_id =#{clientId} and alarm_type =#{alarmType}
|
||||||
|
</delete>
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
||||||
Reference in New Issue
Block a user