summaryrefslogtreecommitdiffstats
path: root/veslibrary/ves_javalibrary/evel_javalib2/src/main/java/evel_javalibrary/att/com/loadbalance/FaultData.java
diff options
context:
space:
mode:
Diffstat (limited to 'veslibrary/ves_javalibrary/evel_javalib2/src/main/java/evel_javalibrary/att/com/loadbalance/FaultData.java')
-rw-r--r--veslibrary/ves_javalibrary/evel_javalib2/src/main/java/evel_javalibrary/att/com/loadbalance/FaultData.java1228
1 files changed, 1228 insertions, 0 deletions
diff --git a/veslibrary/ves_javalibrary/evel_javalib2/src/main/java/evel_javalibrary/att/com/loadbalance/FaultData.java b/veslibrary/ves_javalibrary/evel_javalib2/src/main/java/evel_javalibrary/att/com/loadbalance/FaultData.java
new file mode 100644
index 0000000..6329ee7
--- /dev/null
+++ b/veslibrary/ves_javalibrary/evel_javalib2/src/main/java/evel_javalibrary/att/com/loadbalance/FaultData.java
@@ -0,0 +1,1228 @@
+package evel_javalibrary.att.com.loadbalance;
+/**************************************************************************//**
+ * @file
+ * Evel Fault Event class extends EvelHeader class
+ *
+ * This file implements the Evel Fault Event class which is intended to provide a
+ * simple wrapper around the complexity of AT&T's Vendor Event Listener API so
+ * that VNFs can use it to send Fault events.
+ *
+ * License
+ * -------
+ * Unless otherwise specified, all software contained herein is
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *****************************************************************************/
+
+import java.io.BufferedReader;
+import java.io.FileReader;
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.net.InetAddress;
+import java.net.NetworkInterface;
+import java.net.SocketException;
+import java.net.UnknownHostException;
+import java.util.ArrayList;
+import java.util.Enumeration;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+
+
+import org.apache.log4j.Level;
+import org.json.simple.JSONArray;
+import org.json.simple.JSONObject;
+import org.json.simple.parser.JSONParser;
+import org.json.simple.parser.ParseException;
+
+import evel_javalibrary.att.com.AgentMain;
+import evel_javalibrary.att.com.EvelBatch;
+import evel_javalibrary.att.com.EvelFault;
+import evel_javalibrary.att.com.EvelFault.EVEL_SEVERITIES;
+import evel_javalibrary.att.com.EvelFault.EVEL_SOURCE_TYPES;
+import evel_javalibrary.att.com.EvelFault.EVEL_VF_STATUSES;
+import evel_javalibrary.att.com.EvelHeader;
+
+
+
+public class FaultData{
+
+
+ static HashMap<String, String> fault_config = new HashMap<>();
+ static HashMap<String, String> interface_config = new HashMap<>();
+
+ static HashMap<String, String> faultConfig = new HashMap<>();
+
+ static HashMap<String, String> faultInstanceres01 = new HashMap<>();
+ static HashMap<String, String> faultInstanceres02 = new HashMap<>();
+ static HashMap<String, String> tempAlaramClearParameter = new HashMap<>();
+
+
+ static HashMap<String, String> Instanceres02ClearParameter = new HashMap<>();
+
+
+ static String[] resDevice =null;
+ static String[] tempInitres;
+ static String[] tempcommandres;
+ static String[] tempcommand02res;
+ static HashMap<String, String> faultConfigTempInit = new HashMap<>();
+ static HashMap<String, String> faultConfigCommand = new HashMap<>();
+ static String alarmCondition ="";
+ static String specificProblem = "";
+ static String eventSeverity="";
+ static String alarmInterfaceA ="";
+
+ static String alarmConditionClear ="";
+ static String specificProblemClear = "";
+ static String eventSeverityClear="";
+
+ static String Instance02alarmInterfaceA;
+ static String Instance02eventCategory;
+ static String Instance02eventSourceType;
+ static String Instance02eventName;
+
+ static String ins02alarmConditionClear;
+ static String ins02specificProblemClear;
+ static String ins02eventSeverityClear;
+
+ static String setAlarmCondition;
+ static String setSpecificProblem;
+ static String setEventSeverity;
+
+ static String eventCategory ="";
+ static String eventSourceType ="";
+ static HashMap<String, String> hm = new HashMap<>();
+
+ static String linkStart = "";
+ static int linkCount;
+ static String event_id1 = "fault";
+ static String event_id = "00000000";
+ static float bytes_in;
+ static float bytes_out;
+ static float packets_in;
+ static float packets_out;
+
+ static float ins02Cmd;
+
+
+ static int falut_raised =0;
+
+
+ public final Runnable faultInstance01;
+ public final Runnable faultInstance02;
+
+ public FaultData(){
+
+ faultInstance01 = new Runnable() {
+
+ @Override
+ public void run() {
+ int gm_event_id = 1;
+ String event_id2=null;
+
+ Long start_epoch_microsec = 0L;
+ Long last_epoch_microsec = 0L;
+ String hostName = hostName();
+ try {
+ readFalutConfig();
+ readVppMetrics(resDevice);
+ } catch (IOException | ParseException e1) {
+
+ }
+
+
+ String[] intFaceMapFault = resDevice;
+ int numOfInterfacesFalut = 0;
+ if( intFaceMapFault != null)
+ numOfInterfacesFalut = intFaceMapFault.length;
+ if( numOfInterfacesFalut <= 0) {
+
+ return;
+ }
+
+ HashMap<String, DeviceData> falut_last_metrics = readVppMetrics(resDevice);
+
+ while(true) {
+ try {
+ EvelBatch ebt = new EvelBatch();
+
+ for( String falut : intFaceMapFault ) {
+
+ HashMap<String, DeviceData> falut_current_metrics = readVppMetrics(resDevice);
+
+
+ for( String tmp_device :falut_current_metrics.keySet() ) {
+
+
+
+ int receivedOctetsDelta = Integer.parseInt((falut_current_metrics.get(tmp_device).getT1Bytesin()) )
+ - Integer.parseInt((falut_last_metrics.get(tmp_device).getT0bytesIn()));
+
+ int receivedTotalPacketsDelta = Integer.parseInt((falut_current_metrics.get(tmp_device).getT1Packetsin()) )
+ - Integer.parseInt((falut_last_metrics.get(tmp_device).getT0packetIn()));
+
+ int transmittedOctetsDelta = Integer.parseInt((falut_current_metrics.get(tmp_device).getT1Bytesout()) )
+ - Integer.parseInt((falut_last_metrics.get(tmp_device).getT0bytesOut()));
+
+
+
+ int transmittedTotalPacketsDelta = Integer.parseInt((falut_current_metrics.get(tmp_device).getT1Packetsout()) )
+ - Integer.parseInt((falut_last_metrics.get(tmp_device).getT0packetOut()));
+
+
+ String alarmInterface = tmp_device; //resDevice[0];
+ if((receivedOctetsDelta < Integer.parseInt((String)faultInstanceres01.get("tmp_lowWaterMark")) || transmittedOctetsDelta < Integer.parseInt((String)faultInstanceres01.get("tmp_lowWaterMark")) ||
+ receivedTotalPacketsDelta < Integer.parseInt((String)faultInstanceres01.get("tmp_lowWaterMark")) || transmittedTotalPacketsDelta < Integer.parseInt((String)faultInstanceres01.get("tmp_lowWaterMark"))) && falut_raised == 0){
+ event_id2 = event_id1+ event_id+(gm_event_id++);
+ EvelFault eveFalt = new EvelFault(faultInstanceres01.get("eventName"),event_id2, alarmCondition, specificProblem,
+ EvelHeader.PRIORITIES.EVEL_PRIORITY_LOW,
+ EVEL_SEVERITIES.EVEL_SEVERITY_MAJOR,
+ EVEL_SOURCE_TYPES.EVEL_SOURCE_ROUTER,
+ EVEL_VF_STATUSES.EVEL_VF_STATUS_IDLE);
+ if(eveFalt != null) {
+
+ falut_raised =1;
+
+ if( faultConfig.get("eventType")!=null) {
+ eveFalt.evel_fault_type_set(faultConfig.get("eventType"));
+
+ start_epoch_microsec = last_epoch_microsec;
+ last_epoch_microsec = System.nanoTime()/1000;
+
+ eveFalt.evel_last_epoch_set(start_epoch_microsec);
+ eveFalt.evel_start_epoch_set(last_epoch_microsec);
+
+ eveFalt.evel_fault_category_set(eventCategory);
+ eveFalt.evel_fault_interface_set(alarmInterface.replaceAll("^[\"']+|[\"']+$", ""));
+ eveFalt.evel_nfcnamingcode_set(faultConfig.get("nfcNamingCode").toString());
+ eveFalt.evel_nfnamingcode_set(faultConfig.get("nfNamingCode").toString());
+ if(faultConfig.get("reportingEntityName") == null) {
+ eveFalt.evel_reporting_entity_name_set(hostName);
+ }else {
+ eveFalt.evel_reporting_entity_name_set(faultConfig.get("reportingEntityName").toString());
+ }
+ eveFalt.evel_reporting_entity_id_set(faultConfig.get("reportingEntityId").toString());
+ eveFalt.evel_nfVendorName_set(faultConfig.get("nfVendorName").toString());
+ eveFalt.evel_header_set_sourceid(true,faultConfig.get("sourceId").toString());
+
+ if(faultConfig.get("sourceName") == null) {
+ eveFalt.evel_header_set_source_name(hostName);
+ }else {
+ eveFalt.evel_header_set_source_name(faultConfig.get("sourceName").toString());
+ }
+
+ eveFalt.evel_timeZoneOffset_set(faultConfig.get("timeZoneOffset").toString());
+ AgentMain.evel_post_event(eveFalt);
+ }
+
+ }
+
+ }else if((receivedOctetsDelta > Integer.parseInt((String)faultInstanceres01.get("tmp_lowWaterMark")) && transmittedOctetsDelta > Integer.parseInt((String)faultInstanceres01.get("tmp_lowWaterMark")) &&
+ receivedTotalPacketsDelta > Integer.parseInt((String)faultInstanceres01.get("tmp_lowWaterMark")) && transmittedTotalPacketsDelta > Integer.parseInt((String)faultInstanceres01.get("tmp_lowWaterMark"))) && falut_raised == 1) {
+
+ event_id2 = event_id1+event_id+ (gm_event_id++);
+ EvelFault eveFalt = new EvelFault(faultInstanceres01.get("eventName"),event_id2, alarmConditionClear, specificProblemClear,
+ EvelHeader.PRIORITIES.EVEL_PRIORITY_LOW,
+ EVEL_SEVERITIES.EVEL_SEVERITY_NORMAL,
+ EVEL_SOURCE_TYPES.EVEL_SOURCE_ROUTER,
+ EVEL_VF_STATUSES.EVEL_VF_STATUS_IDLE);
+
+
+
+ if(eveFalt != null) {
+ falut_raised =1;
+
+ if( faultConfig.get("eventType")!=null) {
+ eveFalt.evel_fault_type_set(faultConfig.get("eventType"));
+ eveFalt.evel_fault_category_set(eventCategory);
+ eveFalt.evel_fault_interface_set(alarmInterface.replaceAll("^[\"']+|[\"']+$", ""));
+
+ eveFalt.evel_nfcnamingcode_set(faultConfig.get("nfcNamingCode").toString());
+ eveFalt.evel_nfnamingcode_set(faultConfig.get("nfNamingCode").toString());
+
+ if(faultConfig.get("reportingEntityName") == null) {
+ eveFalt.evel_reporting_entity_name_set(hostName);
+ }else {
+ eveFalt.evel_reporting_entity_name_set(faultConfig.get("reportingEntityName").toString());
+ }
+
+
+ eveFalt.evel_reporting_entity_id_set(faultConfig.get("reportingEntityId").toString());
+ eveFalt.evel_nfVendorName_set(faultConfig.get("nfVendorName").toString());
+ eveFalt.evel_header_set_sourceid(true,faultConfig.get("sourceId").toString());
+
+ if(faultConfig.get("sourceName") == null) {
+ eveFalt.evel_header_set_source_name(hostName);
+ }else {
+ eveFalt.evel_header_set_source_name(faultConfig.get("sourceName").toString());
+ }
+
+
+ eveFalt.evel_timeZoneOffset_set(faultConfig.get("timeZoneOffset").toString());
+ AgentMain.evel_post_event(eveFalt);
+
+ }
+
+ }
+
+
+
+ }
+
+
+ try {
+ String Ins01Interval="";
+ long milliseconds = 60000;
+ if(faultInstanceres01.get("tmp_faultCheckInterval") == null) {
+ Ins01Interval = Long.toString(milliseconds);
+ }else {
+ Ins01Interval = faultInstanceres01.get("tmp_faultCheckInterval");
+ }
+ Thread.sleep(Integer.parseInt(Ins01Interval));
+ }catch(Exception e) {}
+
+ } //for map keyset
+
+ } //for intFaceMapFault
+
+
+ }catch (Exception e) {
+
+ }
+
+
+ }
+ }
+ };
+
+ faultInstance02 = new Runnable() {
+
+ @Override
+ public void run() {
+ int gm_event_id = 1;
+ String event_id2=null;
+ Long start_epoch_microsec = 0L;
+ Long last_epoch_microsec = 0L;
+ String hostName = hostName();
+ try {
+ readFalutConfig();
+ readVppMetrics(resDevice);
+ } catch (IOException | ParseException e1) {
+
+ }
+
+
+ String[] intFaceMapFault = resDevice;
+ int numOfInterfacesFalut = 0;
+ if( intFaceMapFault != null)
+ numOfInterfacesFalut = intFaceMapFault.length;
+ if( numOfInterfacesFalut <= 0) {
+
+ return;
+ }
+
+ HashMap<String, DeviceData> falut_last_metrics = readVppMetrics(resDevice);
+
+ while(true) {
+ try {
+ EvelBatch ebt = new EvelBatch();
+
+ HashMap<String, DeviceData> falutMetric = readVppMetrics(resDevice);
+ DeviceData mdGetdata = new DeviceData();
+ String ins02cmd = mdGetdata.getInstanceres02Command();
+
+
+ if(ins02Cmd < Integer.parseInt((String)falutMetric.get("Instanceres02Cmd").getInstanceres02Command())){
+
+ event_id2 = event_id1+ event_id+(gm_event_id++);
+ EvelFault eveFalt = new EvelFault(Instance02eventName,event_id2, setAlarmCondition, setSpecificProblem,
+ EvelHeader.PRIORITIES.EVEL_PRIORITY_LOW,
+ EVEL_SEVERITIES.EVEL_SEVERITY_MAJOR,
+ EVEL_SOURCE_TYPES.EVEL_SOURCE_VIRTUAL_MACHINE,
+ EVEL_VF_STATUSES.EVEL_VF_STATUS_IDLE);
+
+
+ if(eveFalt != null) {
+
+ falut_raised =1;
+
+
+
+ if( faultConfig.get("eventType")!=null) {
+ eveFalt.evel_fault_type_set(faultConfig.get("eventType"));
+
+ start_epoch_microsec = last_epoch_microsec;
+ last_epoch_microsec = System.nanoTime()/1000;
+
+ eveFalt.evel_last_epoch_set(start_epoch_microsec);
+ eveFalt.evel_start_epoch_set(last_epoch_microsec);
+
+ eveFalt.evel_fault_category_set(Instance02eventCategory);
+ eveFalt.evel_fault_interface_set(Instance02alarmInterfaceA.replaceAll("^[\"']+|[\"']+$", ""));
+
+ eveFalt.evel_nfcnamingcode_set(faultConfig.get("nfcNamingCode").toString());
+ eveFalt.evel_nfnamingcode_set(faultConfig.get("nfNamingCode").toString());
+
+ if(faultConfig.get("reportingEntityName") == null) {
+ eveFalt.evel_reporting_entity_name_set(hostName);
+ }else {
+ eveFalt.evel_reporting_entity_name_set(faultConfig.get("reportingEntityName").toString());
+ }
+
+
+ eveFalt.evel_reporting_entity_id_set(faultConfig.get("reportingEntityId").toString());
+ eveFalt.evel_nfVendorName_set(faultConfig.get("nfVendorName").toString());
+ eveFalt.evel_header_set_sourceid(true,faultConfig.get("sourceId").toString());
+
+ if(faultConfig.get("sourceName") == null) {
+ eveFalt.evel_header_set_source_name(hostName);
+ }else {
+ eveFalt.evel_header_set_source_name(faultConfig.get("sourceName").toString());
+ }
+
+ eveFalt.evel_timeZoneOffset_set(faultConfig.get("timeZoneOffset").toString());
+ AgentMain.evel_post_event(eveFalt);
+ }
+
+ }
+
+ }else if(ins02Cmd > Integer.parseInt((String)falutMetric.get("Instanceres02Cmd").getInstanceres02Command())) {
+
+
+ event_id2 = event_id1+ event_id+(gm_event_id++);
+ EvelFault eveFalt = new EvelFault(Instance02eventName,event_id2, ins02alarmConditionClear, ins02specificProblemClear,
+ EvelHeader.PRIORITIES.EVEL_PRIORITY_LOW,
+ EVEL_SEVERITIES.EVEL_SEVERITY_NORMAL,
+ EVEL_SOURCE_TYPES.EVEL_SOURCE_VIRTUAL_MACHINE,
+ EVEL_VF_STATUSES.EVEL_VF_STATUS_IDLE);
+
+
+
+ if(eveFalt != null) {
+ falut_raised =1;
+
+ if( faultConfig.get("eventType")!=null) {
+ eveFalt.evel_fault_type_set(faultConfig.get("eventType"));
+ eveFalt.evel_fault_category_set(Instance02eventCategory);
+ eveFalt.evel_fault_interface_set(Instance02alarmInterfaceA.replaceAll("^[\"']+|[\"']+$", ""));
+
+ eveFalt.evel_nfcnamingcode_set(faultConfig.get("nfcNamingCode").toString());
+ eveFalt.evel_nfnamingcode_set(faultConfig.get("nfNamingCode").toString());
+
+ if(faultConfig.get("reportingEntityName") == null) {
+ eveFalt.evel_reporting_entity_name_set(hostName);
+ }else {
+ eveFalt.evel_reporting_entity_name_set(faultConfig.get("reportingEntityName").toString());
+ }
+
+
+ eveFalt.evel_reporting_entity_id_set(faultConfig.get("reportingEntityId").toString());
+ eveFalt.evel_nfVendorName_set(faultConfig.get("nfVendorName").toString());
+ eveFalt.evel_header_set_sourceid(true,faultConfig.get("sourceId").toString());
+
+ if(faultConfig.get("sourceName") == null) {
+ eveFalt.evel_header_set_source_name(hostName);
+ }else {
+ eveFalt.evel_header_set_source_name(faultConfig.get("sourceName").toString());
+ }
+
+
+ eveFalt.evel_timeZoneOffset_set(faultConfig.get("timeZoneOffset").toString());
+ AgentMain.evel_post_event(eveFalt);
+
+ }
+
+ }
+
+
+
+ }
+
+
+ try {
+ String Ins02Interval="";
+ long milliseconds = 60000;
+ if(faultInstanceres02.get("tmp_faultCheckInterval") == null) {
+ Ins02Interval = Long.toString(milliseconds);
+ }else {
+ Ins02Interval = faultInstanceres02.get("tmp_faultCheckInterval");
+ }
+ Thread.sleep(Integer.parseInt(Ins02Interval));
+ }catch(Exception e) {
+
+ }
+
+ }catch (Exception e) {
+
+ }
+
+
+ }
+ }
+ };
+
+ }
+ private final static char[] hexArray = "0123456789ABCDEF".toCharArray();
+ private static String bytesToHex(byte[] bytes) {
+ char[] hexChars = new char[bytes.length * 2];
+ for ( int j = 0; j < bytes.length; j++ ) {
+ int v = bytes[j] & 0xFF;
+ hexChars[j * 2] = hexArray[v >>> 4];
+ hexChars[j * 2 + 1] = hexArray[v & 0x0F];
+ }
+ return new String(hexChars);
+ }
+ public static String hostName() {
+ String hostname = "Unknown";
+ String uuid = "Unknown";
+ try
+ {
+ InetAddress addr;
+ addr = InetAddress.getLocalHost();
+ hostname = addr.getHostName();
+ }
+ catch (UnknownHostException ex)
+ {
+
+ }
+ try{
+ Enumeration<NetworkInterface> networks =
+ NetworkInterface.getNetworkInterfaces();
+ while(networks.hasMoreElements()) {
+ NetworkInterface network = networks.nextElement();
+ byte[] mac = network.getHardwareAddress();
+
+ if(hostname.equalsIgnoreCase("unknown"))
+ {
+ Enumeration inetAddrs = network.getInetAddresses();
+ while(inetAddrs.hasMoreElements()){
+ InetAddress inetAddr = (InetAddress) inetAddrs.nextElement();
+ if (!inetAddr.isLoopbackAddress()) {
+ hostname = inetAddr.getHostAddress();
+ break;
+ }
+ }
+ }
+ if (mac != null) {
+ uuid = bytesToHex(mac);
+ }
+ }
+ } catch (SocketException e) {
+ // TODO Auto-generated catch block
+
+ }
+
+ return hostname;
+ }
+
+
+
+ public static HashMap<String, String> readFalutConfig() throws IOException, ParseException {
+
+ System.out.println("readFalutConfig calling out lo:");
+
+ List<String> list = new ArrayList<String>();
+ JSONParser jsonParser = new JSONParser();
+ try {
+
+ FileReader reader = new FileReader("./src/main/java/evel_javalibrary/att/com/loadbalance/flt_config.json");
+ JSONObject obj = (JSONObject) jsonParser.parse(reader);
+ Map.Entry directPair = null;
+ String directObject ="";
+ String[] directres;
+ Map directParameters = ((Map)obj.get("tmp_directParameters"));
+ Iterator<Map.Entry> itr1 = directParameters.entrySet().iterator();
+ while (itr1.hasNext()) {
+ directPair = itr1.next();
+ directObject=String.valueOf(directPair);
+ directres = directObject.split("=");
+ faultConfig.put(directres[0], directres[1]);
+ }
+ JSONArray arrJson = (JSONArray) directParameters.get("tmp_device");
+ resDevice = new String[arrJson.size()];
+ for(int i = 0; i < arrJson.size(); i++)
+ resDevice[i] = (String) arrJson.get(i);
+
+
+ //tmp_indirectParameters
+ Map.Entry indirectPair = null;
+ String indirectObject ="";
+ String[] indirectres;
+ Map indirectParameters = ((Map)obj.get("tmp_indirectParameters"));
+ Iterator<Map.Entry> itr2 = indirectParameters.entrySet().iterator();
+ while (itr2.hasNext()) {
+ indirectPair = itr2.next();
+ indirectObject=String.valueOf(indirectPair);
+ indirectres = indirectObject.split("=");
+ faultConfig.put(indirectres[0], indirectres[1]);
+ }
+
+
+ //tmp_faultInstance01
+ Map.Entry faultInstancePair = null;
+ String faultInstanceObject ="";
+ String[] faultInstanceres;
+ Map faultInstanceParameters = ((Map)indirectParameters.get("tmp_faultInstance01"));
+ Iterator<Map.Entry> itr3 = faultInstanceParameters.entrySet().iterator();
+ while (itr3.hasNext()) {
+ faultInstancePair = itr3.next();
+ faultInstanceObject=String.valueOf(faultInstancePair);
+ faultInstanceres = faultInstanceObject.split("=");
+ faultInstanceres01.put(faultInstanceres[0], faultInstanceres[1]);
+ }
+
+
+ eventCategory = faultInstanceres01.get("eventCategory").toString();
+ eventSourceType = faultInstanceres01.get("eventSourceType").toString();
+ //tmp_init
+ Map.Entry tempInitPair = null;
+ String tempInitObject ="";
+ Map tempInitParameters = ((Map)faultInstanceParameters.get("tmp_init"));
+ Iterator<Map.Entry> itr4 = tempInitParameters.entrySet().iterator();
+ while (itr4.hasNext()) {
+ tempInitPair = itr4.next();
+ tempInitObject=String.valueOf(tempInitPair);
+ tempInitres = tempInitObject.split("=");
+ faultConfigTempInit.put(tempInitres[0], tempInitres[1]);
+ }
+
+ String tmp_t0BytesOut = faultConfigTempInit.get("tmp_init");
+
+
+
+ //tmp_command
+ Map.Entry tempcommandPair = null;
+ String tempcommandObject ="";
+ Map tempcommandParameters = ((Map)faultInstanceParameters.get("tmp_command"));
+ Iterator<Map.Entry> itr5 = tempcommandParameters.entrySet().iterator();
+ while (itr5.hasNext()) {
+ tempcommandPair = itr5.next();
+ tempcommandObject=String.valueOf(tempcommandPair);
+ tempcommandres = tempcommandObject.split("=");
+ faultConfigCommand.put(tempcommandres[0], tempcommandres[1]);
+ }
+
+ //tmp_alarmSetParameters
+ Map.Entry alarmSetPair = null;
+ String alarmSetObject ="";
+ String[] alarmSetres;
+ Map alarmSetParameters = ((Map)faultInstanceParameters.get("tmp_alarmSetParameters"));
+ Iterator<Map.Entry> itr6 = alarmSetParameters.entrySet().iterator();
+ while (itr6.hasNext()) {
+ alarmSetPair = itr6.next();
+ alarmSetObject=String.valueOf(alarmSetPair);
+ alarmSetres = alarmSetObject.split("=");
+ faultConfig.put(alarmSetres[0], alarmSetres[1]);
+ }
+
+
+ alarmCondition = faultConfig.get("alarmCondition").toString();
+ specificProblem = faultConfig.get("specificProblem").toString();
+ eventSeverity = faultConfig.get("eventSeverity").toString();
+
+ //tmp_alarmClearParameters
+ Map.Entry alarmClearPair = null;
+ String alarmClearObject ="";
+ String[] alarmClearres;
+ Map alarmClearParameters = ((Map)faultInstanceParameters.get("tmp_alarmClearParameters"));
+ Iterator<Map.Entry> itr7 = alarmClearParameters.entrySet().iterator();
+ while (itr7.hasNext()) {
+ alarmClearPair = itr7.next();
+ alarmClearObject=String.valueOf(alarmClearPair);
+ alarmClearres = alarmClearObject.split("=");
+ tempAlaramClearParameter.put(alarmClearres[0], alarmClearres[1]);
+ }
+
+ alarmConditionClear = tempAlaramClearParameter.get("alarmCondition").toString();
+ specificProblemClear = tempAlaramClearParameter.get("specificProblem").toString();
+ eventSeverityClear = tempAlaramClearParameter.get("eventSeverity").toString();
+ System.out.println("specificProblemClear data:"+ specificProblemClear);
+
+ //tmp_faultInstance02
+ Map.Entry faultInstance02Pair = null;
+ String faultInstance02Object ="";
+ String[] faultInstance02res;
+ Map faultInstance02Parameters = ((Map)indirectParameters.get("tmp_faultInstance02"));
+ Iterator<Map.Entry> itr8 = faultInstance02Parameters.entrySet().iterator();
+ while (itr8.hasNext()) {
+ faultInstance02Pair = itr8.next();
+ faultInstance02Object=String.valueOf(faultInstance02Pair);
+ faultInstance02res = faultInstance02Object.split("=");
+ faultInstanceres02.put(faultInstance02res[0], faultInstance02res[1]);
+ }
+ Instance02alarmInterfaceA = faultInstanceres02.get("alarmInterfaceA");
+ Instance02eventCategory = faultInstanceres02.get("eventCategory");
+ Instance02eventSourceType = faultInstanceres02.get("eventSourceType");
+ Instance02eventName = faultInstanceres02.get("eventName");
+
+ //tmp_command
+ Map.Entry tempcommand02Pair = null;
+ String tempcommand02Object ="";
+ Map tempcommand02Parameters = ((Map)faultInstance02Parameters.get("tmp_command"));
+ Iterator<Map.Entry> itr9 = tempcommand02Parameters.entrySet().iterator();
+ while (itr9.hasNext()) {
+ tempcommand02Pair = itr9.next();
+ tempcommand02Object=String.valueOf(tempcommand02Pair);
+ tempcommand02res = tempcommand02Object.split("=");
+ faultInstanceres02.put(tempcommand02res[0], tempcommand02res[1]);
+ }
+
+
+
+ //tmp_alarmSetParameters
+ Map.Entry Instance02alarmSetPair = null;
+ String Instance02alarmSetObject ="";
+ String[] Instance02alarmSetres;
+ Map Instance02alarmSetParameters = ((Map)faultInstance02Parameters.get("tmp_alarmSetParameters"));
+ Iterator<Map.Entry> itr10 = Instance02alarmSetParameters.entrySet().iterator();
+ while (itr10.hasNext()) {
+ Instance02alarmSetPair = itr10.next();
+ Instance02alarmSetObject=String.valueOf(Instance02alarmSetPair);
+ Instance02alarmSetres = Instance02alarmSetObject.split("=");
+ faultInstanceres02.put(Instance02alarmSetres[0], Instance02alarmSetres[1]);
+ }
+
+
+ setAlarmCondition = faultInstanceres02.get("alarmCondition").toString();
+ setSpecificProblem = faultInstanceres02.get("specificProblem").toString();
+ setEventSeverity = faultInstanceres02.get("eventSeverity").toString();
+
+ //tmp_alarmClearParameters
+ Map.Entry Instanceres02alarmClearPair = null;
+ String Instanceres02alarmClearObject ="";
+ String[] Instanceres02alarmClearres;
+ Map Instanceres02alarmClearParameters = ((Map)faultInstance02Parameters.get("tmp_alarmClearParameters"));
+ Iterator<Map.Entry> itr11 = Instanceres02alarmClearParameters.entrySet().iterator();
+ while (itr11.hasNext()) {
+ Instanceres02alarmClearPair = itr11.next();
+ Instanceres02alarmClearObject=String.valueOf(Instanceres02alarmClearPair);
+ Instanceres02alarmClearres = Instanceres02alarmClearObject.split("=");
+ Instanceres02ClearParameter.put(Instanceres02alarmClearres[0], Instanceres02alarmClearres[1]);
+ }
+
+ ins02alarmConditionClear = Instanceres02ClearParameter.get("alarmCondition").toString();
+ ins02specificProblemClear = Instanceres02ClearParameter.get("specificProblem").toString();
+ ins02eventSeverityClear = Instanceres02ClearParameter.get("eventSeverity").toString();
+
+
+
+
+ } catch (ClassCastException ex) {
+ ex.printStackTrace();
+ }
+ return faultConfig;
+ }
+
+
+
+
+ public static HashMap<String, String> readFalutConfig1() throws IOException, ParseException {
+ List<String> list = new ArrayList<String>();
+ JSONParser jsonParser = new JSONParser();
+ try {
+
+ FileReader reader = new FileReader("./src/main/java/evel_javalibrary/att/com/loadbalance/flt_config.json");
+ JSONObject obj = (JSONObject) jsonParser.parse(reader);
+ Map.Entry directPair = null;
+ String directObject ="";
+ String[] directres;
+ Map directParameters = ((Map)obj.get("tmp_directParameters"));
+ Iterator<Map.Entry> itr1 = directParameters.entrySet().iterator();
+ while (itr1.hasNext()) {
+ directPair = itr1.next();
+ directObject=String.valueOf(directPair);
+ directres = directObject.split("=");
+ faultConfig.put(directres[0], directres[1]);
+ }
+ JSONArray arrJson = (JSONArray) directParameters.get("tmp_device");
+ resDevice = new String[arrJson.size()];
+ for(int i = 0; i < arrJson.size(); i++)
+ resDevice[i] = (String) arrJson.get(i);
+
+
+ //tmp_indirectParameters
+ Map.Entry indirectPair = null;
+ String indirectObject ="";
+ String[] indirectres;
+ Map indirectParameters = ((Map)obj.get("tmp_indirectParameters"));
+ Iterator<Map.Entry> itr2 = indirectParameters.entrySet().iterator();
+ while (itr2.hasNext()) {
+ indirectPair = itr2.next();
+ indirectObject=String.valueOf(indirectPair);
+ indirectres = indirectObject.split("=");
+ faultConfig.put(indirectres[0], indirectres[1]);
+ }
+
+
+ //tmp_faultInstance01
+ Map.Entry faultInstancePair = null;
+ String faultInstanceObject ="";
+ String[] faultInstanceres;
+ Map faultInstanceParameters = ((Map)indirectParameters.get("tmp_faultInstance01"));
+ Iterator<Map.Entry> itr3 = faultInstanceParameters.entrySet().iterator();
+ while (itr3.hasNext()) {
+ faultInstancePair = itr3.next();
+ faultInstanceObject=String.valueOf(faultInstancePair);
+ faultInstanceres = faultInstanceObject.split("=");
+ faultInstanceres01.put(faultInstanceres[0], faultInstanceres[1]);
+ }
+
+
+ eventCategory = faultInstanceres01.get("eventCategory").toString();
+ eventSourceType = faultInstanceres01.get("eventSourceType").toString();
+ //tmp_init
+ Map.Entry tempInitPair = null;
+ String tempInitObject ="";
+ Map tempInitParameters = ((Map)faultInstanceParameters.get("tmp_init"));
+ Iterator<Map.Entry> itr4 = tempInitParameters.entrySet().iterator();
+ while (itr4.hasNext()) {
+ tempInitPair = itr4.next();
+ tempInitObject=String.valueOf(tempInitPair);
+ tempInitres = tempInitObject.split("=");
+ faultConfigTempInit.put(tempInitres[0], tempInitres[1]);
+ }
+
+ String tmp_t0BytesOut = faultConfigTempInit.get("tmp_init");
+
+
+
+ //tmp_command
+ Map.Entry tempcommandPair = null;
+ String tempcommandObject ="";
+ Map tempcommandParameters = ((Map)faultInstanceParameters.get("tmp_command"));
+ Iterator<Map.Entry> itr5 = tempcommandParameters.entrySet().iterator();
+ while (itr5.hasNext()) {
+ tempcommandPair = itr5.next();
+ tempcommandObject=String.valueOf(tempcommandPair);
+ tempcommandres = tempcommandObject.split("=");
+ faultConfig.put(tempcommandres[0], tempcommandres[1]);
+ }
+
+ //tmp_alarmSetParameters
+ Map.Entry alarmSetPair = null;
+ String alarmSetObject ="";
+ String[] alarmSetres;
+ Map alarmSetParameters = ((Map)faultInstanceParameters.get("tmp_alarmSetParameters"));
+ Iterator<Map.Entry> itr6 = alarmSetParameters.entrySet().iterator();
+ while (itr6.hasNext()) {
+ alarmSetPair = itr6.next();
+ alarmSetObject=String.valueOf(alarmSetPair);
+ alarmSetres = alarmSetObject.split("=");
+ faultConfig.put(alarmSetres[0], alarmSetres[1]);
+ }
+
+
+ alarmCondition = faultConfig.get("alarmCondition").toString();
+ specificProblem = faultConfig.get("specificProblem").toString();
+ eventSeverity = faultConfig.get("eventSeverity").toString();
+
+ //tmp_alarmClearParameters
+ Map.Entry alarmClearPair = null;
+ String alarmClearObject ="";
+ String[] alarmClearres;
+ Map alarmClearParameters = ((Map)faultInstanceParameters.get("tmp_alarmClearParameters"));
+ Iterator<Map.Entry> itr7 = alarmClearParameters.entrySet().iterator();
+ while (itr7.hasNext()) {
+ alarmClearPair = itr7.next();
+ alarmClearObject=String.valueOf(alarmClearPair);
+ alarmClearres = alarmClearObject.split("=");
+ tempAlaramClearParameter.put(alarmClearres[0], alarmClearres[1]);
+ }
+
+ alarmConditionClear = tempAlaramClearParameter.get("alarmCondition").toString();
+ specificProblemClear = tempAlaramClearParameter.get("specificProblem").toString();
+ eventSeverityClear = tempAlaramClearParameter.get("eventSeverity").toString();
+
+
+ //tmp_faultInstance02
+ Map.Entry faultInstance02Pair = null;
+ String faultInstance02Object ="";
+ String[] faultInstance02res;
+ Map faultInstance02Parameters = ((Map)indirectParameters.get("tmp_faultInstance02"));
+ Iterator<Map.Entry> itr8 = faultInstance02Parameters.entrySet().iterator();
+ while (itr8.hasNext()) {
+ faultInstance02Pair = itr8.next();
+ faultInstance02Object=String.valueOf(faultInstance02Pair);
+ faultInstance02res = faultInstance02Object.split("=");
+ faultInstanceres02.put(faultInstance02res[0], faultInstance02res[1]);
+ }
+ Instance02alarmInterfaceA = faultInstanceres02.get("alarmInterfaceA");
+ Instance02eventCategory = faultInstanceres02.get("eventCategory");
+ Instance02eventSourceType = faultInstanceres02.get("eventSourceType");
+ Instance02eventName = faultInstanceres02.get("eventName");
+
+ //tmp_command
+ Map.Entry tempcommand02Pair = null;
+ String tempcommand02Object ="";
+ Map tempcommand02Parameters = ((Map)faultInstance02Parameters.get("tmp_command"));
+ Iterator<Map.Entry> itr9 = tempcommand02Parameters.entrySet().iterator();
+ while (itr9.hasNext()) {
+ tempcommand02Pair = itr9.next();
+ tempcommand02Object=String.valueOf(tempcommand02Pair);
+ tempcommand02res = tempcommand02Object.split("=");
+ faultInstanceres02.put(tempcommand02res[0], tempcommand02res[1]);
+ }
+
+
+
+ //tmp_alarmSetParameters
+ Map.Entry Instance02alarmSetPair = null;
+ String Instance02alarmSetObject ="";
+ String[] Instance02alarmSetres;
+ Map Instance02alarmSetParameters = ((Map)faultInstance02Parameters.get("tmp_alarmSetParameters"));
+ Iterator<Map.Entry> itr10 = Instance02alarmSetParameters.entrySet().iterator();
+ while (itr10.hasNext()) {
+ Instance02alarmSetPair = itr10.next();
+ Instance02alarmSetObject=String.valueOf(Instance02alarmSetPair);
+ Instance02alarmSetres = Instance02alarmSetObject.split("=");
+ faultInstanceres02.put(Instance02alarmSetres[0], Instance02alarmSetres[1]);
+ }
+
+
+ setAlarmCondition = faultInstanceres02.get("alarmCondition").toString();
+ setSpecificProblem = faultInstanceres02.get("specificProblem").toString();
+ setEventSeverity = faultInstanceres02.get("eventSeverity").toString();
+
+ //tmp_alarmClearParameters
+ Map.Entry Instanceres02alarmClearPair = null;
+ String Instanceres02alarmClearObject ="";
+ String[] Instanceres02alarmClearres;
+ Map Instanceres02alarmClearParameters = ((Map)faultInstance02Parameters.get("tmp_alarmClearParameters"));
+ Iterator<Map.Entry> itr11 = Instanceres02alarmClearParameters.entrySet().iterator();
+ while (itr11.hasNext()) {
+ Instanceres02alarmClearPair = itr11.next();
+ Instanceres02alarmClearObject=String.valueOf(Instanceres02alarmClearPair);
+ Instanceres02alarmClearres = Instanceres02alarmClearObject.split("=");
+ Instanceres02ClearParameter.put(Instanceres02alarmClearres[0], Instanceres02alarmClearres[1]);
+ }
+
+ ins02alarmConditionClear = Instanceres02ClearParameter.get("alarmCondition").toString();
+ ins02specificProblemClear = Instanceres02ClearParameter.get("specificProblem").toString();
+ ins02eventSeverityClear = Instanceres02ClearParameter.get("eventSeverity").toString();
+
+
+
+
+ } catch (ClassCastException ex) {
+ ex.printStackTrace();
+ }
+ return faultConfig;
+ }
+
+
+ public static HashMap<String, DeviceData> readVppMetrics(String[] linkStart) {
+
+ //t0
+ String Bytesin = faultConfigTempInit.get("tmp_t0BytesIn");
+ String BytesOut = faultConfigTempInit.get("tmp_t0BytesOut").toString();
+ String PacketsIn = faultConfigTempInit.get("tmp_t0PacketsIn");
+ String PacketsOut = faultConfigTempInit.get("tmp_t0PacketsOut");
+
+
+ //t1
+ String t1BytesIn = faultConfigCommand.get("tmp_t1BytesIn");
+ String t1BytesOut = faultConfigCommand.get("tmp_t1BytesOut").toString();
+ String t1PacketsIn = faultConfigCommand.get("tmp_t1PacketsIn");
+ String t1PacketsOut = faultConfigCommand.get("tmp_t1PacketsOut");
+
+
+
+
+ String echoFalut = faultInstanceres02.get("tmp_cmd1");
+ HashMap<String, DeviceData> vppMetrics = new HashMap<>();
+
+ for(int i=0;i<linkStart.length;i++) {
+ String device = linkStart[i];
+
+
+ //t0
+ String replaceBytesin ="";
+ if(Bytesin.contains("$tmp_device")) {
+ String repString = Bytesin.replace("$tmp_device", device.trim());
+ replaceBytesin = repString.replace("sudo", "/bin/sh,-c,");
+ }
+ String[] bytesinArray= replaceBytesin.split(",");
+
+
+ String replaceBytesOut ="";
+ if(BytesOut.contains("$tmp_device")) {
+ String repString = BytesOut.replace("$tmp_device", device.trim());
+ replaceBytesOut = repString.replace("sudo", "/bin/sh,-c,");
+ }
+ String[] bytesoutArray = replaceBytesOut.split(",");
+
+
+ String replacePacketsIn ="";
+ if(PacketsIn.contains("$tmp_device")) {
+ String repString = PacketsIn.replace("$tmp_device", device.trim());
+ replacePacketsIn = repString.replace("sudo", "/bin/sh,-c,");
+ }
+ String[] packetsInArray= replacePacketsIn.split(",");
+
+ String replacePacketsOut ="";
+ if(PacketsOut.contains("$tmp_device")) {
+ String repString = PacketsOut.replace("$tmp_device", device.trim());
+ replacePacketsOut = repString.replace("sudo", "/bin/sh,-c,");
+ }
+ String[] packetsOutArray= replacePacketsOut.split(",");
+
+
+
+ //t1
+ String replacet1Bytesin ="";
+ if(t1BytesIn.contains("$tmp_device")) {
+ String repString = t1BytesIn.replace("$tmp_device", device.trim());
+ replacet1Bytesin = repString.replace("sudo", "/bin/sh,-c,");
+ }
+ String[] t1BytesinArray= replacet1Bytesin.split(",");
+
+ String replacet1BytesOut ="";
+ if(t1BytesOut.contains("$tmp_device")) {
+ String repString = t1BytesOut.replace("$tmp_device", device.trim());
+ replacet1BytesOut = repString.replace("sudo", "/bin/sh,-c,");
+ }
+ String[] t1BytesoutArray = replacet1BytesOut.split(",");
+
+ String replacet1PacketsIn ="";
+ if(t1PacketsIn.contains("$tmp_device")) {
+ String repString = t1PacketsIn.replace("$tmp_device", device.trim());
+ replacet1PacketsIn = repString.replace("sudo", "/bin/sh,-c,");
+ }
+ String[] t1PacketsInArray= replacet1PacketsIn.split(",");
+
+ String replacet1PacketsOut ="";
+ if(t1PacketsOut.contains("$tmp_device")) {
+ String repString = t1PacketsOut.replace("$tmp_device", device.trim());
+ replacet1PacketsOut = repString.replace("sudo", "/bin/sh,-c,");
+
+ }
+ String[] t1PacketsOutArray= replacet1PacketsOut.split(",");
+
+ try {
+ //t0
+ Runtime rt1 = Runtime.getRuntime();
+ Process bytesinchild = rt1.exec(bytesinArray);
+ BufferedReader readerBytesin = new BufferedReader(new InputStreamReader(
+ bytesinchild.getInputStream()));
+ String readMetrics= readerBytesin.readLine();
+
+
+ Runtime rt2 = Runtime.getRuntime();
+ Process bytesoutchild = rt2.exec(bytesoutArray);
+ BufferedReader readerBytesout = new BufferedReader(new InputStreamReader(
+ bytesoutchild.getInputStream()));
+ String readMetrics1= readerBytesout.readLine();
+
+ Runtime rt3 = Runtime.getRuntime();
+ Process packetsInchild = rt3.exec(packetsInArray);
+ BufferedReader readerPacketsIn = new BufferedReader(new InputStreamReader(
+ packetsInchild.getInputStream()));
+ String readMetrics2= readerPacketsIn.readLine();
+
+ Runtime rt4 = Runtime.getRuntime();
+ Process packetsOutchild = rt4.exec(packetsOutArray);
+ BufferedReader readerpacketsOut = new BufferedReader(new InputStreamReader(
+ packetsOutchild.getInputStream()));
+ String readMetrics3= readerpacketsOut.readLine();
+
+ Runtime rt5 = Runtime.getRuntime();
+ Process echoFaultchild = rt5.exec(echoFalut);
+ BufferedReader readerechoFault = new BufferedReader(new InputStreamReader(
+ echoFaultchild.getInputStream()));
+ String echoFaultMetric= readerechoFault.readLine();
+ DeviceData mddata = new DeviceData();
+
+
+ //t1_Commands run
+
+ Runtime rt6 = Runtime.getRuntime();
+ Process t1bytesinchild = rt6.exec(t1BytesinArray);
+ BufferedReader readert1Bytesin = new BufferedReader(new InputStreamReader(
+ t1bytesinchild.getInputStream()));
+ String readMetrics5= readert1Bytesin.readLine();
+
+
+
+ Runtime rt7 = Runtime.getRuntime();
+ Process t1bytesoutchild = rt7.exec(t1BytesoutArray);
+ BufferedReader readert1Bytesout = new BufferedReader(new InputStreamReader(
+ t1bytesoutchild.getInputStream()));
+ String readMetrics6= readert1Bytesout.readLine();
+
+ Runtime rt8 = Runtime.getRuntime();
+ Process t1packetsInchild = rt8.exec(t1PacketsInArray);
+ BufferedReader readert1PacketsIn = new BufferedReader(new InputStreamReader(
+ t1packetsInchild.getInputStream()));
+ String readMetrics7= readert1PacketsIn.readLine();
+
+
+ Runtime rt9 = Runtime.getRuntime();
+ Process t1packetsOutchild = rt9.exec(t1PacketsOutArray);
+ BufferedReader readert1packetsOut = new BufferedReader(new InputStreamReader(
+ t1packetsOutchild.getInputStream()));
+ String readMetrics8= readert1packetsOut.readLine();
+
+
+ mddata.setT0bytesIn(readMetrics);
+ mddata.setT0bytesOut(readMetrics1);
+ mddata.setT0packetIn(readMetrics2);
+ mddata.setT0packetOut(readMetrics3);
+
+ mddata.setT1Bytesin(readMetrics5);
+ mddata.setT1Bytesout(readMetrics6);
+ mddata.setT1Packetsin(readMetrics7);
+ mddata.setT1Packetsout(readMetrics8);
+
+
+ mddata.setInstanceres02Command(echoFaultMetric);
+
+ vppMetrics.put("Instanceres02Cmd", mddata);
+
+ if(device.equals("enp0s3")) {
+ vppMetrics.put("enp0s3", mddata);
+ }else if(device.equals("lo")) {
+ vppMetrics.put("lo", mddata);
+ }else if(device.equals("docker0")) {
+ vppMetrics.put("docker0", mddata);
+ }
+
+ }catch (Exception e) {
+
+ }
+ }
+ return vppMetrics;
+ }
+
+
+
+ public static HashMap<String, DeviceData> readVppMetrics1(String[] linkStart) {
+ String Bytesin = faultConfigTempInit.get("tmp_t0BytesIn");
+ String BytesOut = faultConfigTempInit.get("tmp_t0BytesOut").toString();
+ String PacketsIn = faultConfigTempInit.get("tmp_t0PacketsIn");
+ String PacketsOut = faultConfigTempInit.get("tmp_t0PacketsOut");
+
+ String echoFalut = faultInstanceres02.get("tmp_cmd1");
+ HashMap<String, DeviceData> vppMetrics = new HashMap<>();
+
+ for(int i=0;i<linkStart.length;i++) {
+ String device = linkStart[i];
+ String replaceBytesin ="";
+ if(Bytesin.contains("$tmp_device")) {
+ String repString = Bytesin.replace("$tmp_device", device.trim());
+ replaceBytesin = repString.replace("sudo", "/bin/sh,-c,");
+
+ }
+
+ String[] bytesinArray= replaceBytesin.split(",");
+
+
+ String replaceBytesOut ="";
+ if(BytesOut.contains("$tmp_device")) {
+ String repString = BytesOut.replace("$tmp_device", device.trim());
+ replaceBytesOut = repString.replace("sudo", "/bin/sh,-c,");
+ }
+
+ String[] bytesoutArray = replaceBytesOut.split(",");
+
+
+
+
+ String replacePacketsIn ="";
+ if(PacketsIn.contains("$tmp_device")) {
+ String repString = PacketsIn.replace("$tmp_device", device.trim());
+ replacePacketsIn = repString.replace("sudo", "/bin/sh,-c,");
+
+ }
+ String[] packetsInArray= replacePacketsIn.split(",");
+
+
+ String replacePacketsOut ="";
+ if(PacketsOut.contains("$tmp_device")) {
+ String repString = PacketsOut.replace("$tmp_device", device.trim());
+ replacePacketsOut = repString.replace("sudo", "/bin/sh,-c,");
+
+ }
+ String[] packetsOutArray= replacePacketsOut.split(",");
+ try {
+
+ Runtime rt1 = Runtime.getRuntime();
+ Process bytesinchild = rt1.exec(bytesinArray);
+ BufferedReader readerBytesin = new BufferedReader(new InputStreamReader(
+ bytesinchild.getInputStream()));
+ String readMetrics= readerBytesin.readLine();
+ Runtime rt2 = Runtime.getRuntime();
+ Process bytesoutchild = rt2.exec(bytesoutArray);
+ BufferedReader readerBytesout = new BufferedReader(new InputStreamReader(
+ bytesoutchild.getInputStream()));
+ String readMetrics1= readerBytesout.readLine();
+ Runtime rt3 = Runtime.getRuntime();
+ Process packetsInchild = rt3.exec(packetsInArray);
+ BufferedReader readerPacketsIn = new BufferedReader(new InputStreamReader(
+ packetsInchild.getInputStream()));
+ String readMetrics2= readerPacketsIn.readLine();
+ Runtime rt4 = Runtime.getRuntime();
+ Process packetsOutchild = rt4.exec(packetsOutArray);
+ BufferedReader readerpacketsOut = new BufferedReader(new InputStreamReader(
+ packetsOutchild.getInputStream()));
+ String readMetrics3= readerpacketsOut.readLine();
+ Runtime rt5 = Runtime.getRuntime();
+ Process echoFaultchild = rt5.exec(echoFalut);
+ BufferedReader readerechoFault = new BufferedReader(new InputStreamReader(
+ echoFaultchild.getInputStream()));
+ String echoFaultMetric= readerechoFault.readLine();
+ DeviceData mddata = new DeviceData();
+
+// mddata.setBytesIn(readMetrics);
+// mddata.setBytesOut(readMetrics1);
+// mddata.setPacketIn(readMetrics2);
+// mddata.setPacketOut(readMetrics3);
+
+ mddata.setInstanceres02Command(echoFaultMetric);
+
+ vppMetrics.put("Instanceres02Cmd", mddata);
+
+ if(device.equals("enp0s3")) {
+ vppMetrics.put("enp0s3", mddata);
+ }else if(device.equals("lo")) {
+ vppMetrics.put("lo", mddata);
+ }else if(device.equals("docker0")) {
+ vppMetrics.put("docker0", mddata);
+ }
+ }catch (Exception e) {
+
+ }
+ }
+ return vppMetrics;
+ }
+
+public static void main(String[] args) {
+ // TODO Auto-generated method stub
+
+ try {
+ AgentMain.evel_initialize("http://127.0.0.1",30000,
+ null,null,
+ "will",
+ "pill",
+ null, null, null,
+ "http://127.0.0.1",30001, "will",
+ "pill",
+ Level.TRACE);
+ }catch(Exception e) {
+ e.printStackTrace();
+ return;
+ }
+ FaultData flDataThread = new FaultData();
+ new Thread(flDataThread.faultInstance01).start();
+ new Thread(flDataThread.faultInstance02).start();
+ }
+
+}