CollWindows.java 6.8 KB
package com.sitech.ismp.coll.centercoll;

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

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

public class CollWindows implements CollWindowsMBean {

	public Vector<TblATO_KPIDETAIL> coll(HashMap params) {
		CollWindowsWithSNMP windows = new CollWindowsWithSNMP(params);
        return windows.coll(params);

//		Vector kpi = new Vector();
//        // 保存采集结果,并返回值
//        CollBase collResult = new CollBase();
//		if (windows.getSNMPState()) {
//			Vector memoryKpi = windows.getMemory();
//			if (memoryKpi.size() <= 0) {
//				System.out.println("the memory size is 0 , the coll process will be colled!");
//				memoryKpi = windows.getMemory();
//			}
//            collResult.addKPISet(memoryKpi);
//
//            Vector fileKpi = windows.getFileSystem();
//            collResult.addKPISet(fileKpi);
//
//            Vector stateKpi = windows.getStates();
//            collResult.addKPISet(stateKpi);
//
//            Vector configKpi = windows.getConfig();
//            collResult.addKPISet(configKpi);
//
//            Vector cpuKpi = windows.getCPU();
//            collResult.addKPISet(cpuKpi);
//		} else {
//			Vector stateKpi = windows.getStates();
//            collResult.addKPISet(stateKpi);
//		}
//		return collResult.getKPISet();
	}

	public Vector<TblATO_KPIDETAIL> collSpecProcess(HashMap params) {
        CollWindowsWithSNMP windows = new CollWindowsWithSNMP(params);
		return windows.collSpecProcess(params);
	}

    /**
     * 新关键进程采集
     * @param params
     * @return
     */
    @Override
    public Vector collSpecProcessList(HashMap<String, String> params) {
        CollWindowsWithSNMP windows = new CollWindowsWithSNMP(params);
        return windows.collSpecProcessList(params);
    }

    /**
     * 采集Hyper-v的CPU相关指标
     * @param params
     * @return
     */
    public Vector<TblATO_KPIDETAIL> getCpu(HashMap<String, String> params) {
        CollWindowsWithHyperv windows = new CollWindowsWithHyperv(params);
        return windows.getCpu(params);};

    /**
     * 采集Hyper-v的内存相关指标
     * @param params
     * @return
     */
    public Vector<TblATO_KPIDETAIL> getMemory(HashMap<String, String> params) {
        CollWindowsWithHyperv windows = new CollWindowsWithHyperv(params);
        return windows.getMemory(params);};

    /**
     * 采集Hyper-v的磁盘相关指标
     * @param params
     * @return
     */
    public Vector<TblATO_KPIDETAIL> getFileSystem(HashMap<String, String> params) {
        CollWindowsWithHyperv windows = new CollWindowsWithHyperv(params);
        return windows.getFileSystem(params);};

    public Vector<TblATO_KPIDETAIL> getConfig(HashMap<String, String> params) {
        CollWindowsWithHyperv windows = new CollWindowsWithHyperv(params);
        return windows.getConfig(params);};

	public static void main(String args[]) {
        System.out.println("***************Windows Collect Test Begin*********************");
        HashMap<String, String> params = new HashMap<String, String>();
//        String ipAddr = read("HOSTIP(Windows host ip):");
//        String port = read("SNMPPORT(161):");
//        String community = read("COMMUNITY(public):");
//        String deviceName = read("HOST_NAME:");
//        String processName = read("PROCESS_NAME:");
//        String processDesc = read("PROCESS_DESC:");
//        String maxCount = read("MAX_COUNT:");
//        String minCount = read("MIN_COUNT:");
//        String methodStr = read("METHOD(0:getAll, 1:coll, 2:collSpecProcess, 3:collSpecProcessList, 4:getCpu, 5:getMemory, 6:getDisk):");

//        String ipAddr = "172.21.3.23";
//        String port = "161";
//        String community = "public";
//        String deviceName = "WIN-KLA4OB2ZEUO";
//        String processName = "vpxd.exe,svchost.exe,liush";
//        String processDesc = "VirtualCenter Server";
//        String maxCount = "2";
//        String minCount = "1";
//        params.put("IP", ipAddr);
//        params.put("PORT", port);
//        params.put("COMMUNITY", community);
//        params.put("HOST_NAME", deviceName);
//        params.put("PROCESS_NAME", processName);
//        params.put("PROCESS_DESC", processDesc);
//        params.put("MAX_COUNT", maxCount);
//        params.put("MIN_COUNT", minCount);

        String hypervHttpUrl = "http://172.21.0.16:8888/?command=E:/monitor-ps1/";
        String username = "Administrator";
        String password = "Abcd1234";
        String deviceName = "WIN-KLA4OB2ZEUO";
        params.put("HYPERV_URL", hypervHttpUrl);
        params.put("HOST_NAME", deviceName);
        params.put("USERNAME", username);
        params.put("PASSWORD", DES3.encrypt(password));

        String methodStr = "8";
        int method = Integer.parseInt(methodStr);
        Vector<TblATO_KPIDETAIL> result = new Vector<TblATO_KPIDETAIL>();
        CollWindows collector = new CollWindows();
        switch (method) {
            case 0:
                result.addAll(collector.coll(params));
                result.addAll(collector.collSpecProcess(params));
                result.addAll(collector.collSpecProcessList(params));
                result.addAll(collector.getCpu(params));
                result.addAll(collector.getMemory(params));
                result.addAll(collector.getFileSystem(params));
                result.addAll(collector.getConfig(params));
                break;
            case 1:
                result.addAll(collector.coll(params));
                break;
            case 2:
                result.addAll(collector.collSpecProcess(params));
                break;
            case 3:
                result.addAll(collector.collSpecProcessList(params));
                break;
            case 4:
                result.addAll(collector.getCpu(params));
                result.addAll(collector.getMemory(params));
                result.addAll(collector.getFileSystem(params));
                result.addAll(collector.getConfig(params));
                break;
            case 5:
                result.addAll(collector.getCpu(params));
                break;
            case 6:
                result.addAll(collector.getMemory(params));
                break;
            case 7:
                result.addAll(collector.getFileSystem(params));
                break;
            case 8:
                result.addAll(collector.getConfig(params));
                break;
            default:
                break;
        }

        System.out.println("***************Windows Collect Test End*********************");
        for (int i = 0; i < result.size(); i++) {
            TblATO_KPIDETAIL record = (TblATO_KPIDETAIL) result.get(i);
            System.out.println(record.UNIT_ID + "\t" + record.KPI_ID + "\t" + record.KPI_VALUE + "\t" + record.CLL_TIME);
        }
    }

}