1 package evel_javalibrary.att.com.maindir;
\r
3 /**************************************************************************//**
\r
5 * Sample Test Agent for EVEL library
\r
7 * This file implements the Sample Agent which is intended to provide a
\r
8 * simple wrapper around the complexity of AT&T's Vendor Event Listener API so
\r
9 * that VNFs can use it without worrying about details of the API transport.
\r
10 * It also shows how events can be formatted with data for POST
\r
15 * Licensed under the Apache License, Version 2.0 (the "License");
\r
16 * you may not use this file except in compliance with the License.
\r
17 * You may obtain a copy of the License at
\r
18 * http://www.apache.org/licenses/LICENSE-2.0
\r
20 * Unless required by applicable law or agreed to in writing, software
\r
21 * distributed under the License is distributed on an "AS IS" BASIS,
\r
22 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
\r
23 * See the License for the specific language governing permissions and
\r
24 * limitations under the License.
\r
25 *****************************************************************************/
\r
28 import org.apache.log4j.Logger;
\r
30 import evel_javalibrary.att.com.*;
\r
31 import evel_javalibrary.att.com.AgentMain.EVEL_ERR_CODES;
\r
32 import evel_javalibrary.att.com.EvelFault.EVEL_SEVERITIES;
\r
33 import evel_javalibrary.att.com.EvelFault.EVEL_SOURCE_TYPES;
\r
34 import evel_javalibrary.att.com.EvelFault.EVEL_VF_STATUSES;
\r
35 import evel_javalibrary.att.com.EvelHeader.PRIORITIES;
\r
36 import evel_javalibrary.att.com.EvelMobileFlow.MOBILE_GTP_PER_FLOW_METRICS;
\r
37 import evel_javalibrary.att.com.EvelScalingMeasurement.MEASUREMENT_CPU_USE;
\r
38 import evel_javalibrary.att.com.EvelScalingMeasurement.MEASUREMENT_VNIC_PERFORMANCE;
\r
39 import evel_javalibrary.att.com.EvelStateChange.EVEL_ENTITY_STATE;
\r
40 import evel_javalibrary.att.com.EvelThresholdCross.EVEL_ALERT_TYPE;
\r
41 import evel_javalibrary.att.com.EvelThresholdCross.EVEL_EVENT_ACTION;
\r
43 import org.apache.log4j.Level;
\r
46 import java.text.SimpleDateFormat;
\r
47 import java.time.LocalDateTime;
\r
48 import java.util.Date;
\r
53 public static void main(String[] args)
\r
58 AgentMain.evel_initialize("http://127.0.0.1", 30000,
\r
59 "/vendor_event_listener","/example_vnf",
\r
64 } catch( Exception e )
\r
66 e.printStackTrace();
\r
69 for(int i= 0; i < 20; i++)
\r
71 EvelHeader header = EvelHeader.evel_new_heartbeat("Hearbeat_vAFX","vmname_ip");
\r
72 header.evel_nfnamingcode_set("vVNF");
\r
73 header.evel_nfcnamingcode_set("vVNF");
\r
74 AgentMain.evel_post_event(header);
\r
77 } catch( Exception e )
\r
79 e.printStackTrace();
\r
82 EvelFault flt = new EvelFault("Fault_vVNF", "vmname_ip",
\r
83 "NIC error", "Hardware failed",
\r
84 EvelHeader.PRIORITIES.EVEL_PRIORITY_HIGH,
\r
85 EVEL_SEVERITIES.EVEL_SEVERITY_MAJOR,
\r
86 EVEL_SOURCE_TYPES.EVEL_SOURCE_CARD,
\r
87 EVEL_VF_STATUSES.EVEL_VF_STATUS_ACTIVE);
\r
88 flt.evel_fault_addl_info_add("nichw", "fail");
\r
89 flt.evel_fault_addl_info_add("nicsw", "fail");
\r
90 AgentMain.evel_post_event(flt);
\r
92 EvelStateChange stc = new EvelStateChange("StateChange_vVNF", "vmname_ip",
\r
93 EvelStateChange.EVEL_ENTITY_STATE.EVEL_ENTITY_STATE_IN_SERVICE,
\r
94 EvelStateChange.EVEL_ENTITY_STATE.EVEL_ENTITY_STATE_OUT_OF_SERVICE,"bgp");
\r
95 stc.evel_statechange_addl_info_add("bgpa", "fail");
\r
96 stc.evel_statechange_addl_info_add("bgpb", "fail");
\r
98 AgentMain.evel_post_event(stc);
\r
100 EvelScalingMeasurement sm = new EvelScalingMeasurement(10.0,"Measurements_vVNF", "vmname_ip");
\r
101 sm.evel_nfnamingcode_set("vVNF");
\r
102 sm.evel_nfcnamingcode_set("vVNF");
\r
103 sm.evel_measurement_myerrors_set(10,20,30,40);
\r
104 MEASUREMENT_CPU_USE my1 = sm.evel_measurement_new_cpu_use_add("cpu1", 100.0);
\r
105 my1.idle.SetValue(20.0);
\r
106 my1.sys.SetValue(21.0);
\r
107 MEASUREMENT_CPU_USE my2 = sm.evel_measurement_new_cpu_use_add("cpu2", 10.0);
\r
108 my2.steal.SetValue(34.0);
\r
109 my2.user.SetValue(32.0);
\r
110 sm.evel_measurement_custom_measurement_add("group1","name1","val1");
\r
111 sm.evel_measurement_custom_measurement_add("group1","name2","val2");
\r
112 sm.evel_measurement_custom_measurement_add("group2","name1","val1");
\r
113 sm.evel_measurement_custom_measurement_add("group2","name2","val2");
\r
115 MEASUREMENT_VNIC_PERFORMANCE vnic_p = sm.evel_measurement_new_vnic_performance("vnic1","true");
\r
116 vnic_p.recvd_bcast_packets_acc.SetValue(2400000.0);
\r
117 vnic_p.recvd_mcast_packets_delta.SetValue(5677888.0);
\r
118 vnic_p.recvd_mcast_packets_acc.SetValue(5677888.0);
\r
119 vnic_p.tx_ucast_packets_acc.SetValue(547856576.0);
\r
120 vnic_p.tx_ucast_packets_delta.SetValue(540000.0);
\r
121 sm.evel_meas_vnic_performance_add(vnic_p);
\r
123 AgentMain.evel_post_event(sm);
\r
125 EvelSyslog sysl = new EvelSyslog("Syslog_vVNF", "vmname_ip",
\r
126 EvelFault.EVEL_SOURCE_TYPES.EVEL_SOURCE_ROUTER,
\r
127 "Router failed","JUNIPER");
\r
128 sysl.evel_nfnamingcode_set("vVNF");
\r
129 sysl.evel_nfcnamingcode_set("vVNF");
\r
130 sysl.evel_syslog_proc_id_set(456);
\r
131 sysl.evel_syslog_proc_set("routed");
\r
132 AgentMain.evel_post_event(sysl);
\r
134 EvelHeartbeatField hfld = new EvelHeartbeatField(123,"HeartbeatField_vVNF", "vmname_ip");
\r
135 hfld.evel_hrtbt_interval_set(23);
\r
136 AgentMain.evel_post_event(hfld);
\r
139 EvelSipSignaling sip = new EvelSipSignaling("SipSignaling_vVNF", "vmname_ip","aricent","corlator","127.0.0.1","5647","10.1.1.124","5678");
\r
140 sip.evel_nfnamingcode_set("vVNF");
\r
141 sip.evel_nfcnamingcode_set("vVNF");
\r
142 AgentMain.evel_post_event(sip);
\r
144 EvelVoiceQuality vq = new EvelVoiceQuality("VoiceQuality_vVNF", "vmname_ip",
\r
146 "callerSideCodc", "corlator",
\r
147 "midCllRtcp", "juniper");
\r
148 vq.evel_nfnamingcode_set("vVNF");
\r
149 vq.evel_nfcnamingcode_set("vVNF");
\r
150 vq.evel_voice_quality_end_metrics_set("adjname", "Caller", 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 15.1, 160.12, 170, 180, 190);
\r
151 AgentMain.evel_post_event(vq);
\r
153 EvelOther ev = new EvelOther("MyCustomEvent_vVNF", "vmname_ip");
\r
154 ev.evel_other_field_add("a1", "b1");
\r
155 ev.evel_other_field_add("a1", "b2");
\r
157 /*ev.evel_other_field_add_namedarray("a1", "b1", "c1");
\r
158 ev.evel_other_field_add_namedarray("a1", "b2", "c2");
\r
159 ev.evel_other_field_add_namedarray("a2", "b1", "c1");
\r
160 ev.evel_other_field_add_namedarray("a2", "b1", "c1");*/
\r
161 AgentMain.evel_post_event(ev);
\r
165 String dateStart = "01/14/2012 09:29:58";
\r
166 String dateStop = "01/15/2012 10:31:48";
\r
168 //HH converts hour in 24 hours format (0-23), day calculation
\r
169 SimpleDateFormat format = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss");
\r
175 d1 = format.parse(dateStart);
\r
176 d2 = format.parse(dateStop);
\r
177 }catch (Exception e) {
\r
178 e.printStackTrace();
\r
182 EvelThresholdCross tca = new EvelThresholdCross("ThresholdCross_vVNF", "vmname_ip",
\r
184 "mcast Limit reached",
\r
187 EvelThresholdCross.EVEL_EVENT_ACTION.EVEL_EVENT_ACTION_SET,
\r
188 "Mcast Rx breached",
\r
189 EvelThresholdCross.EVEL_ALERT_TYPE.EVEL_ELEMENT_ANOMALY,
\r
191 EvelThresholdCross.EVEL_SEVERITIES.EVEL_SEVERITY_CRITICAL,
\r
193 tca.evel_nfnamingcode_set("vVNF");
\r
194 tca.evel_nfcnamingcode_set("vVNF");
\r
195 tca.evel_threshold_cross_interfacename_set("ns345");
\r
196 tca.evel_thresholdcross_addl_info_add("n1", "v1");
\r
197 tca.evel_thresholdcross_addl_info_add("n2", "v2");
\r
198 tca.evel_thresholdcross_alertid_add("alert1");
\r
199 tca.evel_thresholdcross_alertid_add("alert2");
\r
201 AgentMain.evel_post_event(tca);
\r
204 EvelMobileFlow mf = new EvelMobileFlow("MobileFlow_vVNF", "vmname_ip",
\r
213 MOBILE_GTP_PER_FLOW_METRICS mygtp = mf.new MOBILE_GTP_PER_FLOW_METRICS(
\r
244 mf.gtp_per_flow_metrics = mygtp;
\r
245 mf.evel_nfnamingcode_set("vVNF");
\r
246 mf.evel_nfcnamingcode_set("vVNF");
\r
247 AgentMain.evel_post_event(mf);
\r