CheckAllTuxedo.java 4.34 KB
package com.sitech.ismp.coll.tivoli;

import java.io.File;
import java.util.Enumeration;
import java.util.ResourceBundle;
import java.util.Vector;

import jxl.Workbook;
import jxl.write.Label;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;

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

/**
 * 该类只采集  规范中的 ibm提供采集方法的 主机相关指标
 * 
 * @author winnerbao
 *
 */
public class CheckAllTuxedo{


	static ResourceBundle TUXEDO_HOST_NAME = null;

    static {
        try{
        	TUXEDO_HOST_NAME = ResourceBundle.getBundle("tuxedo_host_name");                                             
        }
        catch(Exception e){
            System.out.println("Bundle tuxedo_host_name.properties error.");
            e.printStackTrace();
        }
    }
	
	
	public static void  printKPIs(Vector KPISet ){
		for(int i=0;i<KPISet.size();i++){
			TblATO_KPIDETAIL tblato_kpidetail = (TblATO_KPIDETAIL)KPISet.elementAt(i);
			if(tblato_kpidetail==null)
				continue;
			System.out.println(tblato_kpidetail.UNIT_ID + " : " + 
							   tblato_kpidetail.KPI_ID + " : " + 
							   tblato_kpidetail.KPI_VALUE + " : " + 
							   tblato_kpidetail.CLL_TIME );
		}	
	}
	
	
	public static void printTuxedoKPIStatus(String filename)throws Exception
	{
		Enumeration en = TUXEDO_HOST_NAME.getKeys();
		WritableWorkbook workbook = Workbook.createWorkbook(new File(filename));
        WritableSheet sheet = workbook.createSheet("First Sheet", 0);
        //写KPI头
        Vector vector = new Vector();
        String empty[][]=CheckKPIHelper.Check_Tuxedo_KPI(vector);
        for(int i=0;i<empty.length;i++)
        {
        	Label label1 = new Label(i+1,0,empty[i][0]);
        	sheet.addCell(label1);
        }
        int rownum = 0;
		while(en.hasMoreElements())
		{
			rownum++;
			String hostname = (String)en.nextElement();
			
			//写hostname
			Label label = new Label(0,rownum,hostname);
			sheet.addCell(label);
			
			CollTuxedo collTuxedo = new CollTuxedo();
			java.util.HashMap params = new java.util.HashMap();
			params.put("HOST_NAME",hostname);
			params.put("IP_ADDR","IP_ADDR");
			params.put("USERNAME","USERNAME");
			
			Vector v = new Vector();
			
			Vector v1 = collTuxedo.getConfiguration(params);
			Vector v2 = collTuxedo.getPerformance(params);
			v.addAll(v1);
			v.addAll(v2);
			
			//printKPIs(v);
			String temp[][]=CheckKPIHelper.Check_Tuxedo_KPI(v);
			for(int i=0;i<temp.length;i++)
			{
				Label label2 = new Label(i+1,rownum,temp[i][1]);
				sheet.addCell(label2);
			}
		}
		
		workbook.write();
		workbook.close();
		System.out.println(filename + " write finish!");
	}
	
	
	/**
	 * 如果bool=ture表示打印出所有Tuxedo的所有KPI的状态(exist/inexistence)
	 * 如果bool=false表示打印出所有Tuxedo的所有未采集到KPI状态(exist)
	 * @param bool
	 * @throws Exception
	 */
	public static void getAll_KPI_Status(boolean bool)throws Exception
	{
		Enumeration en = TUXEDO_HOST_NAME.getKeys();
		CollTuxedo collTuxedo = new CollTuxedo();
		while(en.hasMoreElements())
		{
			String tuxedohostname = (String)en.nextElement();
			System.out.println("Test Tuxedo Host Is : " + tuxedohostname);
			System.out.println("========================================");
			java.util.HashMap params = new java.util.HashMap();
			tuxedohostname = UaHostHelper.getUaHostName(tuxedohostname);
			params.put("HOST_NAME",tuxedohostname);
			params.put("IP_ADDR","10.110.x.x");
			
			Vector v1 = collTuxedo.getConfiguration(params);
			Vector v2 = collTuxedo.getPerformance(params);
			Vector v = new Vector();
			v.addAll(v1);
			v.addAll(v2);
			
			String temp[][] = CheckKPIHelper.Check_Tuxedo_KPI(v);
			for(int i=0;i<temp.length;i++)
			{
				if(bool==false&&temp[i][1].equalsIgnoreCase("inexistence"))
				{
					System.out.println("KPI_ID : " + temp[i][0] + "---" + temp[i][1]);
				}
				if(bool==true)
				{
					System.out.println("KPI_ID : " + temp[i][0] + "---" + temp[i][1]);
				}
				//System.out.println("KPI_ID : " + temp[i][0] + "---" + temp[i][1]);
			}
			System.out.println("========================================");
			System.out.println();
		}
		System.out.println("====================FINASH====================");
	}
	
	public static void main(String[] args) throws Exception
	{
		//getAll_KPI_Status(true);
		//getAll_KPI_Status(false);
		String filename = "AllTuxedoKPIStatus.xls";
		printTuxedoKPIStatus(filename);
	}
}