合并分支 'zx' 到 'master'
Zx 撰写评论或拖放文件到此处... 查看合并请求 !10
Showing
4 changed files
with
117 additions
and
1 deletions
1 | +package com.sitech.ismp.coll.centercoll.ServerConnectivity; | ||
2 | + | ||
3 | +import java.util.HashMap; | ||
4 | +import java.util.Vector; | ||
5 | + | ||
6 | +public class CollServerConnexity implements CollServerConnexityMBean { | ||
7 | + CollServerConnexityBySsh collServerConnexityBySsh = null; | ||
8 | + | ||
9 | + public CollServerConnexity() { | ||
10 | + collServerConnexityBySsh = new CollServerConnexityBySsh(); | ||
11 | + } | ||
12 | + | ||
13 | + @Override | ||
14 | + public Vector<com.sitech.ismp.coll.basic.TblATO_KPIDETAIL> collServerConnexityIndex(HashMap<String, String> params) throws Exception { | ||
15 | + return collServerConnexityBySsh.getRMANLogReportCol(params); | ||
16 | + } | ||
17 | + | ||
18 | + public static void main(String[] args) throws Exception { | ||
19 | + HashMap<String, String> params = new HashMap<String, String>(); | ||
20 | + | ||
21 | + CollServerConnexity collMQServerConnexity = new CollServerConnexity(); | ||
22 | + | ||
23 | + params.put("IP", args[0]); | ||
24 | + params.put("resourceId", args[1]); | ||
25 | + | ||
26 | + Vector<com.sitech.ismp.coll.basic.TblATO_KPIDETAIL> results = collMQServerConnexity.collServerConnexityIndex(params); | ||
27 | + for(com.sitech.ismp.coll.basic.TblATO_KPIDETAIL res:results) { | ||
28 | + System.out.println(res); | ||
29 | + } | ||
30 | + } | ||
31 | +} |
1 | +package com.sitech.ismp.coll.centercoll.ServerConnectivity; | ||
2 | + | ||
3 | +import java.util.ArrayList; | ||
4 | +import java.util.HashMap; | ||
5 | +import java.util.Vector; | ||
6 | +import java.util.regex.Matcher; | ||
7 | +import java.util.regex.Pattern; | ||
8 | + | ||
9 | +public class CollServerConnexityBySsh { | ||
10 | + private com.sitech.ismp.coll.CollBase collBase = null; //获取封装四元组的Vector | ||
11 | + private com.sitech.ismp.app.coll.RPCTarget rpcTarget = new com.sitech.ismp.app.coll.RPCTarget(); //像被采集机器发送脚本 | ||
12 | + ArrayList<String> connexityResult = null; //保存返回并已解析好的指标 | ||
13 | + | ||
14 | + private String resourceId = null; //指标resourceId | ||
15 | + private String baseMQServerKbp = "10-12-51-12"; //MQ服务器KBP | ||
16 | + private String Connexity = null; //连通性所有指标 | ||
17 | + private String IP = null; //需要检查连通性的ip | ||
18 | + | ||
19 | + //获取MQ服务器的联通性指标 | ||
20 | + private void getRMANColAndContent(HashMap<String, String> params) { | ||
21 | + IP = params.get("IP"); | ||
22 | + Connexity = rpcTarget.getKPIValue("sh linux/getNetConnexity.sh "+IP); | ||
23 | + resourceId = params.get("resourceId"); | ||
24 | + } | ||
25 | + | ||
26 | + public Vector<com.sitech.ismp.coll.basic.TblATO_KPIDETAIL> getRMANLogReportCol(HashMap<String, String> params) { | ||
27 | + collBase = new com.sitech.ismp.coll.CollBase(); //获取封装四元组的Vector | ||
28 | + | ||
29 | + //如果新生成的容器不为空,则将其清空 | ||
30 | + if(!collBase.getKPISet().isEmpty()) { | ||
31 | + collBase.getKPISet().clear(); | ||
32 | + } | ||
33 | + | ||
34 | + connexityResult = new ArrayList<String>(); | ||
35 | + | ||
36 | + getRMANColAndContent(params); | ||
37 | + | ||
38 | + connexityResult = getConnexity(Connexity); | ||
39 | + | ||
40 | + String UNIT_ID = baseMQServerKbp+":"+resourceId+"-"+IP; | ||
41 | + | ||
42 | + collBase.addKPI(UNIT_ID, "CM-58-01-001-01", connexityResult.get(0)); //发包数 | ||
43 | + collBase.addKPI(UNIT_ID, "PM-58-01-001-02", connexityResult.get(1)); //收包数 | ||
44 | + collBase.addKPI(UNIT_ID, "FM-58-01-001-03", connexityResult.get(2)); //丢包率 | ||
45 | + collBase.addKPI(UNIT_ID, "PM-58-01-001-04", connexityResult.get(3)); //发包耗时 | ||
46 | + collBase.addKPI(UNIT_ID, "CM-58-01-001-05", IP); //ip | ||
47 | + | ||
48 | + return collBase.getKPISet(); | ||
49 | + } | ||
50 | + | ||
51 | + public ArrayList<String> getConnexity(String Connexity) { | ||
52 | + ArrayList<String> connexityIndex = new ArrayList<String>(); | ||
53 | + | ||
54 | + String regEx = "\\d+"; //用于提取指标值的正则表达式 | ||
55 | + Pattern pattern = Pattern.compile(regEx); | ||
56 | + Matcher matcher = pattern.matcher(Connexity); //将需要解析的字串与正则关联 | ||
57 | + | ||
58 | + while(matcher.find()) { | ||
59 | + connexityIndex.add(matcher.group()); | ||
60 | + } | ||
61 | + | ||
62 | + if(connexityIndex.size()!=4) { | ||
63 | + int i=3; | ||
64 | + | ||
65 | + for(; i<connexityIndex.size(); i++) { | ||
66 | + connexityIndex.set(i-1,connexityIndex.get(i)); | ||
67 | + | ||
68 | + } | ||
69 | + connexityIndex.remove(i-1); | ||
70 | + } | ||
71 | + | ||
72 | + return connexityIndex; | ||
73 | + } | ||
74 | +} |
1 | +package com.sitech.ismp.coll.centercoll.ServerConnectivity; | ||
2 | + | ||
3 | +import java.util.HashMap; | ||
4 | +import java.util.Vector; | ||
5 | + | ||
6 | +public interface CollServerConnexityMBean { | ||
7 | + /* | ||
8 | + 获取MQ服务器连通性指标 | ||
9 | + */ | ||
10 | + public Vector<com.sitech.ismp.coll.basic.TblATO_KPIDETAIL> collServerConnexityIndex(HashMap<String, String> params) throws Exception; | ||
11 | +} |
-
Please register or login to post a comment