CollF5lb.java 4.15 KB
package com.sitech.ismp.coll.loadBalance;

import com.sitech.ismp.coll.basic.TblATO_KPIDETAIL;
import com.sitech.util.DES3;

import java.util.HashMap;
import java.util.Scanner;
import java.util.Vector;

/**
 * Created by mooker on 15/8/3.
 */
public class CollF5lb implements CollF5lbMBean {

    public Vector getConfig(HashMap<String, String> params) {
        CollF5lbWithSNMP f5 = new CollF5lbWithSNMP();
        return f5.getConfig(params);
    }

    public Vector getIntefaces(HashMap<String, String> params) {
        CollF5lbWithSNMP f5 = new CollF5lbWithSNMP();
        return f5.getIntefaces(params);
    }

    public Vector getCpuMemConns(HashMap<String, String> params) {
        CollF5lbWithSNMP f5 = new CollF5lbWithSNMP();
        return f5.getCpuMemConns(params);
    }

    public Vector getCapacity(HashMap<String, String> params) {
        CollF5lbWithSNMP f5 = new CollF5lbWithSNMP();
        return f5.getCapacity(params);
    }

    public Vector getVirtualServer(HashMap<String, String> params) {
        CollF5lbWithSNMP f5 = new CollF5lbWithSNMP();
        return f5.getVirtualServer(params);
    }

    public Vector getPool(HashMap<String, String> params) {
        CollF5lbWithSNMP f5 = new CollF5lbWithSNMP();
        return f5.getPool(params);
    }

    public static void main(String[] args) {
        System.out.println("***************F5 Load Balance Collect Test Begin*********************");
        String ipAddr = "10.145.200.52";
        String snmpPort = "161";
        String snmpVersion = "v2c";
        String community = "public";
        String deviceId = "sh-f5";
        String methodStr = "0";

        HashMap<String, String> params = new HashMap<String, String>();
        params.put("IPADDR", ipAddr);
        params.put("SNMPPORT", snmpPort);
        params.put("SNMPVERSION", snmpVersion);
        params.put("COMMUNITY", DES3.encrypt(community));
        params.put("DEVICEID", deviceId);

        int method = Integer.parseInt(methodStr);
        Vector<TblATO_KPIDETAIL> result = new Vector<TblATO_KPIDETAIL>();

        CollF5lb collector = new CollF5lb();
        switch (method) {
            case 0:
                result.addAll(collector.getConfig(params));
                result.addAll(collector.getIntefaces(params));
                result.addAll(collector.getCpuMemConns(params));
                result.addAll(collector.getCapacity(params));
                result.addAll(collector.getVirtualServer(params));
                result.addAll(collector.getPool(params));
                break;
            case 1:
                result.addAll(collector.getConfig(params));
                break;
            case 2:
                result.addAll(collector.getIntefaces(params));
                break;
            case 3:
                result.addAll(collector.getCpuMemConns(params));
                break;
            case 4:
                result.addAll(collector.getCapacity(params));
                break;
            case 5:
                result.addAll(collector.getVirtualServer(params));
                break;
            case 6:
                result.addAll(collector.getPool(params));
                break;
            default:
                break;
        }

        System.out.println("***************F5 Load Balance Collect Test End*********************");
        for (int i = 0; i < result.size(); i++) {
            TblATO_KPIDETAIL record = (TblATO_KPIDETAIL) result.get(i);
            String insSql = "INSERT INTO TB_ATO_KPIDETAIL (KPI_ID, UNIT_ID, CLL_TIME, KPI_VALUE, EXT_INFO, DB_TIME, EXT_UNIT_ID, `INTERVAL`) " +
                    "VALUES ('#KPI_ID#', '#UNIT_ID#', now(), '#KPI_VALUE#', null, now(), '10-19-10:10_145_200_52', #INTERVAL#);";
            insSql = insSql.replace("#KPI_ID#", record.KPI_ID);
            insSql = insSql.replace("#UNIT_ID#", record.UNIT_ID);
            insSql = insSql.replace("#KPI_VALUE#", record.KPI_VALUE);
            insSql = insSql.replace("#INTERVAL#", record.INTERVAL);
            System.out.println(insSql);
        }
    }

    private static String read(String prompt) {
        Scanner scanner = new Scanner(System.in);
        System.out.print(prompt);
        return scanner.nextLine();
    }
}