合并分支 'gz_agent_zmm' 到 'master'
宕机监控相关代码 宕机监控相关代码 查看合并请求 !1
Showing
16 changed files
with
1449 additions
and
115 deletions
@@ -59,5 +59,8 @@ | @@ -59,5 +59,8 @@ | ||
59 | <sqlMap resource="com/sitech/topo/db/maps/TbTopoHostProcessListenMap.xml" /> | 59 | <sqlMap resource="com/sitech/topo/db/maps/TbTopoHostProcessListenMap.xml" /> |
60 | <sqlMap resource="com/sitech/topo/db/maps/TbTopoHostProcessMap.xml" /> | 60 | <sqlMap resource="com/sitech/topo/db/maps/TbTopoHostProcessMap.xml" /> |
61 | <sqlMap resource="com/sitech/topo/db/maps/TbTopoHostProcessLinkMap.xml" /> | 61 | <sqlMap resource="com/sitech/topo/db/maps/TbTopoHostProcessLinkMap.xml" /> |
62 | + <sqlMap resource="com/sitech/database/maps/TbTopoPhysicalDeviceMap.xml" /> | ||
63 | + <sqlMap resource="com/sitech/database/maps/DowntimeMap.xml" /> | ||
64 | + <sqlMap resource="com/sitech/database/maps/DowntimeMapHistory.xml" /> | ||
62 | 65 | ||
63 | </sqlMapConfig> | 66 | </sqlMapConfig> |
@@ -31,6 +31,9 @@ CREATE MEMORY TABLE TB_TMP_INTERFACE(IP_ADDR VARCHAR(64),IF_INDEX VARCHAR(32),IF | @@ -31,6 +31,9 @@ CREATE MEMORY TABLE TB_TMP_INTERFACE(IP_ADDR VARCHAR(64),IF_INDEX VARCHAR(32),IF | ||
31 | CREATE MEMORY TABLE TB_CFG_SNMP_PRI_KPI_CONVERT(KPI_ID VARCHAR(20) NOT NULL,SYS_OBJECT_ID VARCHAR(512) NOT NULL,EXPRESSION VARCHAR(128) NOT NULL) | 31 | CREATE MEMORY TABLE TB_CFG_SNMP_PRI_KPI_CONVERT(KPI_ID VARCHAR(20) NOT NULL,SYS_OBJECT_ID VARCHAR(512) NOT NULL,EXPRESSION VARCHAR(128) NOT NULL) |
32 | CREATE MEMORY TABLE TB_CFG_SNMP_PRI_OID(SYS_OBJECT_ID VARCHAR(512),NAME VARCHAR(32),OID VARCHAR(512)) | 32 | CREATE MEMORY TABLE TB_CFG_SNMP_PRI_OID(SYS_OBJECT_ID VARCHAR(512),NAME VARCHAR(32),OID VARCHAR(512)) |
33 | CREATE MEMORY TABLE TB_CFG_OID_MIB(GUID VARCHAR(37) NOT NULL PRIMARY KEY,KPI_ID VARCHAR(20) NOT NULL,UNIT_ID VARCHAR(255),OID VARCHAR(100)) | 33 | CREATE MEMORY TABLE TB_CFG_OID_MIB(GUID VARCHAR(37) NOT NULL PRIMARY KEY,KPI_ID VARCHAR(20) NOT NULL,UNIT_ID VARCHAR(255),OID VARCHAR(100)) |
34 | +CREATE MEMORY TABLE TB_TOPO_PHYSICAL_DEVICE(DEVICE_ID VARCHAR(50),DEVICE_IP VARCHAR(30),DEVICE_ALIAS VARCHAR(100),DEVICE_CATALOG VARCHAR(100),DEVICE_CNAME VARCHAR(100),KBP_CLASS VARCHAR(100),DEVICE_DESC VARCHAR(500),DEVICE_ROOM VARCHAR(100),DEVICE_RACK VARCHAR(100),CREATE_DATE TIMESTAMP) | ||
35 | +CREATE MEMORY TABLE TB_DOWNTIME_HOST(DEVICE_ID VARCHAR(50),DEVICE_IP VARCHAR(30),DEVICE_ALIAS VARCHAR(100),KBP_CLASS VARCHAR(100),PROTOCOL VARCHAR(10),PROTOCOL_PORT VARCHAR(10),USER_NAME VARCHAR(50),PASSWORD VARCHAR(100),CREATE_DATE TIMESTAMP) | ||
36 | +CREATE MEMORY TABLE TB_DOWNTIME_HOST_HISTORY(DEVICE_ID VARCHAR(50),DEVICE_IP VARCHAR(30),CREATE_DATE VARCHAR(10)) | ||
34 | CREATE USER SA PASSWORD "" | 37 | CREATE USER SA PASSWORD "" |
35 | GRANT DBA TO SA | 38 | GRANT DBA TO SA |
36 | SET WRITE_DELAY 20 | 39 | SET WRITE_DELAY 20 |
@@ -67,6 +70,50 @@ INSERT INTO TB_CFG_SNMP_PRI_KPI_CONVERT VALUES('PM-00-02-001-06','1.3.6.1.4.1.20 | @@ -67,6 +70,50 @@ INSERT INTO TB_CFG_SNMP_PRI_KPI_CONVERT VALUES('PM-00-02-001-06','1.3.6.1.4.1.20 | ||
67 | INSERT INTO TB_CFG_SNMP_PRI_KPI_CONVERT VALUES('PM-00-02-001-07','1.3.6.1.4.1.2011.2.77','(Double.parseDouble(MEM_TOTAL)-Double.parseDouble(MEM_FREE))/Double.parseDouble(MEM_TOTAL)*100') | 70 | INSERT INTO TB_CFG_SNMP_PRI_KPI_CONVERT VALUES('PM-00-02-001-07','1.3.6.1.4.1.2011.2.77','(Double.parseDouble(MEM_TOTAL)-Double.parseDouble(MEM_FREE))/Double.parseDouble(MEM_TOTAL)*100') |
68 | INSERT INTO TB_CFG_SNMP_PRI_KPI_CONVERT VALUES('PM-00-02-001-06','1.3.6.1.4.1.2011.2.23.98','Double.parseDouble(CPU_USAGE)') | 71 | INSERT INTO TB_CFG_SNMP_PRI_KPI_CONVERT VALUES('PM-00-02-001-06','1.3.6.1.4.1.2011.2.23.98','Double.parseDouble(CPU_USAGE)') |
69 | INSERT INTO TB_CFG_SNMP_PRI_KPI_CONVERT VALUES('PM-00-02-001-07','1.3.6.1.4.1.2011.2.23.98','(Double.parseDouble(MEM_TOTAL)-Double.parseDouble(MEM_FREE))/Double.parseDouble(MEM_TOTAL)*100') | 72 | INSERT INTO TB_CFG_SNMP_PRI_KPI_CONVERT VALUES('PM-00-02-001-07','1.3.6.1.4.1.2011.2.23.98','(Double.parseDouble(MEM_TOTAL)-Double.parseDouble(MEM_FREE))/Double.parseDouble(MEM_TOTAL)*100') |
73 | +INSERT INTO TB_CFG_SNMP_PRI_KPI_CONVERT VALUES('PM-00-02-001-06','1.3.6.1.4.1.9.1.923','Double.parseDouble(CPU_USAGE)') | ||
74 | +INSERT INTO TB_CFG_SNMP_PRI_KPI_CONVERT VALUES('PM-00-02-001-07','1.3.6.1.4.1.9.1.923','Double.parseDouble(MEM_USED)/(Double.parseDouble(MEM_USED)+Double.parseDouble(MEM_FREE))*100') | ||
75 | +INSERT INTO TB_CFG_SNMP_PRI_KPI_CONVERT VALUES('PM-00-02-001-06','1.3.6.1.4.1.9.1.340','Double.parseDouble(CPU_USAGE)') | ||
76 | +INSERT INTO TB_CFG_SNMP_PRI_KPI_CONVERT VALUES('PM-00-02-001-07','1.3.6.1.4.1.9.1.340','Double.parseDouble(MEM_USED)/(Double.parseDouble(MEM_USED)+Double.parseDouble(MEM_FREE))*100') | ||
77 | +INSERT INTO TB_CFG_SNMP_PRI_KPI_CONVERT VALUES('PM-00-02-001-06','1.3.6.1.4.1.9.1.864','Double.parseDouble(CPU_USAGE)') | ||
78 | +INSERT INTO TB_CFG_SNMP_PRI_KPI_CONVERT VALUES('PM-00-02-001-07','1.3.6.1.4.1.9.1.864','(Double.parseDouble(MEM_USED1)+Double.parseDouble(MEM_USED2))/(Double.parseDouble(MEM_USED1)+Double.parseDouble(MEM_FREE1)+Double.parseDouble(MEM_USED2)+Double.parseDouble(MEM_FREE2))') | ||
79 | +INSERT INTO TB_CFG_SNMP_PRI_KPI_CONVERT VALUES('PM-00-02-001-06','1.3.6.1.4.1.9.1.516','Double.parseDouble(CPU_USAGE)') | ||
80 | +INSERT INTO TB_CFG_SNMP_PRI_KPI_CONVERT VALUES('PM-00-02-001-07','1.3.6.1.4.1.9.1.516','(Double.parseDouble(MEM_USED1)+Double.parseDouble(MEM_USED2))/(Double.parseDouble(MEM_USED1)+Double.parseDouble(MEM_FREE1)+Double.parseDouble(MEM_USED2)+Double.parseDouble(MEM_FREE2))') | ||
81 | +INSERT INTO TB_CFG_SNMP_PRI_KPI_CONVERT VALUES('PM-00-02-001-06','1.3.6.1.4.1.9.1.876','Double.parseDouble(CPU_USAGE)') | ||
82 | +INSERT INTO TB_CFG_SNMP_PRI_KPI_CONVERT VALUES('PM-00-02-001-07','1.3.6.1.4.1.9.1.876','Double.parseDouble(MEM_USED1)/(Double.parseDouble(MEM_USED1)+Double.parseDouble(MEM_FREE1))') | ||
83 | +INSERT INTO TB_CFG_SNMP_PRI_KPI_CONVERT VALUES('PM-00-02-001-06','1.3.6.1.4.1.2011.2.45','Double.parseDouble(CPU_USAGE)') | ||
84 | +INSERT INTO TB_CFG_SNMP_PRI_KPI_CONVERT VALUES('PM-00-02-001-07','1.3.6.1.4.1.2011.2.45','Double.parseDouble(MEM_USED1)/(Double.parseDouble(MEM_USED1)+Double.parseDouble(MEM_FREE1))') | ||
85 | +INSERT INTO TB_CFG_SNMP_PRI_KPI_CONVERT VALUES('PM-00-02-001-06','1.3.6.1.4.1.9.1.914','(Double.parseDouble(CPU_USAGE1)+Double.parseDouble(CPU_USAGE2)+Double.parseDouble(CPU_USAGE3)+Double.parseDouble(CPU_USAGE4)+Double.parseDouble(CPU_USAGE5)+Double.parseDouble(CPU_USAGE6))/6') | ||
86 | +INSERT INTO TB_CFG_SNMP_PRI_KPI_CONVERT VALUES('PM-00-02-001-07','1.3.6.1.4.1.9.1.914','(Double.parseDouble(MEM_USED1)+Double.parseDouble(MEM_USED2)+Double.parseDouble(MEM_USED3)+Double.parseDouble(MEM_USED4))/(Double.parseDouble(MEM_USED1)+Double.parseDouble(MEM_FREE1)+Double.parseDouble(MEM_USED2)+Double.parseDouble(MEM_FREE2)+Double.parseDouble(MEM_USED3)+Double.parseDouble(MEM_FREE3)+Double.parseDouble(MEM_USED4)+Double.parseDouble(MEM_FREE4))') | ||
87 | +INSERT INTO TB_CFG_SNMP_PRI_KPI_CONVERT VALUES('PM-00-02-001-06','1.3.6.1.4.1.9.1.1198','(Double.parseDouble(CPU_USAGE1)+Double.parseDouble(CPU_USAGE2)+Double.parseDouble(CPU_USAGE3)+Double.parseDouble(CPU_USAGE4)+Double.parseDouble(CPU_USAGE5)+Double.parseDouble(CPU_USAGE6))/6') | ||
88 | +INSERT INTO TB_CFG_SNMP_PRI_KPI_CONVERT VALUES('PM-00-02-001-07','1.3.6.1.4.1.9.1.1198','(Double.parseDouble(MEM_USED1)+Double.parseDouble(MEM_USED2)+Double.parseDouble(MEM_USED3)+Double.parseDouble(MEM_USED4))/(Double.parseDouble(MEM_USED1)+Double.parseDouble(MEM_FREE1)+Double.parseDouble(MEM_USED2)+Double.parseDouble(MEM_FREE2)+Double.parseDouble(MEM_USED3)+Double.parseDouble(MEM_FREE3)+Double.parseDouble(MEM_USED4)+Double.parseDouble(MEM_FREE4))') | ||
89 | +INSERT INTO TB_CFG_SNMP_PRI_KPI_CONVERT VALUES('PM-00-02-001-06','1.3.6.1.4.1.3224.1.16','Double.parseDouble(CPU_USAGE)') | ||
90 | +INSERT INTO TB_CFG_SNMP_PRI_KPI_CONVERT VALUES('PM-00-02-001-07','1.3.6.1.4.1.3224.1.16','Double.parseDouble(MEM_USED)/(Double.parseDouble(MEM_USED)+Double.parseDouble(MEM_FREE))') | ||
91 | +INSERT INTO TB_CFG_SNMP_PRI_KPI_CONVERT VALUES('PM-00-02-001-06','1.3.6.1.4.1.3224.1.9','Double.parseDouble(CPU_USAGE)') | ||
92 | +INSERT INTO TB_CFG_SNMP_PRI_KPI_CONVERT VALUES('PM-00-02-001-07','1.3.6.1.4.1.3224.1.9','Double.parseDouble(MEM_USED)/(Double.parseDouble(MEM_USED)+Double.parseDouble(MEM_FREE))') | ||
93 | +INSERT INTO TB_CFG_SNMP_PRI_KPI_CONVERT VALUES('PM-00-02-001-06','1.3.6.1.4.1.3375.2.1.3.4.6','(Double.parseDouble(CPU_SYSTEM)+Double.parseDouble(CPU_USER))/2') | ||
94 | +INSERT INTO TB_CFG_SNMP_PRI_KPI_CONVERT VALUES('PM-00-02-001-07','1.3.6.1.4.1.3375.2.1.3.4.6','((Double.parseDouble(MEM_TOTAL)-Double.parseDouble(MEM_FREE))/Double.parseDouble(MEM_TOTAL))*100') | ||
95 | +INSERT INTO TB_CFG_SNMP_PRI_KPI_CONVERT VALUES('PM-00-02-001-06','1.3.6.1.4.1.2011.2.170.3','Double.parseDouble(CPU_USAGE)') | ||
96 | +INSERT INTO TB_CFG_SNMP_PRI_KPI_CONVERT VALUES('PM-00-02-001-07','1.3.6.1.4.1.2011.2.170.3','(Double.parseDouble(MEM_TOTAL)-Double.parseDouble(MEM_FREE))/Double.parseDouble(MEM_TOTAL)*100') | ||
97 | +INSERT INTO TB_CFG_SNMP_PRI_KPI_CONVERT VALUES('PM-00-02-001-06','1.3.6.1.4.1.2011.2.170.1','Double.parseDouble(CPU_USAGE)') | ||
98 | +INSERT INTO TB_CFG_SNMP_PRI_KPI_CONVERT VALUES('PM-00-02-001-07','1.3.6.1.4.1.2011.2.170.1','(Double.parseDouble(MEM_TOTAL)-Double.parseDouble(MEM_FREE))/Double.parseDouble(MEM_TOTAL)*100') | ||
99 | +INSERT INTO TB_CFG_SNMP_PRI_KPI_CONVERT VALUES('PM-00-02-001-06','1.3.6.1.4.1.2011.2.170.2','Double.parseDouble(CPU_USAGE)') | ||
100 | +INSERT INTO TB_CFG_SNMP_PRI_KPI_CONVERT VALUES('PM-00-02-001-07','1.3.6.1.4.1.2011.2.170.2','(Double.parseDouble(MEM_TOTAL)-Double.parseDouble(MEM_FREE))/Double.parseDouble(MEM_TOTAL)*100') | ||
101 | +INSERT INTO TB_CFG_SNMP_PRI_KPI_CONVERT VALUES('PM-00-02-001-06','1.3.6.1.4.1.9.1.310','Double.parseDouble(CPU_USAGE)') | ||
102 | +INSERT INTO TB_CFG_SNMP_PRI_KPI_CONVERT VALUES('PM-00-02-001-07','1.3.6.1.4.1.9.1.310','Double.parseDouble(MEM_USED)/(Double.parseDouble(MEM_USED)+Double.parseDouble(MEM_FREE))*100') | ||
103 | +INSERT INTO TB_CFG_SNMP_PRI_KPI_CONVERT VALUES('PM-00-02-001-06','1.3.6.1.4.1.9.1.400','Double.parseDouble(CPU_USAGE)') | ||
104 | +INSERT INTO TB_CFG_SNMP_PRI_KPI_CONVERT VALUES('PM-00-02-001-07','1.3.6.1.4.1.9.1.400','Double.parseDouble(MEM_USED)/(Double.parseDouble(MEM_USED)+Double.parseDouble(MEM_FREE))*100') | ||
105 | +INSERT INTO TB_CFG_SNMP_PRI_KPI_CONVERT VALUES('PM-00-02-001-06','1.3.6.1.4.1.9.1.283','Double.parseDouble(CPU_USAGE)') | ||
106 | +INSERT INTO TB_CFG_SNMP_PRI_KPI_CONVERT VALUES('PM-00-02-001-07','1.3.6.1.4.1.9.1.283','Double.parseDouble(MEM_USED)/(Double.parseDouble(MEM_USED)+Double.parseDouble(MEM_FREE))*100') | ||
107 | +INSERT INTO TB_CFG_SNMP_PRI_KPI_CONVERT VALUES('PM-00-02-001-06','1.3.6.1.4.1.9.1.501','Double.parseDouble(CPU_USAGE)') | ||
108 | +INSERT INTO TB_CFG_SNMP_PRI_KPI_CONVERT VALUES('PM-00-02-001-07','1.3.6.1.4.1.9.1.501','Double.parseDouble(MEM_USED)/(Double.parseDouble(MEM_USED)+Double.parseDouble(MEM_FREE))*100') | ||
109 | +INSERT INTO TB_CFG_SNMP_PRI_KPI_CONVERT VALUES('PM-00-02-001-06','1.3.6.1.4.1.9.1.925','Double.parseDouble(CPU_USAGE)') | ||
110 | +INSERT INTO TB_CFG_SNMP_PRI_KPI_CONVERT VALUES('PM-00-02-001-07','1.3.6.1.4.1.9.1.925','Double.parseDouble(MEM_USED)/(Double.parseDouble(MEM_USED)+Double.parseDouble(MEM_FREE))*100') | ||
111 | +INSERT INTO TB_CFG_SNMP_PRI_KPI_CONVERT VALUES('PM-00-02-001-06','1.3.6.1.4.1.25506.1.391','Double.parseDouble(CPU_USAGE)') | ||
112 | +INSERT INTO TB_CFG_SNMP_PRI_KPI_CONVERT VALUES('PM-00-02-001-07','1.3.6.1.4.1.25506.1.391','Double.parseDouble(MEM_USED)/Double.parseDouble(MEM_TOTAL)*100') | ||
113 | +INSERT INTO TB_CFG_SNMP_PRI_KPI_CONVERT VALUES('PM-00-02-001-06','1.3.6.1.4.1.2011.2.23.39','Double.parseDouble(CPU_USAGE)') | ||
114 | +INSERT INTO TB_CFG_SNMP_PRI_KPI_CONVERT VALUES('PM-00-02-001-07','1.3.6.1.4.1.2011.2.23.39','Double.parseDouble(MEM_USAGE)') | ||
115 | +INSERT INTO TB_CFG_SNMP_PRI_KPI_CONVERT VALUES('PM-00-02-001-06','1.3.6.1.4.1.9.1.968','Double.parseDouble(CPU_USAGE)') | ||
116 | +INSERT INTO TB_CFG_SNMP_PRI_KPI_CONVERT VALUES('PM-00-02-001-07','1.3.6.1.4.1.9.1.968','Double.parseDouble(MEM_USED)/(Double.parseDouble(MEM_USED)+Double.parseDouble(MEM_FREE))*100') | ||
70 | INSERT INTO TB_CFG_SNMP_PRI_OID VALUES('1.3.6.1.4.1.9.1.110','CPU_USAGE','1.3.6.1.4.1.9.2.1.57.0') | 117 | INSERT INTO TB_CFG_SNMP_PRI_OID VALUES('1.3.6.1.4.1.9.1.110','CPU_USAGE','1.3.6.1.4.1.9.2.1.57.0') |
71 | INSERT INTO TB_CFG_SNMP_PRI_OID VALUES('1.3.6.1.4.1.9.1.110','MEM_FREE','WALK:1.3.6.1.4.1.9.9.48.1.1.1.6') | 118 | INSERT INTO TB_CFG_SNMP_PRI_OID VALUES('1.3.6.1.4.1.9.1.110','MEM_FREE','WALK:1.3.6.1.4.1.9.9.48.1.1.1.6') |
72 | INSERT INTO TB_CFG_SNMP_PRI_OID VALUES('1.3.6.1.4.1.9.1.110','MEM_USED','WALK:1.3.6.1.4.1.9.9.48.1.1.1.5') | 119 | INSERT INTO TB_CFG_SNMP_PRI_OID VALUES('1.3.6.1.4.1.9.1.110','MEM_USED','WALK:1.3.6.1.4.1.9.9.48.1.1.1.5') |
@@ -118,134 +165,90 @@ INSERT INTO TB_CFG_SNMP_PRI_OID VALUES('1.3.6.1.4.1.2011.2.77','MEM_TOTAL','WALK | @@ -118,134 +165,90 @@ INSERT INTO TB_CFG_SNMP_PRI_OID VALUES('1.3.6.1.4.1.2011.2.77','MEM_TOTAL','WALK | ||
118 | INSERT INTO TB_CFG_SNMP_PRI_OID VALUES('1.3.6.1.4.1.9.1.923','CPU_USAGE','1.3.6.1.4.1.9.2.1.57.0') | 165 | INSERT INTO TB_CFG_SNMP_PRI_OID VALUES('1.3.6.1.4.1.9.1.923','CPU_USAGE','1.3.6.1.4.1.9.2.1.57.0') |
119 | INSERT INTO TB_CFG_SNMP_PRI_OID VALUES('1.3.6.1.4.1.9.1.923','MEM_FREE','WALK:1.3.6.1.4.1.9.9.48.1.1.1.6') | 166 | INSERT INTO TB_CFG_SNMP_PRI_OID VALUES('1.3.6.1.4.1.9.1.923','MEM_FREE','WALK:1.3.6.1.4.1.9.9.48.1.1.1.6') |
120 | INSERT INTO TB_CFG_SNMP_PRI_OID VALUES('1.3.6.1.4.1.9.1.923','MEM_USED','WALK:1.3.6.1.4.1.9.9.48.1.1.1.5') | 167 | INSERT INTO TB_CFG_SNMP_PRI_OID VALUES('1.3.6.1.4.1.9.1.923','MEM_USED','WALK:1.3.6.1.4.1.9.9.48.1.1.1.5') |
121 | -INSERT INTO TB_CFG_SNMP_PRI_KPI_CONVERT VALUES('PM-00-02-001-06','1.3.6.1.4.1.9.1.923','Double.parseDouble(CPU_USAGE)') | ||
122 | -INSERT INTO TB_CFG_SNMP_PRI_KPI_CONVERT VALUES('PM-00-02-001-07','1.3.6.1.4.1.9.1.923','Double.parseDouble(MEM_USED)/(Double.parseDouble(MEM_USED)+Double.parseDouble(MEM_FREE))*100') | ||
123 | INSERT INTO TB_CFG_SNMP_PRI_OID VALUES('1.3.6.1.4.1.9.1.340','CPU_USAGE','1.3.6.1.4.1.9.2.1.57.0') | 168 | INSERT INTO TB_CFG_SNMP_PRI_OID VALUES('1.3.6.1.4.1.9.1.340','CPU_USAGE','1.3.6.1.4.1.9.2.1.57.0') |
124 | INSERT INTO TB_CFG_SNMP_PRI_OID VALUES('1.3.6.1.4.1.9.1.340','MEM_FREE','WALK:1.3.6.1.4.1.9.9.48.1.1.1.6') | 169 | INSERT INTO TB_CFG_SNMP_PRI_OID VALUES('1.3.6.1.4.1.9.1.340','MEM_FREE','WALK:1.3.6.1.4.1.9.9.48.1.1.1.6') |
125 | INSERT INTO TB_CFG_SNMP_PRI_OID VALUES('1.3.6.1.4.1.9.1.340','MEM_USED','WALK:1.3.6.1.4.1.9.9.48.1.1.1.5') | 170 | INSERT INTO TB_CFG_SNMP_PRI_OID VALUES('1.3.6.1.4.1.9.1.340','MEM_USED','WALK:1.3.6.1.4.1.9.9.48.1.1.1.5') |
126 | -INSERT INTO TB_CFG_SNMP_PRI_KPI_CONVERT VALUES('PM-00-02-001-06','1.3.6.1.4.1.9.1.340','Double.parseDouble(CPU_USAGE)') | ||
127 | -INSERT INTO TB_CFG_SNMP_PRI_KPI_CONVERT VALUES('PM-00-02-001-07','1.3.6.1.4.1.9.1.340','Double.parseDouble(MEM_USED)/(Double.parseDouble(MEM_USED)+Double.parseDouble(MEM_FREE))*100') | ||
128 | -insert into TB_CFG_SNMP_PRI_OID values('1.3.6.1.4.1.9.1.864','CPU_USAGE','1.3.6.1.4.1.9.2.1.57.0') | ||
129 | -insert into TB_CFG_SNMP_PRI_OID values('1.3.6.1.4.1.9.1.864','MEM_USED1','1.3.6.1.4.1.9.9.48.1.1.1.5.1') | ||
130 | -insert into TB_CFG_SNMP_PRI_OID values('1.3.6.1.4.1.9.1.864','MEM_FREE1','1.3.6.1.4.1.9.9.48.1.1.1.6.1') | ||
131 | -insert into TB_CFG_SNMP_PRI_OID values('1.3.6.1.4.1.9.1.864','MEM_USED2','1.3.6.1.4.1.9.9.48.1.1.1.5.2') | ||
132 | -insert into TB_CFG_SNMP_PRI_OID values('1.3.6.1.4.1.9.1.864','MEM_FREE2','1.3.6.1.4.1.9.9.48.1.1.1.6.2') | ||
133 | -insert into TB_CFG_SNMP_PRI_OID values('1.3.6.1.4.1.9.1.516','CPU_USAGE','1.3.6.1.4.1.9.2.1.57.0') | ||
134 | -insert into TB_CFG_SNMP_PRI_OID values('1.3.6.1.4.1.9.1.516','MEM_USED1','1.3.6.1.4.1.9.9.48.1.1.1.5.1') | ||
135 | -insert into TB_CFG_SNMP_PRI_OID values('1.3.6.1.4.1.9.1.516','MEM_FREE1','1.3.6.1.4.1.9.9.48.1.1.1.6.1') | ||
136 | -insert into TB_CFG_SNMP_PRI_OID values('1.3.6.1.4.1.9.1.516','MEM_USED2','1.3.6.1.4.1.9.9.48.1.1.1.5.2') | ||
137 | -insert into TB_CFG_SNMP_PRI_OID values('1.3.6.1.4.1.9.1.516','MEM_FREE2','1.3.6.1.4.1.9.9.48.1.1.1.6.2') | ||
138 | -insert into TB_CFG_SNMP_PRI_OID values('1.3.6.1.4.1.9.1.876','CPU_USAGE','1.3.6.1.4.1.9.2.1.57.0') | ||
139 | -insert into TB_CFG_SNMP_PRI_OID values('1.3.6.1.4.1.9.1.876','MEM_USED1','1.3.6.1.4.1.9.9.48.1.1.1.5.1') | ||
140 | -insert into TB_CFG_SNMP_PRI_OID values('1.3.6.1.4.1.9.1.876','MEM_FREE1','1.3.6.1.4.1.9.9.48.1.1.1.6.1') | ||
141 | -insert into TB_CFG_SNMP_PRI_OID values('1.3.6.1.4.1.2011.2.45','MEM_FREE1','1.3.6.1.4.1.2011.2.2.5.2.0') | ||
142 | -insert into TB_CFG_SNMP_PRI_OID values('1.3.6.1.4.1.2011.2.45','MEM_USED1','1.3.6.1.4.1.2011.2.2.5.1.0') | ||
143 | -insert into TB_CFG_SNMP_PRI_OID values('1.3.6.1.4.1.2011.2.45','CPU_USAGE','1.3.6.1.4.1.2011.2.2.4.12.0') | ||
144 | -insert into TB_CFG_SNMP_PRI_OID values('1.3.6.1.4.1.3224.1.16','MEM_FREE','.1.3.6.1.4.1.3224.16.2.2.0') | ||
145 | -insert into TB_CFG_SNMP_PRI_OID values('1.3.6.1.4.1.3224.1.16','MEM_USED','1.3.6.1.4.1.3224.16.2.1.0') | ||
146 | -insert into TB_CFG_SNMP_PRI_OID values('1.3.6.1.4.1.3224.1.16','CPU_USAGE','1.3.6.1.4.1.3224.16.1.1.0') | ||
147 | -insert into TB_CFG_SNMP_PRI_OID values('1.3.6.1.4.1.3224.1.9','MEM_FREE','.1.3.6.1.4.1.3224.16.2.2.0') | ||
148 | -insert into TB_CFG_SNMP_PRI_OID values('1.3.6.1.4.1.3224.1.9','MEM_USED','1.3.6.1.4.1.3224.16.2.1.0') | ||
149 | -insert into TB_CFG_SNMP_PRI_OID values('1.3.6.1.4.1.3224.1.9','CPU_USAGE','1.3.6.1.4.1.3224.16.1.1.0') | ||
150 | -insert into TB_CFG_SNMP_PRI_OID values('1.3.6.1.4.1.9.1.914','MEM_USED1','1.3.6.1.4.1.9.9.48.1.1.1.5.1') | ||
151 | -insert into TB_CFG_SNMP_PRI_OID values('1.3.6.1.4.1.9.1.914','MEM_USED2','1.3.6.1.4.1.9.9.48.1.1.1.5.6') | ||
152 | -insert into TB_CFG_SNMP_PRI_OID values('1.3.6.1.4.1.9.1.914','MEM_USED3','1.3.6.1.4.1.9.9.48.1.1.1.5.7') | ||
153 | -insert into TB_CFG_SNMP_PRI_OID values('1.3.6.1.4.1.9.1.914','MEM_USED4','1.3.6.1.4.1.9.9.48.1.1.1.5.8') | ||
154 | -insert into TB_CFG_SNMP_PRI_OID values('1.3.6.1.4.1.9.1.914','MEM_FREE1','1.3.6.1.4.1.9.9.48.1.1.1.6.1') | ||
155 | -insert into TB_CFG_SNMP_PRI_OID values('1.3.6.1.4.1.9.1.914','MEM_FREE2','1.3.6.1.4.1.9.9.48.1.1.1.6.6') | ||
156 | -insert into TB_CFG_SNMP_PRI_OID values('1.3.6.1.4.1.9.1.914','MEM_FREE3','1.3.6.1.4.1.9.9.48.1.1.1.6.7') | ||
157 | -insert into TB_CFG_SNMP_PRI_OID values('1.3.6.1.4.1.9.1.914','MEM_FREE4','1.3.6.1.4.1.9.9.48.1.1.1.6.8') | ||
158 | -insert into TB_CFG_SNMP_PRI_OID values('1.3.6.1.4.1.9.1.914','CPU_USAGE1','1.3.6.1.4.1.9.9.109.1.1.1.1.4.1') | ||
159 | -insert into TB_CFG_SNMP_PRI_OID values('1.3.6.1.4.1.9.1.914','CPU_USAGE2','1.3.6.1.4.1.9.9.109.1.1.1.1.4.2') | ||
160 | -insert into TB_CFG_SNMP_PRI_OID values('1.3.6.1.4.1.9.1.914','CPU_USAGE3','1.3.6.1.4.1.9.9.109.1.1.1.1.4.3') | ||
161 | -insert into TB_CFG_SNMP_PRI_OID values('1.3.6.1.4.1.9.1.914','CPU_USAGE4','1.3.6.1.4.1.9.9.109.1.1.1.1.4.4') | ||
162 | -insert into TB_CFG_SNMP_PRI_OID values('1.3.6.1.4.1.9.1.914','CPU_USAGE5','1.3.6.1.4.1.9.9.109.1.1.1.1.4.5') | ||
163 | -insert into TB_CFG_SNMP_PRI_OID values('1.3.6.1.4.1.9.1.914','CPU_USAGE6','1.3.6.1.4.1.9.9.109.1.1.1.1.4.6') | ||
164 | -insert into TB_CFG_SNMP_PRI_OID values('1.3.6.1.4.1.9.1.1198','MEM_USED1','1.3.6.1.4.1.9.9.48.1.1.1.5.1') | ||
165 | -insert into TB_CFG_SNMP_PRI_OID values('1.3.6.1.4.1.9.1.1198','MEM_USED2','1.3.6.1.4.1.9.9.48.1.1.1.5.6') | ||
166 | -insert into TB_CFG_SNMP_PRI_OID values('1.3.6.1.4.1.9.1.1198','MEM_USED3','1.3.6.1.4.1.9.9.48.1.1.1.5.7') | ||
167 | -insert into TB_CFG_SNMP_PRI_OID values('1.3.6.1.4.1.9.1.1198','MEM_FREE1','1.3.6.1.4.1.9.9.48.1.1.1.6.1') | ||
168 | -insert into TB_CFG_SNMP_PRI_OID values('1.3.6.1.4.1.9.1.1198','MEM_FREE2','1.3.6.1.4.1.9.9.48.1.1.1.6.6') | ||
169 | -insert into TB_CFG_SNMP_PRI_OID values('1.3.6.1.4.1.9.1.1198','MEM_FREE3','1.3.6.1.4.1.9.9.48.1.1.1.6.7') | ||
170 | -insert into TB_CFG_SNMP_PRI_OID values('1.3.6.1.4.1.9.1.1198','CPU_USAGE1','1.3.6.1.4.1.9.9.109.1.1.1.1.4.1') | ||
171 | -insert into TB_CFG_SNMP_PRI_OID values('1.3.6.1.4.1.9.1.1198','CPU_USAGE5','1.3.6.1.4.1.9.9.109.1.1.1.1.4.5') | ||
172 | -insert into TB_CFG_SNMP_PRI_OID values('1.3.6.1.4.1.9.1.1198','CPU_USAGE6','1.3.6.1.4.1.9.9.109.1.1.1.1.4.6') | ||
173 | -insert into TB_CFG_SNMP_PRI_OID values('1.3.6.1.4.1.3375.2.1.3.4.6','MEM_TOTAL','.1.3.6.1.4.1.2021.4.5.0') | ||
174 | -insert into TB_CFG_SNMP_PRI_OID values('1.3.6.1.4.1.3375.2.1.3.4.6','MEM_FREE','.1.3.6.1.4.1.2021.4.6.0') | ||
175 | -insert into TB_CFG_SNMP_PRI_OID values('1.3.6.1.4.1.3375.2.1.3.4.6','CPU_SYSTEM','.1.3.6.1.4.1.2021.11.10.0') | ||
176 | -insert into TB_CFG_SNMP_PRI_OID values('1.3.6.1.4.1.3375.2.1.3.4.6','CPU_USER','.1.3.6.1.4.1.2021.11.9.0') | ||
177 | -insert into TB_CFG_SNMP_PRI_KPI_CONVERT values('PM-00-02-001-06','1.3.6.1.4.1.9.1.864','Double.parseDouble(CPU_USAGE)') | ||
178 | -insert into TB_CFG_SNMP_PRI_KPI_CONVERT values('PM-00-02-001-07','1.3.6.1.4.1.9.1.864','(Double.parseDouble(MEM_USED1)+Double.parseDouble(MEM_USED2))/(Double.parseDouble(MEM_USED1)+Double.parseDouble(MEM_FREE1)+Double.parseDouble(MEM_USED2)+Double.parseDouble(MEM_FREE2))') | ||
179 | -insert into TB_CFG_SNMP_PRI_KPI_CONVERT values('PM-00-02-001-06','1.3.6.1.4.1.9.1.516','Double.parseDouble(CPU_USAGE)') | ||
180 | -insert into TB_CFG_SNMP_PRI_KPI_CONVERT values('PM-00-02-001-07','1.3.6.1.4.1.9.1.516','(Double.parseDouble(MEM_USED1)+Double.parseDouble(MEM_USED2))/(Double.parseDouble(MEM_USED1)+Double.parseDouble(MEM_FREE1)+Double.parseDouble(MEM_USED2)+Double.parseDouble(MEM_FREE2))') | ||
181 | -insert into TB_CFG_SNMP_PRI_KPI_CONVERT values('PM-00-02-001-06','1.3.6.1.4.1.9.1.876','Double.parseDouble(CPU_USAGE)') | ||
182 | -insert into TB_CFG_SNMP_PRI_KPI_CONVERT values('PM-00-02-001-07','1.3.6.1.4.1.9.1.876','Double.parseDouble(MEM_USED1)/(Double.parseDouble(MEM_USED1)+Double.parseDouble(MEM_FREE1))') | ||
183 | -insert into TB_CFG_SNMP_PRI_KPI_CONVERT values('PM-00-02-001-06','1.3.6.1.4.1.2011.2.45','Double.parseDouble(CPU_USAGE)') | ||
184 | -insert into TB_CFG_SNMP_PRI_KPI_CONVERT values('PM-00-02-001-07','1.3.6.1.4.1.2011.2.45','Double.parseDouble(MEM_USED1)/(Double.parseDouble(MEM_USED1)+Double.parseDouble(MEM_FREE1))') | ||
185 | -insert into TB_CFG_SNMP_PRI_KPI_CONVERT values('PM-00-02-001-06','1.3.6.1.4.1.9.1.914','(Double.parseDouble(CPU_USAGE1)+Double.parseDouble(CPU_USAGE2)+Double.parseDouble(CPU_USAGE3)+Double.parseDouble(CPU_USAGE4)+Double.parseDouble(CPU_USAGE5)+Double.parseDouble(CPU_USAGE6))/6') | ||
186 | -insert into TB_CFG_SNMP_PRI_KPI_CONVERT values('PM-00-02-001-07','1.3.6.1.4.1.9.1.914','(Double.parseDouble(MEM_USED1)+Double.parseDouble(MEM_USED2)+Double.parseDouble(MEM_USED3)+Double.parseDouble(MEM_USED4))/(Double.parseDouble(MEM_USED1)+Double.parseDouble(MEM_FREE1)+Double.parseDouble(MEM_USED2)+Double.parseDouble(MEM_FREE2)+Double.parseDouble(MEM_USED3)+Double.parseDouble(MEM_FREE3)+Double.parseDouble(MEM_USED4)+Double.parseDouble(MEM_FREE4))') | ||
187 | -insert into TB_CFG_SNMP_PRI_KPI_CONVERT values('PM-00-02-001-06','1.3.6.1.4.1.9.1.1198','(Double.parseDouble(CPU_USAGE1)+Double.parseDouble(CPU_USAGE2)+Double.parseDouble(CPU_USAGE3)+Double.parseDouble(CPU_USAGE4)+Double.parseDouble(CPU_USAGE5)+Double.parseDouble(CPU_USAGE6))/6') | ||
188 | -insert into TB_CFG_SNMP_PRI_KPI_CONVERT values('PM-00-02-001-07','1.3.6.1.4.1.9.1.1198','(Double.parseDouble(MEM_USED1)+Double.parseDouble(MEM_USED2)+Double.parseDouble(MEM_USED3)+Double.parseDouble(MEM_USED4))/(Double.parseDouble(MEM_USED1)+Double.parseDouble(MEM_FREE1)+Double.parseDouble(MEM_USED2)+Double.parseDouble(MEM_FREE2)+Double.parseDouble(MEM_USED3)+Double.parseDouble(MEM_FREE3)+Double.parseDouble(MEM_USED4)+Double.parseDouble(MEM_FREE4))') | ||
189 | -insert into TB_CFG_SNMP_PRI_KPI_CONVERT values('PM-00-02-001-06','1.3.6.1.4.1.3224.1.16','Double.parseDouble(CPU_USAGE)') | ||
190 | -insert into TB_CFG_SNMP_PRI_KPI_CONVERT values('PM-00-02-001-07','1.3.6.1.4.1.3224.1.16','Double.parseDouble(MEM_USED)/(Double.parseDouble(MEM_USED)+Double.parseDouble(MEM_FREE))') | ||
191 | -insert into TB_CFG_SNMP_PRI_KPI_CONVERT values('PM-00-02-001-06','1.3.6.1.4.1.3224.1.9','Double.parseDouble(CPU_USAGE)') | ||
192 | -insert into TB_CFG_SNMP_PRI_KPI_CONVERT values('PM-00-02-001-07','1.3.6.1.4.1.3224.1.9','Double.parseDouble(MEM_USED)/(Double.parseDouble(MEM_USED)+Double.parseDouble(MEM_FREE))') | ||
193 | -insert into TB_CFG_SNMP_PRI_KPI_CONVERT values('PM-00-02-001-06','1.3.6.1.4.1.3375.2.1.3.4.6','(Double.parseDouble(CPU_SYSTEM)+Double.parseDouble(CPU_USER))/2') | ||
194 | -insert into TB_CFG_SNMP_PRI_KPI_CONVERT values('PM-00-02-001-07','1.3.6.1.4.1.3375.2.1.3.4.6','((Double.parseDouble(MEM_TOTAL)-Double.parseDouble(MEM_FREE))/Double.parseDouble(MEM_TOTAL))*100') | ||
195 | -insert into TB_CFG_SNMP_PRI_OID values('1.3.6.1.4.1.2011.2.170.3','MEM_FREE','WALK:1.3.6.1.4.1.2011.6.3.5.1.1.3.0') | ||
196 | -insert into TB_CFG_SNMP_PRI_OID values('1.3.6.1.4.1.2011.2.170.3','MEM_TOTAL','WALK:1.3.6.1.4.1.2011.6.3.5.1.1.2.0') | ||
197 | -insert into TB_CFG_SNMP_PRI_OID values('1.3.6.1.4.1.2011.2.170.3','CPU_USAGE','WALK:1.3.6.1.4.1.2011.6.3.4.1.2.0') | ||
198 | -INSERT INTO TB_CFG_SNMP_PRI_KPI_CONVERT VALUES('PM-00-02-001-06','1.3.6.1.4.1.2011.2.170.3','Double.parseDouble(CPU_USAGE)') | ||
199 | -INSERT INTO TB_CFG_SNMP_PRI_KPI_CONVERT VALUES('PM-00-02-001-07','1.3.6.1.4.1.2011.2.170.3','(Double.parseDouble(MEM_TOTAL)-Double.parseDouble(MEM_FREE))/Double.parseDouble(MEM_TOTAL)*100') | ||
200 | -insert into TB_CFG_SNMP_PRI_OID values('1.3.6.1.4.1.2011.2.170.1','MEM_FREE','WALK:1.3.6.1.4.1.2011.6.3.5.1.1.3.0') | ||
201 | -insert into TB_CFG_SNMP_PRI_OID values('1.3.6.1.4.1.2011.2.170.1','MEM_TOTAL','WALK:1.3.6.1.4.1.2011.6.3.5.1.1.2.0') | ||
202 | -insert into TB_CFG_SNMP_PRI_OID values('1.3.6.1.4.1.2011.2.170.1','CPU_USAGE','WALK:1.3.6.1.4.1.2011.6.3.4.1.2.0') | ||
203 | -INSERT INTO TB_CFG_SNMP_PRI_KPI_CONVERT VALUES('PM-00-02-001-06','1.3.6.1.4.1.2011.2.170.1','Double.parseDouble(CPU_USAGE)') | ||
204 | -INSERT INTO TB_CFG_SNMP_PRI_KPI_CONVERT VALUES('PM-00-02-001-07','1.3.6.1.4.1.2011.2.170.1','(Double.parseDouble(MEM_TOTAL)-Double.parseDouble(MEM_FREE))/Double.parseDouble(MEM_TOTAL)*100') | ||
205 | -insert into TB_CFG_SNMP_PRI_OID values('1.3.6.1.4.1.2011.2.170.2','MEM_FREE','WALK:1.3.6.1.4.1.2011.6.3.5.1.1.3.0') | ||
206 | -insert into TB_CFG_SNMP_PRI_OID values('1.3.6.1.4.1.2011.2.170.2','MEM_TOTAL','WALK:1.3.6.1.4.1.2011.6.3.5.1.1.2.0') | ||
207 | -insert into TB_CFG_SNMP_PRI_OID values('1.3.6.1.4.1.2011.2.170.2','CPU_USAGE','WALK:1.3.6.1.4.1.2011.6.3.4.1.2.0') | ||
208 | -INSERT INTO TB_CFG_SNMP_PRI_KPI_CONVERT VALUES('PM-00-02-001-06','1.3.6.1.4.1.2011.2.170.2','Double.parseDouble(CPU_USAGE)') | ||
209 | -INSERT INTO TB_CFG_SNMP_PRI_KPI_CONVERT VALUES('PM-00-02-001-07','1.3.6.1.4.1.2011.2.170.2','(Double.parseDouble(MEM_TOTAL)-Double.parseDouble(MEM_FREE))/Double.parseDouble(MEM_TOTAL)*100') | 171 | +INSERT INTO TB_CFG_SNMP_PRI_OID VALUES('1.3.6.1.4.1.9.1.864','CPU_USAGE','1.3.6.1.4.1.9.2.1.57.0') |
172 | +INSERT INTO TB_CFG_SNMP_PRI_OID VALUES('1.3.6.1.4.1.9.1.864','MEM_USED1','1.3.6.1.4.1.9.9.48.1.1.1.5.1') | ||
173 | +INSERT INTO TB_CFG_SNMP_PRI_OID VALUES('1.3.6.1.4.1.9.1.864','MEM_FREE1','1.3.6.1.4.1.9.9.48.1.1.1.6.1') | ||
174 | +INSERT INTO TB_CFG_SNMP_PRI_OID VALUES('1.3.6.1.4.1.9.1.864','MEM_USED2','1.3.6.1.4.1.9.9.48.1.1.1.5.2') | ||
175 | +INSERT INTO TB_CFG_SNMP_PRI_OID VALUES('1.3.6.1.4.1.9.1.864','MEM_FREE2','1.3.6.1.4.1.9.9.48.1.1.1.6.2') | ||
176 | +INSERT INTO TB_CFG_SNMP_PRI_OID VALUES('1.3.6.1.4.1.9.1.516','CPU_USAGE','1.3.6.1.4.1.9.2.1.57.0') | ||
177 | +INSERT INTO TB_CFG_SNMP_PRI_OID VALUES('1.3.6.1.4.1.9.1.516','MEM_USED1','1.3.6.1.4.1.9.9.48.1.1.1.5.1') | ||
178 | +INSERT INTO TB_CFG_SNMP_PRI_OID VALUES('1.3.6.1.4.1.9.1.516','MEM_FREE1','1.3.6.1.4.1.9.9.48.1.1.1.6.1') | ||
179 | +INSERT INTO TB_CFG_SNMP_PRI_OID VALUES('1.3.6.1.4.1.9.1.516','MEM_USED2','1.3.6.1.4.1.9.9.48.1.1.1.5.2') | ||
180 | +INSERT INTO TB_CFG_SNMP_PRI_OID VALUES('1.3.6.1.4.1.9.1.516','MEM_FREE2','1.3.6.1.4.1.9.9.48.1.1.1.6.2') | ||
181 | +INSERT INTO TB_CFG_SNMP_PRI_OID VALUES('1.3.6.1.4.1.9.1.876','CPU_USAGE','1.3.6.1.4.1.9.2.1.57.0') | ||
182 | +INSERT INTO TB_CFG_SNMP_PRI_OID VALUES('1.3.6.1.4.1.9.1.876','MEM_USED1','1.3.6.1.4.1.9.9.48.1.1.1.5.1') | ||
183 | +INSERT INTO TB_CFG_SNMP_PRI_OID VALUES('1.3.6.1.4.1.9.1.876','MEM_FREE1','1.3.6.1.4.1.9.9.48.1.1.1.6.1') | ||
184 | +INSERT INTO TB_CFG_SNMP_PRI_OID VALUES('1.3.6.1.4.1.2011.2.45','MEM_FREE1','1.3.6.1.4.1.2011.2.2.5.2.0') | ||
185 | +INSERT INTO TB_CFG_SNMP_PRI_OID VALUES('1.3.6.1.4.1.2011.2.45','MEM_USED1','1.3.6.1.4.1.2011.2.2.5.1.0') | ||
186 | +INSERT INTO TB_CFG_SNMP_PRI_OID VALUES('1.3.6.1.4.1.2011.2.45','CPU_USAGE','1.3.6.1.4.1.2011.2.2.4.12.0') | ||
187 | +INSERT INTO TB_CFG_SNMP_PRI_OID VALUES('1.3.6.1.4.1.3224.1.16','MEM_FREE','.1.3.6.1.4.1.3224.16.2.2.0') | ||
188 | +INSERT INTO TB_CFG_SNMP_PRI_OID VALUES('1.3.6.1.4.1.3224.1.16','MEM_USED','1.3.6.1.4.1.3224.16.2.1.0') | ||
189 | +INSERT INTO TB_CFG_SNMP_PRI_OID VALUES('1.3.6.1.4.1.3224.1.16','CPU_USAGE','1.3.6.1.4.1.3224.16.1.1.0') | ||
190 | +INSERT INTO TB_CFG_SNMP_PRI_OID VALUES('1.3.6.1.4.1.3224.1.9','MEM_FREE','.1.3.6.1.4.1.3224.16.2.2.0') | ||
191 | +INSERT INTO TB_CFG_SNMP_PRI_OID VALUES('1.3.6.1.4.1.3224.1.9','MEM_USED','1.3.6.1.4.1.3224.16.2.1.0') | ||
192 | +INSERT INTO TB_CFG_SNMP_PRI_OID VALUES('1.3.6.1.4.1.3224.1.9','CPU_USAGE','1.3.6.1.4.1.3224.16.1.1.0') | ||
193 | +INSERT INTO TB_CFG_SNMP_PRI_OID VALUES('1.3.6.1.4.1.9.1.914','MEM_USED1','1.3.6.1.4.1.9.9.48.1.1.1.5.1') | ||
194 | +INSERT INTO TB_CFG_SNMP_PRI_OID VALUES('1.3.6.1.4.1.9.1.914','MEM_USED2','1.3.6.1.4.1.9.9.48.1.1.1.5.6') | ||
195 | +INSERT INTO TB_CFG_SNMP_PRI_OID VALUES('1.3.6.1.4.1.9.1.914','MEM_USED3','1.3.6.1.4.1.9.9.48.1.1.1.5.7') | ||
196 | +INSERT INTO TB_CFG_SNMP_PRI_OID VALUES('1.3.6.1.4.1.9.1.914','MEM_USED4','1.3.6.1.4.1.9.9.48.1.1.1.5.8') | ||
197 | +INSERT INTO TB_CFG_SNMP_PRI_OID VALUES('1.3.6.1.4.1.9.1.914','MEM_FREE1','1.3.6.1.4.1.9.9.48.1.1.1.6.1') | ||
198 | +INSERT INTO TB_CFG_SNMP_PRI_OID VALUES('1.3.6.1.4.1.9.1.914','MEM_FREE2','1.3.6.1.4.1.9.9.48.1.1.1.6.6') | ||
199 | +INSERT INTO TB_CFG_SNMP_PRI_OID VALUES('1.3.6.1.4.1.9.1.914','MEM_FREE3','1.3.6.1.4.1.9.9.48.1.1.1.6.7') | ||
200 | +INSERT INTO TB_CFG_SNMP_PRI_OID VALUES('1.3.6.1.4.1.9.1.914','MEM_FREE4','1.3.6.1.4.1.9.9.48.1.1.1.6.8') | ||
201 | +INSERT INTO TB_CFG_SNMP_PRI_OID VALUES('1.3.6.1.4.1.9.1.914','CPU_USAGE1','1.3.6.1.4.1.9.9.109.1.1.1.1.4.1') | ||
202 | +INSERT INTO TB_CFG_SNMP_PRI_OID VALUES('1.3.6.1.4.1.9.1.914','CPU_USAGE2','1.3.6.1.4.1.9.9.109.1.1.1.1.4.2') | ||
203 | +INSERT INTO TB_CFG_SNMP_PRI_OID VALUES('1.3.6.1.4.1.9.1.914','CPU_USAGE3','1.3.6.1.4.1.9.9.109.1.1.1.1.4.3') | ||
204 | +INSERT INTO TB_CFG_SNMP_PRI_OID VALUES('1.3.6.1.4.1.9.1.914','CPU_USAGE4','1.3.6.1.4.1.9.9.109.1.1.1.1.4.4') | ||
205 | +INSERT INTO TB_CFG_SNMP_PRI_OID VALUES('1.3.6.1.4.1.9.1.914','CPU_USAGE5','1.3.6.1.4.1.9.9.109.1.1.1.1.4.5') | ||
206 | +INSERT INTO TB_CFG_SNMP_PRI_OID VALUES('1.3.6.1.4.1.9.1.914','CPU_USAGE6','1.3.6.1.4.1.9.9.109.1.1.1.1.4.6') | ||
207 | +INSERT INTO TB_CFG_SNMP_PRI_OID VALUES('1.3.6.1.4.1.9.1.1198','MEM_USED1','1.3.6.1.4.1.9.9.48.1.1.1.5.1') | ||
208 | +INSERT INTO TB_CFG_SNMP_PRI_OID VALUES('1.3.6.1.4.1.9.1.1198','MEM_USED2','1.3.6.1.4.1.9.9.48.1.1.1.5.6') | ||
209 | +INSERT INTO TB_CFG_SNMP_PRI_OID VALUES('1.3.6.1.4.1.9.1.1198','MEM_USED3','1.3.6.1.4.1.9.9.48.1.1.1.5.7') | ||
210 | +INSERT INTO TB_CFG_SNMP_PRI_OID VALUES('1.3.6.1.4.1.9.1.1198','MEM_FREE1','1.3.6.1.4.1.9.9.48.1.1.1.6.1') | ||
211 | +INSERT INTO TB_CFG_SNMP_PRI_OID VALUES('1.3.6.1.4.1.9.1.1198','MEM_FREE2','1.3.6.1.4.1.9.9.48.1.1.1.6.6') | ||
212 | +INSERT INTO TB_CFG_SNMP_PRI_OID VALUES('1.3.6.1.4.1.9.1.1198','MEM_FREE3','1.3.6.1.4.1.9.9.48.1.1.1.6.7') | ||
213 | +INSERT INTO TB_CFG_SNMP_PRI_OID VALUES('1.3.6.1.4.1.9.1.1198','CPU_USAGE1','1.3.6.1.4.1.9.9.109.1.1.1.1.4.1') | ||
214 | +INSERT INTO TB_CFG_SNMP_PRI_OID VALUES('1.3.6.1.4.1.9.1.1198','CPU_USAGE5','1.3.6.1.4.1.9.9.109.1.1.1.1.4.5') | ||
215 | +INSERT INTO TB_CFG_SNMP_PRI_OID VALUES('1.3.6.1.4.1.9.1.1198','CPU_USAGE6','1.3.6.1.4.1.9.9.109.1.1.1.1.4.6') | ||
216 | +INSERT INTO TB_CFG_SNMP_PRI_OID VALUES('1.3.6.1.4.1.3375.2.1.3.4.6','MEM_TOTAL','.1.3.6.1.4.1.2021.4.5.0') | ||
217 | +INSERT INTO TB_CFG_SNMP_PRI_OID VALUES('1.3.6.1.4.1.3375.2.1.3.4.6','MEM_FREE','.1.3.6.1.4.1.2021.4.6.0') | ||
218 | +INSERT INTO TB_CFG_SNMP_PRI_OID VALUES('1.3.6.1.4.1.3375.2.1.3.4.6','CPU_SYSTEM','.1.3.6.1.4.1.2021.11.10.0') | ||
219 | +INSERT INTO TB_CFG_SNMP_PRI_OID VALUES('1.3.6.1.4.1.3375.2.1.3.4.6','CPU_USER','.1.3.6.1.4.1.2021.11.9.0') | ||
220 | +INSERT INTO TB_CFG_SNMP_PRI_OID VALUES('1.3.6.1.4.1.2011.2.170.3','MEM_FREE','WALK:1.3.6.1.4.1.2011.6.3.5.1.1.3.0') | ||
221 | +INSERT INTO TB_CFG_SNMP_PRI_OID VALUES('1.3.6.1.4.1.2011.2.170.3','MEM_TOTAL','WALK:1.3.6.1.4.1.2011.6.3.5.1.1.2.0') | ||
222 | +INSERT INTO TB_CFG_SNMP_PRI_OID VALUES('1.3.6.1.4.1.2011.2.170.3','CPU_USAGE','WALK:1.3.6.1.4.1.2011.6.3.4.1.2.0') | ||
223 | +INSERT INTO TB_CFG_SNMP_PRI_OID VALUES('1.3.6.1.4.1.2011.2.170.1','MEM_FREE','WALK:1.3.6.1.4.1.2011.6.3.5.1.1.3.0') | ||
224 | +INSERT INTO TB_CFG_SNMP_PRI_OID VALUES('1.3.6.1.4.1.2011.2.170.1','MEM_TOTAL','WALK:1.3.6.1.4.1.2011.6.3.5.1.1.2.0') | ||
225 | +INSERT INTO TB_CFG_SNMP_PRI_OID VALUES('1.3.6.1.4.1.2011.2.170.1','CPU_USAGE','WALK:1.3.6.1.4.1.2011.6.3.4.1.2.0') | ||
226 | +INSERT INTO TB_CFG_SNMP_PRI_OID VALUES('1.3.6.1.4.1.2011.2.170.2','MEM_FREE','WALK:1.3.6.1.4.1.2011.6.3.5.1.1.3.0') | ||
227 | +INSERT INTO TB_CFG_SNMP_PRI_OID VALUES('1.3.6.1.4.1.2011.2.170.2','MEM_TOTAL','WALK:1.3.6.1.4.1.2011.6.3.5.1.1.2.0') | ||
228 | +INSERT INTO TB_CFG_SNMP_PRI_OID VALUES('1.3.6.1.4.1.2011.2.170.2','CPU_USAGE','WALK:1.3.6.1.4.1.2011.6.3.4.1.2.0') | ||
210 | INSERT INTO TB_CFG_SNMP_PRI_OID VALUES('1.3.6.1.4.1.9.1.310','CPU_USAGE','1.3.6.1.4.1.9.2.1.57.0') | 229 | INSERT INTO TB_CFG_SNMP_PRI_OID VALUES('1.3.6.1.4.1.9.1.310','CPU_USAGE','1.3.6.1.4.1.9.2.1.57.0') |
211 | INSERT INTO TB_CFG_SNMP_PRI_OID VALUES('1.3.6.1.4.1.9.1.310','MEM_FREE','WALK:1.3.6.1.4.1.9.9.48.1.1.1.6') | 230 | INSERT INTO TB_CFG_SNMP_PRI_OID VALUES('1.3.6.1.4.1.9.1.310','MEM_FREE','WALK:1.3.6.1.4.1.9.9.48.1.1.1.6') |
212 | INSERT INTO TB_CFG_SNMP_PRI_OID VALUES('1.3.6.1.4.1.9.1.310','MEM_USED','WALK:1.3.6.1.4.1.9.9.48.1.1.1.5') | 231 | INSERT INTO TB_CFG_SNMP_PRI_OID VALUES('1.3.6.1.4.1.9.1.310','MEM_USED','WALK:1.3.6.1.4.1.9.9.48.1.1.1.5') |
213 | -INSERT INTO TB_CFG_SNMP_PRI_KPI_CONVERT VALUES('PM-00-02-001-06','1.3.6.1.4.1.9.1.310','Double.parseDouble(CPU_USAGE)') | ||
214 | -INSERT INTO TB_CFG_SNMP_PRI_KPI_CONVERT VALUES('PM-00-02-001-07','1.3.6.1.4.1.9.1.310','Double.parseDouble(MEM_USED)/(Double.parseDouble(MEM_USED)+Double.parseDouble(MEM_FREE))*100') | ||
215 | INSERT INTO TB_CFG_SNMP_PRI_OID VALUES('1.3.6.1.4.1.9.1.400','CPU_USAGE','1.3.6.1.4.1.9.2.1.57.0') | 232 | INSERT INTO TB_CFG_SNMP_PRI_OID VALUES('1.3.6.1.4.1.9.1.400','CPU_USAGE','1.3.6.1.4.1.9.2.1.57.0') |
216 | INSERT INTO TB_CFG_SNMP_PRI_OID VALUES('1.3.6.1.4.1.9.1.400','MEM_FREE','WALK:1.3.6.1.4.1.9.9.48.1.1.1.6') | 233 | INSERT INTO TB_CFG_SNMP_PRI_OID VALUES('1.3.6.1.4.1.9.1.400','MEM_FREE','WALK:1.3.6.1.4.1.9.9.48.1.1.1.6') |
217 | INSERT INTO TB_CFG_SNMP_PRI_OID VALUES('1.3.6.1.4.1.9.1.400','MEM_USED','WALK:1.3.6.1.4.1.9.9.48.1.1.1.5') | 234 | INSERT INTO TB_CFG_SNMP_PRI_OID VALUES('1.3.6.1.4.1.9.1.400','MEM_USED','WALK:1.3.6.1.4.1.9.9.48.1.1.1.5') |
218 | -INSERT INTO TB_CFG_SNMP_PRI_KPI_CONVERT VALUES('PM-00-02-001-06','1.3.6.1.4.1.9.1.400','Double.parseDouble(CPU_USAGE)') | ||
219 | -INSERT INTO TB_CFG_SNMP_PRI_KPI_CONVERT VALUES('PM-00-02-001-07','1.3.6.1.4.1.9.1.400','Double.parseDouble(MEM_USED)/(Double.parseDouble(MEM_USED)+Double.parseDouble(MEM_FREE))*100') | ||
220 | INSERT INTO TB_CFG_SNMP_PRI_OID VALUES('1.3.6.1.4.1.9.1.283','CPU_USAGE','1.3.6.1.4.1.9.2.1.57.0') | 235 | INSERT INTO TB_CFG_SNMP_PRI_OID VALUES('1.3.6.1.4.1.9.1.283','CPU_USAGE','1.3.6.1.4.1.9.2.1.57.0') |
221 | INSERT INTO TB_CFG_SNMP_PRI_OID VALUES('1.3.6.1.4.1.9.1.283','MEM_FREE','WALK:1.3.6.1.4.1.9.9.48.1.1.1.6') | 236 | INSERT INTO TB_CFG_SNMP_PRI_OID VALUES('1.3.6.1.4.1.9.1.283','MEM_FREE','WALK:1.3.6.1.4.1.9.9.48.1.1.1.6') |
222 | INSERT INTO TB_CFG_SNMP_PRI_OID VALUES('1.3.6.1.4.1.9.1.283','MEM_USED','WALK:1.3.6.1.4.1.9.9.48.1.1.1.5') | 237 | INSERT INTO TB_CFG_SNMP_PRI_OID VALUES('1.3.6.1.4.1.9.1.283','MEM_USED','WALK:1.3.6.1.4.1.9.9.48.1.1.1.5') |
223 | -INSERT INTO TB_CFG_SNMP_PRI_KPI_CONVERT VALUES('PM-00-02-001-06','1.3.6.1.4.1.9.1.283','Double.parseDouble(CPU_USAGE)') | ||
224 | -INSERT INTO TB_CFG_SNMP_PRI_KPI_CONVERT VALUES('PM-00-02-001-07','1.3.6.1.4.1.9.1.283','Double.parseDouble(MEM_USED)/(Double.parseDouble(MEM_USED)+Double.parseDouble(MEM_FREE))*100') | ||
225 | INSERT INTO TB_CFG_SNMP_PRI_OID VALUES('1.3.6.1.4.1.9.1.501','CPU_USAGE','1.3.6.1.4.1.9.2.1.57.0') | 238 | INSERT INTO TB_CFG_SNMP_PRI_OID VALUES('1.3.6.1.4.1.9.1.501','CPU_USAGE','1.3.6.1.4.1.9.2.1.57.0') |
226 | INSERT INTO TB_CFG_SNMP_PRI_OID VALUES('1.3.6.1.4.1.9.1.501','MEM_FREE','WALK:1.3.6.1.4.1.9.9.48.1.1.1.6') | 239 | INSERT INTO TB_CFG_SNMP_PRI_OID VALUES('1.3.6.1.4.1.9.1.501','MEM_FREE','WALK:1.3.6.1.4.1.9.9.48.1.1.1.6') |
227 | INSERT INTO TB_CFG_SNMP_PRI_OID VALUES('1.3.6.1.4.1.9.1.501','MEM_USED','WALK:1.3.6.1.4.1.9.9.48.1.1.1.5') | 240 | INSERT INTO TB_CFG_SNMP_PRI_OID VALUES('1.3.6.1.4.1.9.1.501','MEM_USED','WALK:1.3.6.1.4.1.9.9.48.1.1.1.5') |
228 | INSERT INTO TB_CFG_SNMP_PRI_OID VALUES('1.3.6.1.4.1.2011.2.23.98','CPU_USAGE','WALK:1.3.6.1.4.1.2011.6.3.4.1.2') | 241 | INSERT INTO TB_CFG_SNMP_PRI_OID VALUES('1.3.6.1.4.1.2011.2.23.98','CPU_USAGE','WALK:1.3.6.1.4.1.2011.6.3.4.1.2') |
229 | INSERT INTO TB_CFG_SNMP_PRI_OID VALUES('1.3.6.1.4.1.2011.2.23.98','MEM_FREE','WALK:1.3.6.1.4.1.2011.6.3.5.1.1.3') | 242 | INSERT INTO TB_CFG_SNMP_PRI_OID VALUES('1.3.6.1.4.1.2011.2.23.98','MEM_FREE','WALK:1.3.6.1.4.1.2011.6.3.5.1.1.3') |
230 | INSERT INTO TB_CFG_SNMP_PRI_OID VALUES('1.3.6.1.4.1.2011.2.23.98','MEM_TOTAL','WALK:1.3.6.1.4.1.2011.6.3.5.1.1.2') | 243 | INSERT INTO TB_CFG_SNMP_PRI_OID VALUES('1.3.6.1.4.1.2011.2.23.98','MEM_TOTAL','WALK:1.3.6.1.4.1.2011.6.3.5.1.1.2') |
231 | -INSERT INTO TB_CFG_SNMP_PRI_KPI_CONVERT VALUES('PM-00-02-001-06','1.3.6.1.4.1.9.1.501','Double.parseDouble(CPU_USAGE)') | ||
232 | -INSERT INTO TB_CFG_SNMP_PRI_KPI_CONVERT VALUES('PM-00-02-001-07','1.3.6.1.4.1.9.1.501','Double.parseDouble(MEM_USED)/(Double.parseDouble(MEM_USED)+Double.parseDouble(MEM_FREE))*100') | ||
233 | INSERT INTO TB_CFG_SNMP_PRI_OID VALUES('1.3.6.1.4.1.9.1.925','CPU_USAGE','1.3.6.1.4.1.9.2.1.57.0') | 244 | INSERT INTO TB_CFG_SNMP_PRI_OID VALUES('1.3.6.1.4.1.9.1.925','CPU_USAGE','1.3.6.1.4.1.9.2.1.57.0') |
234 | INSERT INTO TB_CFG_SNMP_PRI_OID VALUES('1.3.6.1.4.1.9.1.925','MEM_FREE','WALK:1.3.6.1.4.1.9.9.48.1.1.1.6') | 245 | INSERT INTO TB_CFG_SNMP_PRI_OID VALUES('1.3.6.1.4.1.9.1.925','MEM_FREE','WALK:1.3.6.1.4.1.9.9.48.1.1.1.6') |
235 | INSERT INTO TB_CFG_SNMP_PRI_OID VALUES('1.3.6.1.4.1.9.1.925','MEM_USED','WALK:1.3.6.1.4.1.9.9.48.1.1.1.5') | 246 | INSERT INTO TB_CFG_SNMP_PRI_OID VALUES('1.3.6.1.4.1.9.1.925','MEM_USED','WALK:1.3.6.1.4.1.9.9.48.1.1.1.5') |
236 | -INSERT INTO TB_CFG_SNMP_PRI_KPI_CONVERT VALUES('PM-00-02-001-06','1.3.6.1.4.1.9.1.925','Double.parseDouble(CPU_USAGE)') | ||
237 | -INSERT INTO TB_CFG_SNMP_PRI_KPI_CONVERT VALUES('PM-00-02-001-07','1.3.6.1.4.1.9.1.925','Double.parseDouble(MEM_USED)/(Double.parseDouble(MEM_USED)+Double.parseDouble(MEM_FREE))*100') | ||
238 | INSERT INTO TB_CFG_SNMP_PRI_OID VALUES('1.3.6.1.4.1.25506.1.391','CPU_USAGE','WALK:1.3.6.1.4.1.25506.2.6.1.1.1.1.6') | 247 | INSERT INTO TB_CFG_SNMP_PRI_OID VALUES('1.3.6.1.4.1.25506.1.391','CPU_USAGE','WALK:1.3.6.1.4.1.25506.2.6.1.1.1.1.6') |
239 | INSERT INTO TB_CFG_SNMP_PRI_OID VALUES('1.3.6.1.4.1.25506.1.391','MEM_USED','WALK:1.3.6.1.4.1.25506.2.6.1.1.1.1.8') | 248 | INSERT INTO TB_CFG_SNMP_PRI_OID VALUES('1.3.6.1.4.1.25506.1.391','MEM_USED','WALK:1.3.6.1.4.1.25506.2.6.1.1.1.1.8') |
240 | INSERT INTO TB_CFG_SNMP_PRI_OID VALUES('1.3.6.1.4.1.25506.1.391','MEM_TOTAL','WALK:1.3.6.1.4.1.25506.2.6.1.1.1.1.10') | 249 | INSERT INTO TB_CFG_SNMP_PRI_OID VALUES('1.3.6.1.4.1.25506.1.391','MEM_TOTAL','WALK:1.3.6.1.4.1.25506.2.6.1.1.1.1.10') |
241 | -INSERT INTO TB_CFG_SNMP_PRI_KPI_CONVERT VALUES('PM-00-02-001-06','1.3.6.1.4.1.25506.1.391','Double.parseDouble(CPU_USAGE)') | ||
242 | -INSERT INTO TB_CFG_SNMP_PRI_KPI_CONVERT VALUES('PM-00-02-001-07','1.3.6.1.4.1.25506.1.391','Double.parseDouble(MEM_USED)/Double.parseDouble(MEM_TOTAL)*100')INSERT INTO TB_CFG_SNMP_PRI_OID VALUES('1.3.6.1.4.1.25506.1.391','MEM_USED','WALK:1.3.6.1.4.1.25506.2.6.1.1.1.1.8') | ||
243 | INSERT INTO TB_CFG_SNMP_PRI_OID VALUES('1.3.6.1.4.1.2011.2.23.39','CPU_USAGE','WALK:1.3.6.1.4.1.2011.6.7.1.2') | 250 | INSERT INTO TB_CFG_SNMP_PRI_OID VALUES('1.3.6.1.4.1.2011.2.23.39','CPU_USAGE','WALK:1.3.6.1.4.1.2011.6.7.1.2') |
244 | INSERT INTO TB_CFG_SNMP_PRI_OID VALUES('1.3.6.1.4.1.2011.2.23.39','MEM_USAGE','WALK:1.3.6.1.4.1.2011.6.1.1.1.2') | 251 | INSERT INTO TB_CFG_SNMP_PRI_OID VALUES('1.3.6.1.4.1.2011.2.23.39','MEM_USAGE','WALK:1.3.6.1.4.1.2011.6.1.1.1.2') |
245 | -INSERT INTO TB_CFG_SNMP_PRI_KPI_CONVERT VALUES('PM-00-02-001-06','1.3.6.1.4.1.2011.2.23.39','Double.parseDouble(CPU_USAGE)') | ||
246 | -INSERT INTO TB_CFG_SNMP_PRI_KPI_CONVERT VALUES('PM-00-02-001-07','1.3.6.1.4.1.2011.2.23.39','Double.parseDouble(MEM_USAGE)') | ||
247 | -INSERT INTO TB_CFG_SNMP_PRI_KPI_CONVERT VALUES('PM-00-02-001-06','1.3.6.1.4.1.9.1.968','Double.parseDouble(CPU_USAGE)') | ||
248 | -INSERT INTO TB_CFG_SNMP_PRI_KPI_CONVERT VALUES('PM-00-02-001-07','1.3.6.1.4.1.9.1.968','Double.parseDouble(MEM_USED)/(Double.parseDouble(MEM_USED)+Double.parseDouble(MEM_FREE))*100') | ||
249 | INSERT INTO TB_CFG_SNMP_PRI_OID VALUES('1.3.6.1.4.1.9.1.968','CPU_USAGE','1.3.6.1.4.1.9.2.1.57.0') | 252 | INSERT INTO TB_CFG_SNMP_PRI_OID VALUES('1.3.6.1.4.1.9.1.968','CPU_USAGE','1.3.6.1.4.1.9.2.1.57.0') |
250 | INSERT INTO TB_CFG_SNMP_PRI_OID VALUES('1.3.6.1.4.1.9.1.968','MEM_FREE','WALK:1.3.6.1.4.1.9.9.48.1.1.1.6') | 253 | INSERT INTO TB_CFG_SNMP_PRI_OID VALUES('1.3.6.1.4.1.9.1.968','MEM_FREE','WALK:1.3.6.1.4.1.9.9.48.1.1.1.6') |
251 | INSERT INTO TB_CFG_SNMP_PRI_OID VALUES('1.3.6.1.4.1.9.1.968','MEM_USED','WALK:1.3.6.1.4.1.9.9.48.1.1.1.5') | 254 | INSERT INTO TB_CFG_SNMP_PRI_OID VALUES('1.3.6.1.4.1.9.1.968','MEM_USED','WALK:1.3.6.1.4.1.9.9.48.1.1.1.5') |
No preview for this file type
src/com/sitech/database/maps/DowntimeMap.xml
0 → 100644
1 | +<?xml version="1.0" encoding="UTF-8" ?> | ||
2 | + | ||
3 | +<!DOCTYPE sqlMap | ||
4 | + PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN" | ||
5 | + "http://www.ibatis.com/dtd/sql-map-2.dtd"> | ||
6 | + | ||
7 | +<sqlMap namespace="TB_DOWNTIME_HOST"> | ||
8 | + <typeAlias alias="downtimeBean" type="com.sitech.ismp.check.downtime.DowntimeBean" /> | ||
9 | + | ||
10 | + <select id="getDowntimeByIp" resultClass="downtimeBean" parameterClass="java.util.HashMap"> | ||
11 | + SELECT | ||
12 | + DEVICE_ID, | ||
13 | + DEVICE_IP, | ||
14 | + DEVICE_ALIAS, | ||
15 | + KBP_CLASS, | ||
16 | + PROTOCOL, | ||
17 | + PROTOCOL_PORT, | ||
18 | + USER_NAME, | ||
19 | + PASSWORD, | ||
20 | + CREATE_DATE | ||
21 | + FROM TB_DOWNTIME_HOST | ||
22 | + <isNotEmpty property="DEVICE_IP"> | ||
23 | + WHERE DEVICE_IP IN #DEVICE_IP# | ||
24 | + </isNotEmpty> | ||
25 | + | ||
26 | + </select> | ||
27 | + | ||
28 | + <insert id="addDowntimeHost" parameterClass="downtimeBean"> | ||
29 | + INSERT INTO TB_DOWNTIME_HOST ( | ||
30 | + DEVICE_ID, | ||
31 | + DEVICE_IP, | ||
32 | + DEVICE_ALIAS, | ||
33 | + KBP_CLASS, | ||
34 | + PROTOCOL, | ||
35 | + PROTOCOL_PORT, | ||
36 | + USER_NAME, | ||
37 | + PASSWORD, | ||
38 | + CREATE_DATE) | ||
39 | + VALUES ( | ||
40 | + #DEVICE_ID#, | ||
41 | + #DEVICE_IP#, | ||
42 | + #DEVICE_ALIAS#, | ||
43 | + #KBP_CLASS#, | ||
44 | + #PROTOCOL#, | ||
45 | + #PROTOCOL_PORT#, | ||
46 | + #USER_NAME#, | ||
47 | + #PASSWORD#, | ||
48 | + #CREATE_DATE#); | ||
49 | + </insert> | ||
50 | + | ||
51 | + | ||
52 | + <delete id="deleteDowntimeHostByIp" parameterClass="java.lang.String"> | ||
53 | + DELETE FROM TB_DOWNTIME_HOST WHERE DEVICE_IP=#ip# | ||
54 | + </delete> | ||
55 | + | ||
56 | + <update id="updateDowntimeHostByIp" parameterClass="downtimeBean"> | ||
57 | + UPDATE TB_DOWNTIME_HOST SET | ||
58 | + <isNotEmpty property="PROTOCOL_PORT"> | ||
59 | + PROTOCOL_PORT = #PROTOCOL_PORT#, | ||
60 | + </isNotEmpty> | ||
61 | + <isNotEmpty property="USER_NAME"> | ||
62 | + USER_NAME = #USER_NAME#, | ||
63 | + </isNotEmpty> | ||
64 | + <isNotEmpty property="PASSWORD"> | ||
65 | + PASSWORD = #PASSWORD#, | ||
66 | + </isNotEmpty> | ||
67 | + DEVICE_ALIAS = #DEVICE_ALIAS# | ||
68 | + WHERE DEVICE_IP = #DEVICE_IP# | ||
69 | + </update> | ||
70 | + | ||
71 | +</sqlMap> |
1 | +<?xml version="1.0" encoding="UTF-8" ?> | ||
2 | + | ||
3 | +<!DOCTYPE sqlMap | ||
4 | + PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN" | ||
5 | + "http://www.ibatis.com/dtd/sql-map-2.dtd"> | ||
6 | + | ||
7 | +<sqlMap namespace="TB_DOWNTIME_HOST_HISTORY"> | ||
8 | + <typeAlias alias="downtimeHistoryBean" type="com.sitech.ismp.check.downtime.DowntimeHistoryBean" /> | ||
9 | + | ||
10 | + <select id="getDowntimeHistoryByIp" resultClass="downtimeHistoryBean" parameterClass="java.util.HashMap"> | ||
11 | + SELECT | ||
12 | + DEVICE_ID,DEVICE_IP,CREATE_DATE FROM | ||
13 | + TB_DOWNTIME_HOST_HISTORY | ||
14 | + WHERE DEVICE_IP = #DEVICE_IP# AND CREATE_DATE= #CREATE_DATE# | ||
15 | + | ||
16 | + </select> | ||
17 | + | ||
18 | + <insert id="addDowntimeHistory" parameterClass="downtimeHistoryBean"> | ||
19 | + INSERT INTO TB_DOWNTIME_HOST_HISTORY ( | ||
20 | + DEVICE_ID, DEVICE_IP, CREATE_DATE) | ||
21 | + VALUES (#DEVICE_ID#, #DEVICE_IP#, #CREATE_DATE#); | ||
22 | + </insert> | ||
23 | + | ||
24 | + | ||
25 | + <delete id="deleteDowntimeHistory" parameterClass="java.lang.String"> | ||
26 | + DELETE FROM TB_DOWNTIME_HOST_HISTORY | ||
27 | + </delete> | ||
28 | + | ||
29 | +</sqlMap> |
1 | +<?xml version="1.0" encoding="UTF-8" ?> | ||
2 | + | ||
3 | +<!DOCTYPE sqlMap | ||
4 | + PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN" | ||
5 | + "http://www.ibatis.com/dtd/sql-map-2.dtd"> | ||
6 | + | ||
7 | +<sqlMap namespace="TB_TOPO_PHYSICAL_DEVICE"> | ||
8 | + <typeAlias alias="tbTopoPhysicalDevice" type="com.sitech.snmptrap.TbTopoPhysicalDeviceBean" /> | ||
9 | + | ||
10 | + <select id="queryTbTopoPhysicalDevice" resultClass="tbTopoPhysicalDevice" parameterClass="java.util.HashMap"> | ||
11 | + SELECT | ||
12 | + DEVICE_ID, | ||
13 | + DEVICE_IP, | ||
14 | + DEVICE_ALIAS, | ||
15 | + DEVICE_CATALOG, | ||
16 | + DEVICE_CNAME, | ||
17 | + KBP_CLASS, | ||
18 | + DEVICE_DESC, | ||
19 | + DEVICE_ROOM, | ||
20 | + DEVICE_RACK, | ||
21 | + CREATE_DATE | ||
22 | + FROM TB_TOPO_PHYSICAL_DEVICE | ||
23 | + <isNotEmpty property="DEVICE_IP"> | ||
24 | + WHERE DEVICE_IP IN #DEVICE_IP# | ||
25 | + </isNotEmpty> | ||
26 | + | ||
27 | + </select> | ||
28 | + | ||
29 | + <insert id="addTbTopoPhysicalDevice" parameterClass="tbTopoPhysicalDevice"> | ||
30 | + INSERT INTO TB_TOPO_PHYSICAL_DEVICE ( | ||
31 | + DEVICE_ID, | ||
32 | + DEVICE_IP, | ||
33 | + DEVICE_ALIAS, | ||
34 | + DEVICE_CATALOG, | ||
35 | + DEVICE_CNAME, | ||
36 | + KBP_CLASS, | ||
37 | + DEVICE_DESC, | ||
38 | + DEVICE_ROOM, | ||
39 | + DEVICE_RACK, | ||
40 | + CREATE_DATE) | ||
41 | + VALUES ( | ||
42 | + #DEVICE_ID#, | ||
43 | + #DEVICE_IP#, | ||
44 | + #DEVICE_ALIAS#, | ||
45 | + #DEVICE_CATALOG#, | ||
46 | + #DEVICE_CNAME#, | ||
47 | + #KBP_CLASS#, | ||
48 | + #DEVICE_DESC#, | ||
49 | + #DEVICE_ROOM#, | ||
50 | + #DEVICE_RACK#, | ||
51 | + #CREATE_DATE#); | ||
52 | + | ||
53 | + </insert> | ||
54 | + | ||
55 | + | ||
56 | + <delete id="deleteTbTopoPhysicalDevice" parameterClass="java.lang.String"> | ||
57 | + delete from TB_TOPO_PHYSICAL_DEVICE WHERE DEVICE_ID=#deviceId# | ||
58 | + </delete> | ||
59 | + <delete id="deletePhysicalDeviceByIp" parameterClass="java.lang.String"> | ||
60 | + delete from TB_TOPO_PHYSICAL_DEVICE where DEVICE_IP=#ip# | ||
61 | + </delete> | ||
62 | + | ||
63 | + <update id="updateTbTopoPhysicalDevice" parameterClass="tbTopoPhysicalDevice"> | ||
64 | + UPDATE TB_TOPO_PHYSICAL_DEVICE SET | ||
65 | + <isNotEmpty property="DEVICE_DESC"> | ||
66 | + DEVICE_DESC = #DEVICE_DESC#, | ||
67 | + </isNotEmpty> | ||
68 | + <isNotEmpty property="DEVICE_ROOM"> | ||
69 | + DEVICE_ROOM = #DEVICE_ROOM#, | ||
70 | + </isNotEmpty> | ||
71 | + <isNotEmpty property="DEVICE_RACK"> | ||
72 | + DEVICE_RACK = #DEVICE_RACK#, | ||
73 | + </isNotEmpty> | ||
74 | + DEVICE_ALIAS = #DEVICE_ALIAS#, | ||
75 | + DEVICE_CNAME = #DEVICE_CNAME# | ||
76 | + WHERE DEVICE_IP = #DEVICE_IP# | ||
77 | + </update> | ||
78 | + | ||
79 | +</sqlMap> |
1 | +package com.sitech.ismp.check.downtime; | ||
2 | + | ||
3 | +import java.io.Serializable; | ||
4 | +import java.util.Date; | ||
5 | + | ||
6 | +/** | ||
7 | + * @author frank zmm@honggroup.com.cn | ||
8 | + * @Description: 宕机表对应的bean。 | ||
9 | + * @Package com.sitech.ismp.check.downtime | ||
10 | + * @ClassName: com.sitech.ismp.check.downtime.DowntimeBean | ||
11 | + * @date 2017年04月16日 13:30 | ||
12 | + */ | ||
13 | +public class DowntimeBean implements Serializable{ | ||
14 | + | ||
15 | + // 设备ID | ||
16 | + private String DEVICE_ID; | ||
17 | + // 设备IP地址 | ||
18 | + private String DEVICE_IP; | ||
19 | + // 设备别名 | ||
20 | + private String DEVICE_ALIAS; | ||
21 | + // kbp_class 设备的分类 | ||
22 | + private String KBP_CLASS; | ||
23 | + // 连接协议(ssh/telnet) | ||
24 | + private String PROTOCOL; | ||
25 | + // 协议端口 | ||
26 | + private int PROTOCOL_PORT; | ||
27 | + // 用户名 | ||
28 | + private String USER_NAME; | ||
29 | + // 密码 | ||
30 | + private String PASSWORD; | ||
31 | + // 创建日期 | ||
32 | + private Date CREATE_DATE; | ||
33 | + // ping IP 后的结果 | ||
34 | + private boolean pingState; | ||
35 | + // ping后进行ssh连接后的状态。 | ||
36 | + private boolean sshState; | ||
37 | + // 告警级别 1 严重告警;2 重要告警 | ||
38 | + private int warningLevel; | ||
39 | + // ping后进行ssh连接后的结果,即重要告警还是严重告警。 | ||
40 | + private String warningResult; | ||
41 | + | ||
42 | + private String unitId; | ||
43 | + | ||
44 | + public String getDEVICE_ID() { | ||
45 | + return DEVICE_ID; | ||
46 | + } | ||
47 | + | ||
48 | + public void setDEVICE_ID(String DEVICE_ID) { | ||
49 | + this.DEVICE_ID = DEVICE_ID; | ||
50 | + } | ||
51 | + | ||
52 | + public String getDEVICE_IP() { | ||
53 | + return DEVICE_IP; | ||
54 | + } | ||
55 | + | ||
56 | + public void setDEVICE_IP(String DEVICE_IP) { | ||
57 | + this.DEVICE_IP = DEVICE_IP; | ||
58 | + } | ||
59 | + | ||
60 | + public String getDEVICE_ALIAS() { | ||
61 | + return DEVICE_ALIAS; | ||
62 | + } | ||
63 | + | ||
64 | + public void setDEVICE_ALIAS(String DEVICE_ALIAS) { | ||
65 | + this.DEVICE_ALIAS = DEVICE_ALIAS; | ||
66 | + } | ||
67 | + | ||
68 | + public String getKBP_CLASS() { | ||
69 | + return KBP_CLASS; | ||
70 | + } | ||
71 | + | ||
72 | + public void setKBP_CLASS(String KBP_CLASS) { | ||
73 | + this.KBP_CLASS = KBP_CLASS; | ||
74 | + } | ||
75 | + | ||
76 | + public String getPROTOCOL() { | ||
77 | + return PROTOCOL; | ||
78 | + } | ||
79 | + | ||
80 | + public void setPROTOCOL(String PROTOCOL) { | ||
81 | + this.PROTOCOL = PROTOCOL; | ||
82 | + } | ||
83 | + | ||
84 | + public int getPROTOCOL_PORT() { | ||
85 | + return PROTOCOL_PORT; | ||
86 | + } | ||
87 | + | ||
88 | + public void setPROTOCOL_PORT(int PROTOCOL_PORT) { | ||
89 | + this.PROTOCOL_PORT = PROTOCOL_PORT; | ||
90 | + } | ||
91 | + | ||
92 | + public String getUSER_NAME() { | ||
93 | + return USER_NAME; | ||
94 | + } | ||
95 | + | ||
96 | + public void setUSER_NAME(String USER_NAME) { | ||
97 | + this.USER_NAME = USER_NAME; | ||
98 | + } | ||
99 | + | ||
100 | + public String getPASSWORD() { | ||
101 | + return PASSWORD; | ||
102 | + } | ||
103 | + | ||
104 | + public void setPASSWORD(String PASSWORD) { | ||
105 | + this.PASSWORD = PASSWORD; | ||
106 | + } | ||
107 | + | ||
108 | + public Date getCREATE_DATE() { | ||
109 | + return CREATE_DATE; | ||
110 | + } | ||
111 | + | ||
112 | + public void setCREATE_DATE(Date CREATE_DATE) { | ||
113 | + this.CREATE_DATE = CREATE_DATE; | ||
114 | + } | ||
115 | + | ||
116 | + public boolean isPingState() { | ||
117 | + return pingState; | ||
118 | + } | ||
119 | + | ||
120 | + public void setPingState(boolean pingState) { | ||
121 | + this.pingState = pingState; | ||
122 | + } | ||
123 | + | ||
124 | + public boolean isSshState() { | ||
125 | + return sshState; | ||
126 | + } | ||
127 | + | ||
128 | + public void setSshState(boolean sshState) { | ||
129 | + this.sshState = sshState; | ||
130 | + } | ||
131 | + | ||
132 | + public String getWarningResult() { | ||
133 | + return warningResult; | ||
134 | + } | ||
135 | + | ||
136 | + public void setWarningResult(String warningResult) { | ||
137 | + this.warningResult = warningResult; | ||
138 | + } | ||
139 | + | ||
140 | + public int getWarningLevel() { | ||
141 | + return warningLevel; | ||
142 | + } | ||
143 | + | ||
144 | + public void setWarningLevel(int warningLevel) { | ||
145 | + this.warningLevel = warningLevel; | ||
146 | + } | ||
147 | + | ||
148 | + public String getUnitId() { | ||
149 | + return unitId; | ||
150 | + } | ||
151 | + | ||
152 | + public void setUnitId(String unitId) { | ||
153 | + this.unitId = unitId; | ||
154 | + } | ||
155 | + | ||
156 | + @Override | ||
157 | + public String toString() { | ||
158 | + return "DowntimeBean{" + | ||
159 | + " DEVICE_IP='" + DEVICE_IP + '\'' + | ||
160 | + ", pingState=" + pingState + | ||
161 | + ", sshState=" + sshState + | ||
162 | + ", warningResult='" + warningResult + '\'' + | ||
163 | + ", DEVICE_ALIAS='" + DEVICE_ALIAS + '\'' + | ||
164 | + ", USER_NAME='" + USER_NAME + '\'' + | ||
165 | + ", warningLevel=" + warningLevel + | ||
166 | + '}'; | ||
167 | + } | ||
168 | + | ||
169 | +} |
1 | +package com.sitech.ismp.check.downtime; | ||
2 | + | ||
3 | +import com.sitech.ismp.coll.basic.TblATO_KPIDETAIL; | ||
4 | +import org.apache.log4j.Logger; | ||
5 | + | ||
6 | +import java.text.SimpleDateFormat; | ||
7 | +import java.util.*; | ||
8 | + | ||
9 | +/** | ||
10 | + * @author frank zmm@honggroup.com.cn | ||
11 | + * @Description: 宕机检测MBean实现类 | ||
12 | + * @Package com.sitech.ismp.check.downtime | ||
13 | + * @ClassName: com.sitech.ismp.check.downtime.Downtime | ||
14 | + * @date 2017年04月15日 13:43 | ||
15 | + */ | ||
16 | +public class Downtime implements DowntimeMBean { | ||
17 | + | ||
18 | + private static Logger log= Logger.getLogger(Downtime.class); | ||
19 | + | ||
20 | + | ||
21 | + DowntimeDao dao=new DowntimeDao(); | ||
22 | + DowntimeHistoryDao historyDao=new DowntimeHistoryDao(); | ||
23 | + SimpleDateFormat formaF=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); | ||
24 | + | ||
25 | + /** | ||
26 | + * 检查主机的连接状态。如果连接异常,需要每隔30秒连续连接3次,如果3次连接都异常,则视为主机宕机,发送严重告警。 | ||
27 | + * 1 将需要监控的设备添加到内存数据库中。 | ||
28 | + * 2 对表中的主机进行ping操作。 | ||
29 | + * 3 对表中的主机进行SSH登录认证 | ||
30 | + * 4 发送告警信息 | ||
31 | + * @param params | ||
32 | + * @return | ||
33 | + */ | ||
34 | + @Override | ||
35 | + public Vector<TblATO_KPIDETAIL> checkConnectState(HashMap<String,String> params){ | ||
36 | + dao.addDowntimeHost(params); | ||
37 | + String ipAddr=params.get("DEVICE_IP"); | ||
38 | + boolean flag=isNeedExecuteCheckMethod(ipAddr); | ||
39 | + if(flag){ | ||
40 | + log.info("*************"+ formaF.format(new Date()) +" execute method checkConnectState ................."); | ||
41 | + // 将需要监控的设备添加到内存数据库中。 | ||
42 | + DowntimeBean bean=dao.map2DowntimeBean(params); | ||
43 | + DowntimeServer server=new DowntimeServer(bean); | ||
44 | + // 包括 2-4 需要执行的内容。 如果监控的设备很多的时候,使用单线程可能一个监控周期都不能ping完所有的主机。 | ||
45 | + server.run(); | ||
46 | + log.info("@@@@@@@@@@@@@@@@@@@@@@***** finish run method *****@@@@@@@@@@@@@@@@@@@@@@@@@@@"); | ||
47 | + log.info(bean.toString()); | ||
48 | + } | ||
49 | + Vector<TblATO_KPIDETAIL> bean = new Vector<TblATO_KPIDETAIL>(); | ||
50 | + return bean; | ||
51 | + } | ||
52 | + | ||
53 | + | ||
54 | + | ||
55 | + /** | ||
56 | + * 是否执行checkConnectState 方法。 | ||
57 | + * 判断当前IP是否发送过告警信息。每天一个主机只发送1条告警信息。 | ||
58 | + * @return | ||
59 | + */ | ||
60 | + private boolean isNeedExecuteCheckMethod(String ipAddr){ | ||
61 | + boolean flag=true; // 是否该ipAddr已经发送过消息。 | ||
62 | + SimpleDateFormat formaF=new SimpleDateFormat("yyyy-MM-dd"); | ||
63 | + String currentDay=formaF.format(new Date()); | ||
64 | + List<DowntimeHistoryBean> list=historyDao.getDowntimeHistoryByIp(ipAddr,currentDay); | ||
65 | + if(null !=list && list.size()>0){ | ||
66 | + flag=false; | ||
67 | + } | ||
68 | + return flag; | ||
69 | + } | ||
70 | + | ||
71 | + | ||
72 | +} |
1 | +package com.sitech.ismp.check.downtime; | ||
2 | + | ||
3 | +import com.sitech.database.dao.BaseDao; | ||
4 | +import org.apache.log4j.Logger; | ||
5 | + | ||
6 | +import java.sql.SQLException; | ||
7 | +import java.util.*; | ||
8 | + | ||
9 | +/** | ||
10 | + * @author frank zmm@honggroup.com.cn | ||
11 | + * @Description: 宕机检测MBean对应dao类 | ||
12 | + * @Package com.sitech.ismp.check.downtime | ||
13 | + * @ClassName: com.sitech.ismp.check.downtime.DowntimeDao | ||
14 | + * @date 2017年04月16日 14:15 | ||
15 | + */ | ||
16 | +public class DowntimeDao extends BaseDao { | ||
17 | + | ||
18 | + private static Logger log=Logger.getLogger(DowntimeDao.class); | ||
19 | + | ||
20 | + /** | ||
21 | + * 添加需要监控宕机情况的设备,如果该设备已经存在,则修改。 | ||
22 | + */ | ||
23 | + public void addDowntimeHost(HashMap<String,String> params){ | ||
24 | + DowntimeBean downtimeBean=map2DowntimeBean(params); | ||
25 | + addDowntimeHost(downtimeBean); | ||
26 | + } | ||
27 | + | ||
28 | + public void addDowntimeHost(DowntimeBean downtimeBean){ | ||
29 | + try { | ||
30 | + int updateSum = sqlmapClient.update("updateDowntimeHostByIp",downtimeBean); | ||
31 | + if(updateSum == 0){ | ||
32 | + sqlmapClient.insert("addDowntimeHost", downtimeBean); | ||
33 | + } | ||
34 | + } catch (Exception e) { | ||
35 | + error.error("Exception while addDowntimeHost.", e); | ||
36 | + } | ||
37 | + } | ||
38 | + | ||
39 | + | ||
40 | + /** | ||
41 | + * 根据IP删除对应的记录。 | ||
42 | + * @param ip | ||
43 | + * @return | ||
44 | + */ | ||
45 | + public int deleteDowntimeHostByIp(String ip){ | ||
46 | + try { | ||
47 | + return sqlmapClient.delete("deleteDowntimeHostByIp", ip); | ||
48 | + } catch (Exception e) { | ||
49 | + error.error("Exception while deleteDowntimeHostByIp.", e); | ||
50 | + } | ||
51 | + return -1; | ||
52 | + } | ||
53 | + | ||
54 | + /** | ||
55 | + * 根据IP查询对应的记录。 | ||
56 | + * @param deviceIp | ||
57 | + * @return | ||
58 | + */ | ||
59 | + public List<DowntimeBean> getDowntimeByIp(String deviceIp){ | ||
60 | + HashMap<String,String> param=new HashMap<String, String>(); | ||
61 | + param.put("DEVICE_IP",deviceIp); | ||
62 | + List<DowntimeBean> beanList=new ArrayList<DowntimeBean>(); | ||
63 | + try { | ||
64 | + beanList=sqlmapClient.queryForList("getDowntimeByIp", param); | ||
65 | + } catch (SQLException e) { | ||
66 | + e.printStackTrace(); | ||
67 | + } | ||
68 | + return beanList; | ||
69 | + } | ||
70 | + | ||
71 | + public DowntimeBean map2DowntimeBean(HashMap<String,String> params){ | ||
72 | + DowntimeBean bean=new DowntimeBean(); | ||
73 | + try { | ||
74 | + bean.setDEVICE_ID(UUID.randomUUID().toString()); | ||
75 | + bean.setDEVICE_IP(params.get("DEVICE_IP")); | ||
76 | + bean.setDEVICE_ALIAS(params.get("DEVICE_ALIAS")); | ||
77 | + bean.setKBP_CLASS(params.get("KBP_CLASS") + "-99"); | ||
78 | + bean.setPROTOCOL(params.get("PROTOCOL")); | ||
79 | + bean.setPROTOCOL_PORT(Integer.parseInt(params.get("PROTOCOL_PORT"))); | ||
80 | + bean.setUSER_NAME(params.get("USER_NAME")); | ||
81 | + bean.setPASSWORD(params.get("PASSWORD")); | ||
82 | + bean.setCREATE_DATE(new Date()); | ||
83 | + }catch (Exception e){ | ||
84 | + log.error("addDowntimeHost, write values to DowntimeBean has error!",e); | ||
85 | + } | ||
86 | + return bean; | ||
87 | + } | ||
88 | + | ||
89 | +} |
1 | +package com.sitech.ismp.check.downtime; | ||
2 | + | ||
3 | +/** | ||
4 | + * @author frank zmm@honggroup.com.cn | ||
5 | + * @Description: 发送告警的历史记录bean。 | ||
6 | + * @Package com.sitech.ismp.check.downtime | ||
7 | + * @ClassName: com.sitech.ismp.check.downtime.DowntimeHistoryBean | ||
8 | + * @date 2017年04月19日 14:04 | ||
9 | + */ | ||
10 | +public class DowntimeHistoryBean { | ||
11 | + // 设备ID | ||
12 | + private String DEVICE_ID; | ||
13 | + // 设备IP地址 | ||
14 | + private String DEVICE_IP; | ||
15 | + // 创建日期 | ||
16 | + private String CREATE_DATE; | ||
17 | + | ||
18 | + public String getDEVICE_ID() { | ||
19 | + return DEVICE_ID; | ||
20 | + } | ||
21 | + | ||
22 | + public void setDEVICE_ID(String DEVICE_ID) { | ||
23 | + this.DEVICE_ID = DEVICE_ID; | ||
24 | + } | ||
25 | + | ||
26 | + public String getDEVICE_IP() { | ||
27 | + return DEVICE_IP; | ||
28 | + } | ||
29 | + | ||
30 | + public void setDEVICE_IP(String DEVICE_IP) { | ||
31 | + this.DEVICE_IP = DEVICE_IP; | ||
32 | + } | ||
33 | + | ||
34 | + public String getCREATE_DATE() { | ||
35 | + return CREATE_DATE; | ||
36 | + } | ||
37 | + | ||
38 | + public void setCREATE_DATE(String CREATE_DATE) { | ||
39 | + this.CREATE_DATE = CREATE_DATE; | ||
40 | + } | ||
41 | + | ||
42 | + @Override | ||
43 | + public String toString() { | ||
44 | + return "DowntimeHistoryBean{" + | ||
45 | + "DEVICE_ID='" + DEVICE_ID + '\'' + | ||
46 | + ", DEVICE_IP='" + DEVICE_IP + '\'' + | ||
47 | + ", CREATE_DATE='" + CREATE_DATE + '\'' + | ||
48 | + '}'; | ||
49 | + } | ||
50 | +} |
1 | +package com.sitech.ismp.check.downtime; | ||
2 | + | ||
3 | +import com.sitech.database.dao.BaseDao; | ||
4 | +import org.apache.log4j.Logger; | ||
5 | + | ||
6 | +import java.sql.SQLException; | ||
7 | +import java.util.ArrayList; | ||
8 | +import java.util.HashMap; | ||
9 | +import java.util.List; | ||
10 | + | ||
11 | +/** | ||
12 | + * @author frank zmm@honggroup.com.cn | ||
13 | + * @Description: 告警历史dao | ||
14 | + * @Package com.sitech.ismp.check.downtime | ||
15 | + * @ClassName: com.sitech.ismp.check.downtime.DowntimeHistoryDao | ||
16 | + * @date 2017年04月19日 14:06 | ||
17 | + */ | ||
18 | +public class DowntimeHistoryDao extends BaseDao { | ||
19 | + private static Logger log=Logger.getLogger(DowntimeHistoryDao.class); | ||
20 | + | ||
21 | + /** | ||
22 | + * 添加告警信息 | ||
23 | + * @param bean | ||
24 | + */ | ||
25 | + public void addDowntimeHistory(DowntimeHistoryBean bean){ | ||
26 | + try { | ||
27 | + sqlmapClient.insert("addDowntimeHistory", bean); | ||
28 | + } catch (SQLException e) { | ||
29 | + log.error("Exception while addDowntimeHistory.",e); | ||
30 | + } | ||
31 | + } | ||
32 | + | ||
33 | + /** | ||
34 | + * | ||
35 | + * @param deviceIp | ||
36 | + * @param createDate | ||
37 | + * @return | ||
38 | + */ | ||
39 | + public List<DowntimeHistoryBean> getDowntimeHistoryByIp(String deviceIp,String createDate){ | ||
40 | + HashMap<String,String> param=new HashMap<String, String>(); | ||
41 | + param.put("DEVICE_IP",deviceIp); | ||
42 | + param.put("CREATE_DATE",createDate); | ||
43 | + List<DowntimeHistoryBean> beanList=new ArrayList<DowntimeHistoryBean>(); | ||
44 | + try { | ||
45 | + beanList=sqlmapClient.queryForList("getDowntimeHistoryByIp", param); | ||
46 | + } catch (SQLException e) { | ||
47 | + e.printStackTrace(); | ||
48 | + } | ||
49 | + return beanList; | ||
50 | + } | ||
51 | + | ||
52 | + /** | ||
53 | + * 删除表中的所有数据。 | ||
54 | + * @return | ||
55 | + */ | ||
56 | + public int deleteDowntimeHistory(){ | ||
57 | + try { | ||
58 | + return sqlmapClient.delete("deleteDowntimeHistory", null); | ||
59 | + } catch (Exception e) { | ||
60 | + error.error("Exception while deleteDowntimeHistory.", e); | ||
61 | + } | ||
62 | + return -1; | ||
63 | + } | ||
64 | + | ||
65 | +} |
1 | +package com.sitech.ismp.check.downtime; | ||
2 | + | ||
3 | +import com.sitech.ismp.coll.basic.TblATO_KPIDETAIL; | ||
4 | + | ||
5 | +import java.util.HashMap; | ||
6 | +import java.util.Vector; | ||
7 | + | ||
8 | +/** | ||
9 | + * @author frank zmm@honggroup.com.cn | ||
10 | + * @Description: 宕机检测MBean接口 | ||
11 | + * @Package com.sitech.ismp.check.downtime | ||
12 | + * @ClassName: com.sitech.ismp.check.downtime.DowntimeMBean | ||
13 | + * @date 2017年04月15日 13:42 | ||
14 | + */ | ||
15 | +public interface DowntimeMBean { | ||
16 | + /** | ||
17 | + * 检查主机的连接状态。如果连接异常,需要每隔30秒连续连接3次,如果3次连接都异常,则视为主机宕机,发送严重告警。 | ||
18 | + * @param params | ||
19 | + * @return | ||
20 | + */ | ||
21 | + public Vector<TblATO_KPIDETAIL> checkConnectState(HashMap<String,String> params); | ||
22 | + | ||
23 | + | ||
24 | +} |
1 | +package com.sitech.ismp.check.downtime; | ||
2 | + | ||
3 | +import com.sitech.ismp.app.event.KPI2Event; | ||
4 | +import com.sitech.ismp.coll.basic.TblATO_EVENT; | ||
5 | +import com.sitech.util.Base62Util; | ||
6 | +import com.sitech.util.RandomGUID; | ||
7 | +import com.sitech.util.upload.RomoteController; | ||
8 | +import com.sitech.util.upload.SSHThread; | ||
9 | +import com.sitech.util.upload.TelnetThread; | ||
10 | +import org.apache.commons.lang.StringUtils; | ||
11 | +import org.apache.log4j.Logger; | ||
12 | + | ||
13 | +import java.io.BufferedReader; | ||
14 | +import java.io.IOException; | ||
15 | +import java.io.InputStreamReader; | ||
16 | +import java.text.ParseException; | ||
17 | +import java.text.SimpleDateFormat; | ||
18 | +import java.util.Date; | ||
19 | +import java.util.Random; | ||
20 | + | ||
21 | +/** | ||
22 | + * @author frank zmm@honggroup.com.cn | ||
23 | + * @Description: 宕机检测MBean对应Server类。 | ||
24 | + * ping的布尔结果 true:能ping通, false:ping不通 | ||
25 | + * ssh连接的布尔结果 true:能ssh连接, false:ssh连接异常 | ||
26 | + * @Package com.sitech.ismp.check.downtime | ||
27 | + * @ClassName: com.sitech.ismp.check.downtime.DowntimeServer | ||
28 | + * @date 2017年04月12日 16:22 | ||
29 | + */ | ||
30 | +public class DowntimeServer implements Runnable{ | ||
31 | + | ||
32 | + private static Logger log=Logger.getLogger(DowntimeServer.class); | ||
33 | + private DowntimeBean bean; | ||
34 | + DowntimeHistoryDao historyDao=new DowntimeHistoryDao(); | ||
35 | + | ||
36 | + public DowntimeServer(DowntimeBean bean){ | ||
37 | + this.bean=bean; | ||
38 | + } | ||
39 | + | ||
40 | + /** | ||
41 | + * 1 对表中的主机进行ping操作。 | ||
42 | + * 2 对表中的主机进行SSH登录认证。 | ||
43 | + * 3 发送告警信息。 | ||
44 | + */ | ||
45 | + @Override | ||
46 | + public void run(){ | ||
47 | + getPingResult(bean); | ||
48 | + getSshResult(bean); | ||
49 | + sendEvent2Workstation(bean); | ||
50 | + } | ||
51 | + | ||
52 | + /** | ||
53 | + * 将每个IP ping后的结果设置到pingState属性上。 | ||
54 | + * @param bean | ||
55 | + * @return | ||
56 | + */ | ||
57 | + public void getPingResult(DowntimeBean bean){ | ||
58 | + String ipAddr=null; | ||
59 | + log.info("============================== ping all parames ======================"); | ||
60 | + log.info(bean.toString()); | ||
61 | + ipAddr=bean.getDEVICE_IP(); | ||
62 | + boolean temp=pingIpAddress(ipAddr); | ||
63 | + bean.setPingState(temp); | ||
64 | + | ||
65 | + } | ||
66 | + | ||
67 | + /** | ||
68 | + * 进行SSH连接,并设置对应告警的内容。 | ||
69 | + * @param bean | ||
70 | + * @return | ||
71 | + */ | ||
72 | + public void getSshResult(DowntimeBean bean){ | ||
73 | + boolean pingState=bean.isPingState(); // true:能ping通, false:ping不通 | ||
74 | + log.info("========== pingState=== "+pingState+"=========="); | ||
75 | + boolean sshState=contentWithSsh(bean); | ||
76 | + log.info("========== sshState=== "+sshState+"=========="); | ||
77 | + if(!pingState){ // ping 不通 false | ||
78 | + if(!sshState){ // ssh 不能连接 严重告警 | ||
79 | + bean.setWarningLevel(1); | ||
80 | + bean.setWarningResult(bean.getDEVICE_IP()+" 的主机连接异常,请检查网络是否正常或主机宕机!"); | ||
81 | + log.info("========== bean.setWarningResult sshState ="+sshState+",=ip is ["+bean.getDEVICE_IP()+"] host connect error"); | ||
82 | + } | ||
83 | + }else{ //能ping 通 | ||
84 | + if(!sshState){ // ssh 不能连接 重要告警 | ||
85 | + bean.setWarningLevel(2); | ||
86 | + bean.setWarningResult(bean.getDEVICE_IP()+" 的主机不能进行登录,请检查用户名或密码!!"); | ||
87 | + log.info("========== bean.setWarningResult sshState ="+sshState+",=ip is["+bean.getDEVICE_IP()+"] host login error"); | ||
88 | + } | ||
89 | + } | ||
90 | + } | ||
91 | + | ||
92 | + /** | ||
93 | + * 将告警信息发送到Workstation。 | ||
94 | + * 当ping的结果为false的时候才发送。 | ||
95 | + * @param bean | ||
96 | + */ | ||
97 | + private void sendEvent2Workstation(DowntimeBean bean){ | ||
98 | + log.info("******************************************************"); | ||
99 | + log.info("*************** sendEvent2Workstation ****************"); | ||
100 | + log.info("******************************************************"); | ||
101 | + log.info(bean.toString()); | ||
102 | + if(!bean.isSshState()){ | ||
103 | + KPI2Event event=new KPI2Event(); | ||
104 | + TblATO_EVENT tblato_event = new TblATO_EVENT(); | ||
105 | + String eventId= RandomGUID.getRandomGUID(); | ||
106 | + try { | ||
107 | + tblato_event.setEVENT_ID(eventId); // 随即生成一个GUID作为唯一键 | ||
108 | + tblato_event.setUNIT_ID(bean.getUnitId()); // UNIT_ID在页面显示的为平台类型。 | ||
109 | + tblato_event.setKPI_ID("FM-00-01-001-999"); | ||
110 | + tblato_event.setKPI_VALUE(bean.getWarningResult()); | ||
111 | + tblato_event.setEVENT_TITLE(bean.getWarningResult()); | ||
112 | + tblato_event.setEVENT_CLASS(bean.getWarningLevel()); // 告警级别 | ||
113 | + tblato_event.setCLL_TIME(new java.util.Date()); | ||
114 | + tblato_event.setGENERANT_TIME(new java.util.Date()); | ||
115 | + tblato_event.setCFG_GUID(RandomGUID.getRandomGUID()); | ||
116 | + log.info("hava finish set values to TblATO_EVENT!"); | ||
117 | + } catch (ParseException e) { | ||
118 | + log.error("set values to TblATO_EVENT hava error!",e); | ||
119 | + } | ||
120 | + try { | ||
121 | + event.sendEvent2Workstation(tblato_event); | ||
122 | + addDowntimeHistory(bean); | ||
123 | + log.info("have write object(TblATO_EVENT) to Workstation!"); | ||
124 | + } catch (Exception e) { | ||
125 | + log.error("have write object(TblATO_EVENT) to Workstation have error!",e); | ||
126 | + } | ||
127 | + } | ||
128 | + } | ||
129 | + | ||
130 | + | ||
131 | + private void addDowntimeHistory(DowntimeBean bean){ | ||
132 | + DowntimeHistoryBean historyBean=new DowntimeHistoryBean(); | ||
133 | + historyBean.setDEVICE_ID(bean.getDEVICE_ID()); | ||
134 | + historyBean.setDEVICE_IP(bean.getDEVICE_IP()); | ||
135 | + SimpleDateFormat formaF=new SimpleDateFormat("yyyy-MM-dd"); | ||
136 | + String date=formaF.format(new Date())+""; | ||
137 | + date=date.substring(0,10); | ||
138 | + historyBean.setCREATE_DATE(date); | ||
139 | + historyDao.addDowntimeHistory(historyBean); | ||
140 | + } | ||
141 | + | ||
142 | + | ||
143 | + /** | ||
144 | + * 获取ping 后的结果,是否可以平通指定的IP。 | ||
145 | + * @param ipAddr | ||
146 | + * @return | ||
147 | + */ | ||
148 | + private boolean pingIpAddress(String ipAddr){ | ||
149 | + int pingErrorCount=0; // ping 不通的次数,ping3次。 | ||
150 | + int interval=8; // 时间间隔8秒。 | ||
151 | + boolean flag=false; | ||
152 | + boolean temp=false; | ||
153 | + for(int i=0;i<3;i++){ | ||
154 | + temp=executeCommand(ipAddr); // ping不通返回false。 | ||
155 | + log.info("["+ipAddr+"]ping result is ["+temp+"],(true:can connect;false:can't connect)"); | ||
156 | + if(!temp){ | ||
157 | + pingErrorCount++; | ||
158 | + } | ||
159 | + try { | ||
160 | + Thread.sleep(interval*1000); | ||
161 | + log.info("ping ["+ipAddr+"] trread sleep "+interval+" secound........"); | ||
162 | + } catch (InterruptedException e) { | ||
163 | + e.printStackTrace(); | ||
164 | + } | ||
165 | + } | ||
166 | + if(pingErrorCount == 3){ | ||
167 | + log.info("["+ipAddr+"] can't connect 3 times."); | ||
168 | + }else{ | ||
169 | + flag=true; | ||
170 | + log.info("["+ipAddr+"] can connect."); | ||
171 | + } | ||
172 | + return flag; | ||
173 | + } | ||
174 | + | ||
175 | + | ||
176 | + /** | ||
177 | + * 进行ssh连接,判断是否可以连接成功。 | ||
178 | + * windows操作系统使用 TelnetThread类连接。 Windows的客户端需要配置并开启Telnet相关的服务。 | ||
179 | + * @return | ||
180 | + */ | ||
181 | + private boolean contentWithSsh(DowntimeBean bean){ | ||
182 | + String protocol=bean.getPROTOCOL(); | ||
183 | + String ipAddr=bean.getDEVICE_IP(); | ||
184 | + String deviceAlias=bean.getDEVICE_ALIAS(); | ||
185 | + int protocolPort=bean.getPROTOCOL_PORT(); | ||
186 | + String userName=bean.getUSER_NAME(); | ||
187 | + String password=bean.getPASSWORD(); | ||
188 | + bean.setUnitId(getUnitId(deviceAlias)); | ||
189 | + log.info("execute contentWithSsh method ......"); | ||
190 | + boolean temp=false; | ||
191 | + RomoteController tt = null; | ||
192 | + log.info("host params is: ipAddr="+ipAddr+",protocol="+protocol+",protocolPort="+protocolPort+",userName="+userName); | ||
193 | + if(loginParamterIsOk(protocol,ipAddr,protocolPort,userName,password,deviceAlias)){ | ||
194 | + try { | ||
195 | + if (protocol != null && protocol.equalsIgnoreCase("telnet")) { | ||
196 | + tt = new TelnetThread(ipAddr, protocolPort, userName, password); | ||
197 | + } else if (protocol != null && protocol.equalsIgnoreCase("ssh")) { | ||
198 | + tt = new SSHThread(ipAddr, protocolPort, userName, password); | ||
199 | + }else{ | ||
200 | + log.error("===================== unknown protocol ====================="); | ||
201 | + } | ||
202 | + }catch (Exception e){ | ||
203 | + log.error(protocol+"connect have exception!"); | ||
204 | + } | ||
205 | + tt.initial(); | ||
206 | + boolean flag=tt.isAuthorized(); | ||
207 | + log.info("******************* tt.isAuthorized() result is "+flag); | ||
208 | + if (flag){ // 认证通过 | ||
209 | + log.info(ipAddr+" SSH connect,Authorized result is true authorized success!"); | ||
210 | + temp=true; | ||
211 | + bean.setSshState(true); | ||
212 | + }else{ | ||
213 | + log.info(ipAddr+" SSH connect,Authorized result is false authorized fail!!"); | ||
214 | + bean.setSshState(false); | ||
215 | + } | ||
216 | + } | ||
217 | + return temp; | ||
218 | + } | ||
219 | + | ||
220 | + | ||
221 | + /** | ||
222 | + * 判断所有的参数是否为空。 | ||
223 | + * @param protocol 协议类型 | ||
224 | + * @param ipAddr IP地址 | ||
225 | + * @param protocolPort 协议端口 | ||
226 | + * @param userName 用户名 | ||
227 | + * @param password 密码 | ||
228 | + * @param deviceAlias 主机别名 | ||
229 | + * @return | ||
230 | + */ | ||
231 | + private boolean loginParamterIsOk(String protocol,String ipAddr,int protocolPort,String userName, | ||
232 | + String password,String deviceAlias){ | ||
233 | + boolean flag=true; | ||
234 | + if(StringUtils.isEmpty(protocol)){ | ||
235 | + flag=false; | ||
236 | + } | ||
237 | + if(StringUtils.isEmpty(ipAddr)){ | ||
238 | + flag=false; | ||
239 | + } | ||
240 | + if(StringUtils.isEmpty(protocolPort+"")){ | ||
241 | + flag=false; | ||
242 | + } | ||
243 | + if(StringUtils.isEmpty(userName)){ | ||
244 | + flag=false; | ||
245 | + } | ||
246 | + if(StringUtils.isEmpty(password)){ | ||
247 | + flag=false; | ||
248 | + } | ||
249 | + if(StringUtils.isEmpty(deviceAlias)){ | ||
250 | + flag=false; | ||
251 | + } | ||
252 | + return flag; | ||
253 | + } | ||
254 | + | ||
255 | + | ||
256 | + private String getUnitId(String deviceAlias){ | ||
257 | + StringBuffer bf=new StringBuffer("10-10-99-98:"); | ||
258 | + bf.append(deviceAlias).append("_").append(getEncryptStr()); | ||
259 | + return bf.toString(); | ||
260 | + } | ||
261 | + | ||
262 | + /** | ||
263 | + * 返回加密后的一个唯一字符串。 | ||
264 | + * @return | ||
265 | + */ | ||
266 | + private String getEncryptStr(){ | ||
267 | + SimpleDateFormat forma=new SimpleDateFormat("yyMMddHHmmss"); | ||
268 | + Random rr= new Random(); | ||
269 | + String str=rr.nextInt(999)+forma.format(new Date())+rr.nextInt(999); | ||
270 | + return Base62Util.encode(Long.parseLong(str)); | ||
271 | + } | ||
272 | + | ||
273 | + | ||
274 | + /** | ||
275 | + * 返回ping后的结果。 | ||
276 | + * @param ipAddr ip 地址。 | ||
277 | + * @return | ||
278 | + */ | ||
279 | + private boolean executeCommand(String ipAddr){ | ||
280 | + String command = "/bin/ping -c 3 -w 3 " + ipAddr;; | ||
281 | + // 执行command 命令。 | ||
282 | + boolean flag=false; | ||
283 | + String line = null; | ||
284 | + StringBuilder sb = new StringBuilder(); | ||
285 | + Runtime runtime = Runtime.getRuntime(); | ||
286 | + Process process = null; | ||
287 | + long startTime = new Date().getTime(); | ||
288 | + try { | ||
289 | + process = runtime.exec(command); | ||
290 | + } catch (IOException e) { | ||
291 | + log.error("execute command ["+command+"] has some error!"); | ||
292 | + } | ||
293 | + BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(process.getInputStream())); | ||
294 | + try { | ||
295 | + while ((line = bufferedReader.readLine()) != null) { | ||
296 | + sb.append(line + "\n"); | ||
297 | + } | ||
298 | + } catch (IOException e) { | ||
299 | + log.error("======== bufferedReader.readLine() has some error!"); | ||
300 | + } | ||
301 | + | ||
302 | + String pingResult=sb.toString(); | ||
303 | + /** | ||
304 | + * 当执行结果出现下面字符说明已经执行完成。 | ||
305 | + * ping 通的时候 结果包含【min/avg/max/mdev】 | ||
306 | + * ping 不通的时候 结果包含【100% packet loss】 | ||
307 | + */ | ||
308 | + if(pingResult.contains("100% packet loss") || (pingResult.contains("min/avg/max/mdev"))){ | ||
309 | + process.destroy(); | ||
310 | + log.info("execute command ["+command+"] finish!"); | ||
311 | + } | ||
312 | + | ||
313 | + | ||
314 | + String os = System.getProperty("os.name").toLowerCase(); | ||
315 | + log.info("------------ operator system is :" + os); | ||
316 | + | ||
317 | + // 解析command命令结果,包含【100% packet loss】 意味着ping不通,返回 false。 | ||
318 | + if(os.indexOf("linux") >= 0){ | ||
319 | + if (!StringUtils.isEmpty(pingResult)) { | ||
320 | + if(!pingResult.contains("100% packet loss")){ | ||
321 | + flag = true; | ||
322 | + } | ||
323 | + } | ||
324 | + } | ||
325 | + return flag; | ||
326 | + } | ||
327 | + | ||
328 | + | ||
329 | + /** | ||
330 | + * 添加已经发送的告警信息。 | ||
331 | + * @param bean,取出对象中的ID与IP,外加时间(年月日) | ||
332 | + */ | ||
333 | + public void addSendedEvent(DowntimeBean bean){ | ||
334 | + | ||
335 | + } | ||
336 | + | ||
337 | +} |
1 | package com.sitech.jmx.mbean; | 1 | package com.sitech.jmx.mbean; |
2 | 2 | ||
3 | -import java.util.Date; | ||
4 | -import java.util.HashMap; | ||
5 | -import java.util.List; | ||
6 | -import java.util.Map; | ||
7 | - | ||
8 | -import org.apache.log4j.Logger; | ||
9 | - | ||
10 | import com.sitech.base.AgentProperties; | 3 | import com.sitech.base.AgentProperties; |
4 | +import com.sitech.database.dao.TbAtoDynamicThresholdDao; | ||
11 | import com.sitech.database.dao.TbCfgEventDao; | 5 | import com.sitech.database.dao.TbCfgEventDao; |
12 | import com.sitech.database.dao.TbCfgOidMibDao; | 6 | import com.sitech.database.dao.TbCfgOidMibDao; |
13 | import com.sitech.database.domain.TbCfgEvent; | 7 | import com.sitech.database.domain.TbCfgEvent; |
14 | import com.sitech.database.domain.TbCfgOidMib; | 8 | import com.sitech.database.domain.TbCfgOidMib; |
9 | +import com.sitech.ismp.check.downtime.DowntimeDao; | ||
15 | import com.sitech.ismp.coll.cron.CronConstants; | 10 | import com.sitech.ismp.coll.cron.CronConstants; |
16 | -import com.sitech.ismp.messageObject.AgentSyncObject; | ||
17 | -import com.sitech.ismp.messageObject.AlarmEventConfig; | ||
18 | -import com.sitech.ismp.messageObject.AlarmEventConfigSyncObject; | ||
19 | -import com.sitech.ismp.messageObject.MibConfig; | ||
20 | -import com.sitech.ismp.messageObject.MibConfigSyncObject; | ||
21 | -import com.sitech.ismp.messageObject.ScheduleLog; | 11 | +import com.sitech.ismp.messageObject.*; |
22 | import com.sitech.jmx.manage.CollScheduleManager; | 12 | import com.sitech.jmx.manage.CollScheduleManager; |
23 | import com.sitech.jmx.manage.MBeanManager; | 13 | import com.sitech.jmx.manage.MBeanManager; |
24 | import com.sitech.schedule.ScheduleCache; | 14 | import com.sitech.schedule.ScheduleCache; |
25 | import com.sitech.schedule.Scheduler; | 15 | import com.sitech.schedule.Scheduler; |
16 | +import com.sitech.snmptrap.TbTopoPhysicalDeviceDao; | ||
26 | import com.sitech.util.Formater; | 17 | import com.sitech.util.Formater; |
27 | import com.sitech.util.mq.MQConstants; | 18 | import com.sitech.util.mq.MQConstants; |
28 | import com.sitech.util.mq.TunnelFactory; | 19 | import com.sitech.util.mq.TunnelFactory; |
20 | +import org.apache.log4j.Logger; | ||
21 | + | ||
22 | +import java.util.Date; | ||
23 | +import java.util.HashMap; | ||
24 | +import java.util.List; | ||
25 | +import java.util.Map; | ||
29 | 26 | ||
30 | /** | 27 | /** |
31 | * 采集/告警配置同步 | 28 | * 采集/告警配置同步 |
@@ -71,6 +68,9 @@ public class ConfigSync implements ConfigSyncMBean { | @@ -71,6 +68,9 @@ public class ConfigSync implements ConfigSyncMBean { | ||
71 | String scheduleOperate = obj.getParams().get("SCHEDULE_OPERATE"); | 68 | String scheduleOperate = obj.getParams().get("SCHEDULE_OPERATE"); |
72 | extInfo.put("SCHEDULE_OPERATE",scheduleOperate); | 69 | extInfo.put("SCHEDULE_OPERATE",scheduleOperate); |
73 | removeCollSchedule(obj); | 70 | removeCollSchedule(obj); |
71 | +// removeMemDbCfgData(obj); | ||
72 | + removeDowntimeMBean(obj); | ||
73 | + // 删除内存数据库中相关的配置数据 | ||
74 | scheStatus = "0"; | 74 | scheStatus = "0"; |
75 | if("1".equals(scheduleOperate)){ | 75 | if("1".equals(scheduleOperate)){ |
76 | logInfo = "agent删除调度任务成功"; | 76 | logInfo = "agent删除调度任务成功"; |
@@ -154,6 +154,54 @@ public class ConfigSync implements ConfigSyncMBean { | @@ -154,6 +154,54 @@ public class ConfigSync implements ConfigSyncMBean { | ||
154 | logger.info("End refresh table[TB_CFG_EVENT], delete ["+configList.size()+"] config"); | 154 | logger.info("End refresh table[TB_CFG_EVENT], delete ["+configList.size()+"] config"); |
155 | } | 155 | } |
156 | 156 | ||
157 | + /** | ||
158 | + * 删除添加主机的MBean。 | ||
159 | + * @param obj | ||
160 | + */ | ||
161 | + private void removeMemDbCfgData(AgentSyncObject obj){ | ||
162 | + if(obj.getClassName().equals("com.sitech.snmptrap.TbTopoPhysicalDevice")){ | ||
163 | + TbTopoPhysicalDeviceDao physicalDeviceDao = new TbTopoPhysicalDeviceDao(); | ||
164 | + physicalDeviceDao.deletePhysicalDeviceByIp(obj.getParams().get("DEVICE_IP")); | ||
165 | + } | ||
166 | + } | ||
167 | + | ||
168 | + /** | ||
169 | + * 删除需要监控宕机的主机。 | ||
170 | + * @param obj | ||
171 | + */ | ||
172 | + private void removeDowntimeMBean(AgentSyncObject obj){ | ||
173 | + if(obj.getClassName().equals("com.sitech.ismp.check.downtime.Downtime")){ | ||
174 | + DowntimeDao dao = new DowntimeDao(); | ||
175 | + dao.deleteDowntimeHostByIp(obj.getParams().get("DEVICE_IP")); | ||
176 | + } | ||
177 | + } | ||
178 | + | ||
179 | + | ||
180 | + /** | ||
181 | + * 添加监控宕机的MBean。 | ||
182 | + * 监控主机连接状态,有异常的时候,产生告警。 | ||
183 | + * frank 2017-04-11 | ||
184 | + */ | ||
185 | + /*private void regeditDowntimeMBean(AgentSyncObject obj,String scheduleId){ | ||
186 | + boolean isExist=CollScheduleManager.getInstance().scheduleExist(scheduleId); | ||
187 | + if(!isExist){ | ||
188 | + DowntimeServer server=new DowntimeServer(); | ||
189 | + if(obj.getClassName().equals("com.sitech.snmptrap.TbTopoPhysicalDevice")){ | ||
190 | + AgentSyncObject downtimeAgentSyncObject= server.getAgentSyncObject(obj,scheduleId); | ||
191 | + log.info("get DowntimeMBean,className ====== "+downtimeAgentSyncObject.getClassName()); | ||
192 | + try { | ||
193 | + addCollSchedule(downtimeAgentSyncObject); | ||
194 | + log.info("******************************************************************"); | ||
195 | + log.info("************* 注册DowntimeMBean完成,开始监听宕机情况 **************"); | ||
196 | + log.info("******************************************************************"); | ||
197 | + } catch (Exception e) { | ||
198 | + log.error("regedit DowntimeMBean has wrong",e); | ||
199 | + e.printStackTrace(); | ||
200 | + } | ||
201 | + } | ||
202 | + } | ||
203 | + }*/ | ||
204 | + | ||
157 | private void updateEventCfg(List<AlarmEventConfig> configList) { | 205 | private void updateEventCfg(List<AlarmEventConfig> configList) { |
158 | String[] guid = new String[configList.size()]; | 206 | String[] guid = new String[configList.size()]; |
159 | for (int i = 0; i < configList.size(); i++) { | 207 | for (int i = 0; i < configList.size(); i++) { |
@@ -361,4 +409,91 @@ public class ConfigSync implements ConfigSyncMBean { | @@ -361,4 +409,91 @@ public class ConfigSync implements ConfigSyncMBean { | ||
361 | TunnelFactory.getTunnel(MQConstants.Q_ROPORT_FROM_AGENT).writeData(log); | 409 | TunnelFactory.getTunnel(MQConstants.Q_ROPORT_FROM_AGENT).writeData(log); |
362 | } | 410 | } |
363 | 411 | ||
412 | + public void syncDynamicCfg(AlarmDynamicConfigSyncObject obj) throws Exception { | ||
413 | + int type = obj.getSyncType(); | ||
414 | + List<TbAtoDynamicThreshold> configList = obj.getConfigList(); | ||
415 | + | ||
416 | + logger.info("Begin refresh table[TB_ATO_DYNAMIC_THRESHOLD]..."); | ||
417 | + | ||
418 | + if (configList == null || configList.size() == 0) { | ||
419 | + logger.info("End refresh table[TB_ATO_DYNAMIC_THRESHOLD], update [0] config"); | ||
420 | + return; | ||
421 | + } | ||
422 | + | ||
423 | + switch (type) { | ||
424 | + case TYPE_SYNC_ALL: | ||
425 | + refreshAllDynamicCfg(configList); | ||
426 | + break; | ||
427 | + case TYPE_CREATE: | ||
428 | + addDynamicCfg(configList); | ||
429 | + break; | ||
430 | + case TYPE_UPDATE: | ||
431 | + updateDynamicCfg(configList); | ||
432 | + break; | ||
433 | + case TYPE_DELETE: | ||
434 | + deleteDynamicCfg(configList); | ||
435 | + break; | ||
436 | + } | ||
437 | + } | ||
438 | + | ||
439 | + /** | ||
440 | + * 刷新所有动态阀值配置 | ||
441 | + * @param configList | ||
442 | + */ | ||
443 | + private void refreshAllDynamicCfg(List<TbAtoDynamicThreshold> configList) { | ||
444 | + TbAtoDynamicThresholdDao dao = new TbAtoDynamicThresholdDao(); | ||
445 | + int result = dao.deleteTbAtoDynamicThresholdAll(); | ||
446 | + if (result != -1) { | ||
447 | + for (TbAtoDynamicThreshold config : configList) { | ||
448 | + //TbCfgEvent tbCfgEvent = new TbCfgEvent(config); | ||
449 | + dao.insertTbAtoDynamicThreshold(config); | ||
450 | + } | ||
451 | + } | ||
452 | + logger.info("End refresh table[TB_ATO_DYNAMIC_THRESHOLD], update ["+configList.size()+"] config"); | ||
453 | + } | ||
454 | + | ||
455 | + /** | ||
456 | + * 新增动态阀值配置 | ||
457 | + * @param configList | ||
458 | + */ | ||
459 | + private void addDynamicCfg(List<TbAtoDynamicThreshold> configList) { | ||
460 | + TbAtoDynamicThresholdDao dao = new TbAtoDynamicThresholdDao(); | ||
461 | + for (TbAtoDynamicThreshold config : configList) { | ||
462 | + //TbCfgEvent tbCfgEvent = new TbCfgEvent(config); | ||
463 | + dao.insertTbAtoDynamicThreshold(config); | ||
464 | + } | ||
465 | + logger.info("End refresh table[TB_ATO_DYNAMIC_THRESHOLD], add ["+configList.size()+"] config"); | ||
466 | + } | ||
467 | + | ||
468 | + /** | ||
469 | + * 更新动态阀值配置 | ||
470 | + * @param configList | ||
471 | + */ | ||
472 | + private void updateDynamicCfg(List<TbAtoDynamicThreshold> configList) { | ||
473 | + String[] id = new String[configList.size()]; | ||
474 | + for (int i = 0; i < configList.size(); i++) { | ||
475 | + id[i] = configList.get(i).getID(); | ||
476 | + } | ||
477 | + TbAtoDynamicThresholdDao dao = new TbAtoDynamicThresholdDao(); | ||
478 | + dao.deleteTbAtoDynamicThreshold(id); | ||
479 | + for (TbAtoDynamicThreshold config : configList) { | ||
480 | + dao.insertTbAtoDynamicThreshold(config); | ||
481 | + } | ||
482 | + logger.info("End refresh table[TB_ATO_DYNAMIC_THRESHOLD], update ["+configList.size()+"] config"); | ||
483 | + } | ||
484 | + | ||
485 | + /** | ||
486 | + * 删除动态阀值配置 | ||
487 | + * @param configList | ||
488 | + */ | ||
489 | + private void deleteDynamicCfg(List<TbAtoDynamicThreshold> configList) { | ||
490 | + String[] guid = new String[configList.size()]; | ||
491 | + for (int i = 0; i < configList.size(); i++) { | ||
492 | + guid[i] = configList.get(i).getGUID(); | ||
493 | + } | ||
494 | + TbAtoDynamicThresholdDao dao = new TbAtoDynamicThresholdDao(); | ||
495 | + dao.deleteTbAtoDynamicThreshold(guid); | ||
496 | + logger.info("End refresh table[TB_ATO_DYNAMIC_THRESHOLD], delete ["+configList.size()+"] config"); | ||
497 | + } | ||
498 | + | ||
364 | } | 499 | } |
1 | +package com.sitech.snmptrap; | ||
2 | + | ||
3 | +import com.sitech.ismp.coll.basic.TblATO_KPIDETAIL; | ||
4 | +import org.apache.log4j.Logger; | ||
5 | + | ||
6 | +import java.util.*; | ||
7 | + | ||
8 | +/** | ||
9 | + * @author frank zmm@honggroup.com.cn | ||
10 | + * @Description: 物理设备操作类。 | ||
11 | + * @Package com.sitech.snmptrap | ||
12 | + * @ClassName: com.sitech.snmptrap.TbTopoPhysicalDevice | ||
13 | + * @date 2017年03月03日 11:48 | ||
14 | + */ | ||
15 | +public class TbTopoPhysicalDevice implements TbTopoPhysicalDeviceMBean { | ||
16 | + | ||
17 | + Logger logger = Logger.getLogger(getClass()); | ||
18 | + TbTopoPhysicalDeviceDao dao=new TbTopoPhysicalDeviceDao(); | ||
19 | + | ||
20 | + /** | ||
21 | + * 添加(修改)物理设备 | ||
22 | + * @param params | ||
23 | + * @return | ||
24 | + */ | ||
25 | + @Override | ||
26 | + public Vector<TblATO_KPIDETAIL> addDevice(HashMap params) { | ||
27 | + Vector<TblATO_KPIDETAIL> bean = new Vector<TblATO_KPIDETAIL>(); | ||
28 | + try { | ||
29 | + logger.info("Start add phsical device ***************************!!!"); | ||
30 | + TbTopoPhysicalDeviceBean physicalDevice = new TbTopoPhysicalDeviceBean(); | ||
31 | + logger.info("physicalDevice Object===" + physicalDevice.getClass()); | ||
32 | + physicalDevice.setDEVICE_ID(UUID.randomUUID().toString()); | ||
33 | + physicalDevice.setCREATE_DATE(new Date()); | ||
34 | + physicalDevice.setDEVICE_ALIAS(params.get("DEVICE_ALIAS") + ""); | ||
35 | + physicalDevice.setKBP_CLASS(params.get("KBP_CLASS") + "-99"); | ||
36 | + physicalDevice.setDEVICE_CATALOG(params.get("DEVICE_CATALOG") + ""); | ||
37 | + physicalDevice.setDEVICE_CNAME(params.get("DEVICE_CNAME") + ""); | ||
38 | + physicalDevice.setDEVICE_DESC(params.get("DEVICE_DESC") + ""); | ||
39 | + physicalDevice.setDEVICE_IP(params.get("DEVICE_IP") + ""); | ||
40 | + TbTopoPhysicalDeviceDao dao = new TbTopoPhysicalDeviceDao(); | ||
41 | + logger.info("TbTopoPhysicalDeviceDao Object===" + dao.getClass()); | ||
42 | + dao.addTbTopoPhysicalDevice(physicalDevice); | ||
43 | + logger.info("Start add phsical device success"); | ||
44 | + }catch (Exception ex){ | ||
45 | + logger.error("add device error .",ex); | ||
46 | + } | ||
47 | + return bean; | ||
48 | + } | ||
49 | + | ||
50 | + /** | ||
51 | + * 删除物理设备 | ||
52 | + * @param deviceId | ||
53 | + * @return | ||
54 | + */ | ||
55 | + @Override | ||
56 | + public String deleteDevice(String deviceId) { | ||
57 | + boolean flag=false; | ||
58 | + int result=dao.deleteTbTopoPhysicalDevice(deviceId); | ||
59 | + if(result>0){ | ||
60 | + return "true"; | ||
61 | + }else{ | ||
62 | + return "false"; | ||
63 | + } | ||
64 | + } | ||
65 | + | ||
66 | + /** | ||
67 | + * 根据IP查询对应的设备信息。 | ||
68 | + * @param deviceIp | ||
69 | + * @return | ||
70 | + */ | ||
71 | + public List<TbTopoPhysicalDeviceBean> getPhysicalDevice(String deviceIp){ | ||
72 | + return dao.getPhysicalDeviceByIp(deviceIp); | ||
73 | + } | ||
74 | +} |
1 | +package com.sitech.snmptrap; | ||
2 | + | ||
3 | +import java.io.Serializable; | ||
4 | +import java.util.Date; | ||
5 | + | ||
6 | +/** | ||
7 | + * @author frank zmm@honggroup.com.cn | ||
8 | + * @Description: 新添加物理设备类,对应数据的表为 TB_TOPO_PHYSICAL_DEVICE。 | ||
9 | + * 当添加新设备的时候,如果设备IP,设备别名与已经存在的数据相同,则视为修改。 | ||
10 | + * @Package com.sitech.snmptrap | ||
11 | + * @ClassName: com.sitech.snmptrap.TbTopoPhysicalDeviceBean | ||
12 | + * @date 2017年03月03日 09:56 | ||
13 | + */ | ||
14 | +public class TbTopoPhysicalDeviceBean implements Serializable{ | ||
15 | + | ||
16 | +// 设备ID | ||
17 | + private String DEVICE_ID; | ||
18 | +// 设备IP地址 | ||
19 | + private String DEVICE_IP; | ||
20 | +// 设备别名 | ||
21 | + private String DEVICE_ALIAS; | ||
22 | +// 设备类型 | ||
23 | + private String DEVICE_CATALOG; | ||
24 | +// 设备中文名称 | ||
25 | + private String DEVICE_CNAME; | ||
26 | +// kbp_class 设备的分类 | ||
27 | + private String KBP_CLASS; | ||
28 | +// 设备描述 | ||
29 | + private String DEVICE_DESC; | ||
30 | +// 所属机房 | ||
31 | + private String DEVICE_ROOM; | ||
32 | +// 所属机架(机柜) | ||
33 | + private String DEVICE_RACK; | ||
34 | +// 创建日期 | ||
35 | + private Date CREATE_DATE; | ||
36 | + | ||
37 | + public TbTopoPhysicalDeviceBean() {} | ||
38 | + | ||
39 | + public String getDEVICE_ID() { | ||
40 | + return DEVICE_ID; | ||
41 | + } | ||
42 | + | ||
43 | + public void setDEVICE_ID(String DEVICE_ID) { | ||
44 | + this.DEVICE_ID = DEVICE_ID; | ||
45 | + } | ||
46 | + | ||
47 | + public String getDEVICE_IP() { | ||
48 | + return DEVICE_IP; | ||
49 | + } | ||
50 | + | ||
51 | + public void setDEVICE_IP(String DEVICE_IP) { | ||
52 | + this.DEVICE_IP = DEVICE_IP; | ||
53 | + } | ||
54 | + | ||
55 | + public String getDEVICE_ALIAS() { | ||
56 | + return DEVICE_ALIAS; | ||
57 | + } | ||
58 | + | ||
59 | + public void setDEVICE_ALIAS(String DEVICE_ALIAS) { | ||
60 | + this.DEVICE_ALIAS = DEVICE_ALIAS; | ||
61 | + } | ||
62 | + | ||
63 | + public String getDEVICE_CATALOG() { | ||
64 | + return DEVICE_CATALOG; | ||
65 | + } | ||
66 | + | ||
67 | + public void setDEVICE_CATALOG(String DEVICE_CATALOG) { | ||
68 | + this.DEVICE_CATALOG = DEVICE_CATALOG; | ||
69 | + } | ||
70 | + | ||
71 | + public String getDEVICE_CNAME() { | ||
72 | + return DEVICE_CNAME; | ||
73 | + } | ||
74 | + | ||
75 | + public void setDEVICE_CNAME(String DEVICE_CNAME) { | ||
76 | + this.DEVICE_CNAME = DEVICE_CNAME; | ||
77 | + } | ||
78 | + | ||
79 | + public String getKBP_CLASS() { | ||
80 | + return KBP_CLASS; | ||
81 | + } | ||
82 | + | ||
83 | + public void setKBP_CLASS(String KBP_CLASS) { | ||
84 | + this.KBP_CLASS = KBP_CLASS; | ||
85 | + } | ||
86 | + | ||
87 | + public String getDEVICE_DESC() { | ||
88 | + return DEVICE_DESC; | ||
89 | + } | ||
90 | + | ||
91 | + public void setDEVICE_DESC(String DEVICE_DESC) { | ||
92 | + this.DEVICE_DESC = DEVICE_DESC; | ||
93 | + } | ||
94 | + | ||
95 | + public String getDEVICE_ROOM() { | ||
96 | + return DEVICE_ROOM; | ||
97 | + } | ||
98 | + | ||
99 | + public void setDEVICE_ROOM(String DEVICE_ROOM) { | ||
100 | + this.DEVICE_ROOM = DEVICE_ROOM; | ||
101 | + } | ||
102 | + | ||
103 | + public String getDEVICE_RACK() { | ||
104 | + return DEVICE_RACK; | ||
105 | + } | ||
106 | + | ||
107 | + public void setDEVICE_RACK(String DEVICE_RACK) { | ||
108 | + this.DEVICE_RACK = DEVICE_RACK; | ||
109 | + } | ||
110 | + | ||
111 | + public Date getCREATE_DATE() { | ||
112 | + return CREATE_DATE; | ||
113 | + } | ||
114 | + | ||
115 | + public void setCREATE_DATE(Date CREATE_DATE) { | ||
116 | + this.CREATE_DATE = CREATE_DATE; | ||
117 | + } | ||
118 | + | ||
119 | + @Override | ||
120 | + public String toString() { | ||
121 | + return "TbTopoPhysicalDeviceBean{" + | ||
122 | + "DEVICE_ID='" + DEVICE_ID + '\'' + | ||
123 | + ", DEVICE_IP='" + DEVICE_IP + '\'' + | ||
124 | + ", DEVICE_ALIAS='" + DEVICE_ALIAS + '\'' + | ||
125 | + ", DEVICE_CATALOG='" + DEVICE_CATALOG + '\'' + | ||
126 | + ", DEVICE_CNAME='" + DEVICE_CNAME + '\'' + | ||
127 | + ", KBP_CLASS='" + KBP_CLASS + '\'' + | ||
128 | + ", DEVICE_DESC='" + DEVICE_DESC + '\'' + | ||
129 | + ", DEVICE_ROOM='" + DEVICE_ROOM + '\'' + | ||
130 | + ", DEVICE_RACK='" + DEVICE_RACK + '\'' + | ||
131 | + ", CREATE_DATE=" + CREATE_DATE + | ||
132 | + '}'; | ||
133 | + } | ||
134 | +} |
-
Please register or login to post a comment