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