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 DB_INFO_ID_LIST = Collections.synchronizedList(new ArrayList()); //server-backup节点处理监控的PING设备ID,server节点不监控这些PING设备 public static List DCE_INFO_ID_LIST = Collections.synchronizedList(new ArrayList()); //server-backup节点处理监控的SNMP设备ID,server节点不监控这些SNMP设备 public static List SNMP_INFO_ID_LIST = Collections.synchronizedList(new ArrayList()); //server-backup节点处理监控的服务接口ID,server节点不监控这些服务接口 public static List HEATH_MONITOR_ID_LIST = Collections.synchronizedList(new ArrayList()); /** * 定期清空这些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 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 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 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 heathMonitorList) { for (HeathMonitor heathMontior : heathMonitorList) { if (!ServerBackupUtil.HEATH_MONITOR_ID_LIST.contains(heathMontior.getId())) { ServerBackupUtil.HEATH_MONITOR_ID_LIST.add(heathMontior.getId()); } } } }