package com.wgcloud.util;
|
|
import com.wgcloud.entity.DbInfo;
|
import com.wgcloud.entity.DceInfo;
|
import com.wgcloud.entity.HeathMonitor;
|
import com.wgcloud.entity.SnmpInfo;
|
import org.slf4j.Logger;
|
import org.slf4j.LoggerFactory;
|
|
import java.util.ArrayList;
|
import java.util.Collections;
|
import java.util.List;
|
|
/**
|
* @version v3.3
|
* @ClassName: ServerBackupUtil
|
* @author: http://www.wgstart.com
|
* @date: 2022年09月13日
|
* @Description: wgcloud-server-backup客户端的工具类(数据源、数据表、PING设备、SNMP设备、服务接口)
|
* @Copyright: 2019-2021 wgcloud. All rights reserved.
|
*/
|
public class ServerBackupUtil {
|
|
private static final Logger logger = LoggerFactory.getLogger(ServerBackupUtil.class);
|
|
//server-backup节点处理数据监控的数据源ID,server节点不监控这些数据源和其数据表
|
public static List<String> DB_INFO_ID_LIST = Collections.synchronizedList(new ArrayList<String>());
|
|
//server-backup节点处理监控的PING设备ID,server节点不监控这些PING设备
|
public static List<String> DCE_INFO_ID_LIST = Collections.synchronizedList(new ArrayList<String>());
|
|
//server-backup节点处理监控的SNMP设备ID,server节点不监控这些SNMP设备
|
public static List<String> SNMP_INFO_ID_LIST = Collections.synchronizedList(new ArrayList<String>());
|
|
//server-backup节点处理监控的服务接口ID,server节点不监控这些服务接口
|
public static List<String> HEATH_MONITOR_ID_LIST = Collections.synchronizedList(new ArrayList<String>());
|
|
/**
|
* 定期清空这些ID list
|
*/
|
public static void clearCacheIdList() {
|
logger.info("清空server-backup节点处理的缓存ID");
|
DB_INFO_ID_LIST.clear();
|
DCE_INFO_ID_LIST.clear();
|
SNMP_INFO_ID_LIST.clear();
|
HEATH_MONITOR_ID_LIST.clear();
|
}
|
|
/**
|
* 将server-backup节点处理的数据源ID,暂存起来,server节点就不监控这些数据源了
|
*
|
* @param dbInfoList
|
*/
|
public static void cacheSaveDbInfoId(List<DbInfo> dbInfoList) {
|
for (DbInfo dbInfo : dbInfoList) {
|
if (!ServerBackupUtil.DB_INFO_ID_LIST.contains(dbInfo.getId())) {
|
ServerBackupUtil.DB_INFO_ID_LIST.add(dbInfo.getId());
|
}
|
}
|
}
|
|
/**
|
* 将server-backup节点处理的的PING设备ID,暂存起来,server节点就不监控这些的PING设备了
|
*
|
* @param dceInfoList
|
*/
|
public static void cacheSaveDceInfoId(List<DceInfo> dceInfoList) {
|
for (DceInfo dceInfo : dceInfoList) {
|
if (!ServerBackupUtil.DCE_INFO_ID_LIST.contains(dceInfo.getId())) {
|
ServerBackupUtil.DCE_INFO_ID_LIST.add(dceInfo.getId());
|
}
|
}
|
}
|
|
|
/**
|
* 将server-backup节点处理的的SNMP设备ID,暂存起来,server节点就不监控这些的SNMP设备了
|
*
|
* @param snmpInfoList
|
*/
|
public static void cacheSaveSnmpInfoId(List<SnmpInfo> snmpInfoList) {
|
for (SnmpInfo snmpInfo : snmpInfoList) {
|
if (!ServerBackupUtil.SNMP_INFO_ID_LIST.contains(snmpInfo.getId())) {
|
ServerBackupUtil.SNMP_INFO_ID_LIST.add(snmpInfo.getId());
|
}
|
}
|
}
|
|
|
/**
|
* 将server-backup节点处理的的服务接口ID,暂存起来,server节点就不监控这些的服务接口了
|
*
|
* @param heathMonitorList
|
*/
|
public static void cacheSaveHeathMontiorId(List<HeathMonitor> heathMonitorList) {
|
for (HeathMonitor heathMontior : heathMonitorList) {
|
if (!ServerBackupUtil.HEATH_MONITOR_ID_LIST.contains(heathMontior.getId())) {
|
ServerBackupUtil.HEATH_MONITOR_ID_LIST.add(heathMontior.getId());
|
}
|
}
|
}
|
|
}
|