kongdeqiang
2023-02-17 ac94b1d939373a684344764e5b00dac44feabd81
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
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());
            }
        }
    }
 
}