Toggle navigation
Toggle navigation
This project
Loading...
Sign in
guizhou-monitorV2.0.1
/
agent
·
Commits
Go to a project
GitLab
Go to group
Project
Activity
Files
Commits
Pipelines
0
Builds
0
Graphs
Milestones
Issues
0
Merge Requests
0
Members
Labels
Wiki
Forks
Network
Create a new issue
Download as
Email Patches
Plain Diff
Browse Files
Authored by
zhangmingm
8 years ago
Commit
c394f80f612165840faec74a3bcb7cdd3fb73b89
1 parent
7792006f
添加removeDowntimeMBean方法,在页面中的agent中删除对应的设备,在内存数据库也要删除对应的记录。
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
148 additions
and
13 deletions
src/com/sitech/jmx/mbean/ConfigSync.java
src/com/sitech/jmx/mbean/ConfigSync.java
View file @
c394f80
package
com
.
sitech
.
jmx
.
mbean
;
import
java.util.Date
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
org.apache.log4j.Logger
;
import
com.sitech.base.AgentProperties
;
import
com.sitech.database.dao.TbAtoDynamicThresholdDao
;
import
com.sitech.database.dao.TbCfgEventDao
;
import
com.sitech.database.dao.TbCfgOidMibDao
;
import
com.sitech.database.domain.TbCfgEvent
;
import
com.sitech.database.domain.TbCfgOidMib
;
import
com.sitech.ismp.check.downtime.DowntimeDao
;
import
com.sitech.ismp.coll.cron.CronConstants
;
import
com.sitech.ismp.messageObject.AgentSyncObject
;
import
com.sitech.ismp.messageObject.AlarmEventConfig
;
import
com.sitech.ismp.messageObject.AlarmEventConfigSyncObject
;
import
com.sitech.ismp.messageObject.MibConfig
;
import
com.sitech.ismp.messageObject.MibConfigSyncObject
;
import
com.sitech.ismp.messageObject.ScheduleLog
;
import
com.sitech.ismp.messageObject.*
;
import
com.sitech.jmx.manage.CollScheduleManager
;
import
com.sitech.jmx.manage.MBeanManager
;
import
com.sitech.schedule.ScheduleCache
;
import
com.sitech.schedule.Scheduler
;
import
com.sitech.snmptrap.TbTopoPhysicalDeviceDao
;
import
com.sitech.util.Formater
;
import
com.sitech.util.mq.MQConstants
;
import
com.sitech.util.mq.TunnelFactory
;
import
org.apache.log4j.Logger
;
import
java.util.Date
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
/**
* 采集/告警配置同步
...
...
@@ -71,6 +68,9 @@ public class ConfigSync implements ConfigSyncMBean {
String
scheduleOperate
=
obj
.
getParams
().
get
(
"SCHEDULE_OPERATE"
);
extInfo
.
put
(
"SCHEDULE_OPERATE"
,
scheduleOperate
);
removeCollSchedule
(
obj
);
// removeMemDbCfgData(obj);
removeDowntimeMBean
(
obj
);
// 删除内存数据库中相关的配置数据
scheStatus
=
"0"
;
if
(
"1"
.
equals
(
scheduleOperate
)){
logInfo
=
"agent删除调度任务成功"
;
...
...
@@ -154,6 +154,54 @@ public class ConfigSync implements ConfigSyncMBean {
logger
.
info
(
"End refresh table[TB_CFG_EVENT], delete ["
+
configList
.
size
()+
"] config"
);
}
/**
* 删除添加主机的MBean。
* @param obj
*/
private
void
removeMemDbCfgData
(
AgentSyncObject
obj
){
if
(
obj
.
getClassName
().
equals
(
"com.sitech.snmptrap.TbTopoPhysicalDevice"
)){
TbTopoPhysicalDeviceDao
physicalDeviceDao
=
new
TbTopoPhysicalDeviceDao
();
physicalDeviceDao
.
deletePhysicalDeviceByIp
(
obj
.
getParams
().
get
(
"DEVICE_IP"
));
}
}
/**
* 删除需要监控宕机的主机。
* @param obj
*/
private
void
removeDowntimeMBean
(
AgentSyncObject
obj
){
if
(
obj
.
getClassName
().
equals
(
"com.sitech.ismp.check.downtime.Downtime"
)){
DowntimeDao
dao
=
new
DowntimeDao
();
dao
.
deleteDowntimeHostByIp
(
obj
.
getParams
().
get
(
"DEVICE_IP"
));
}
}
/**
* 添加监控宕机的MBean。
* 监控主机连接状态,有异常的时候,产生告警。
* frank 2017-04-11
*/
/*private void regeditDowntimeMBean(AgentSyncObject obj,String scheduleId){
boolean isExist=CollScheduleManager.getInstance().scheduleExist(scheduleId);
if(!isExist){
DowntimeServer server=new DowntimeServer();
if(obj.getClassName().equals("com.sitech.snmptrap.TbTopoPhysicalDevice")){
AgentSyncObject downtimeAgentSyncObject= server.getAgentSyncObject(obj,scheduleId);
log.info("get DowntimeMBean,className ====== "+downtimeAgentSyncObject.getClassName());
try {
addCollSchedule(downtimeAgentSyncObject);
log.info("******************************************************************");
log.info("************* 注册DowntimeMBean完成,开始监听宕机情况 **************");
log.info("******************************************************************");
} catch (Exception e) {
log.error("regedit DowntimeMBean has wrong",e);
e.printStackTrace();
}
}
}
}*/
private
void
updateEventCfg
(
List
<
AlarmEventConfig
>
configList
)
{
String
[]
guid
=
new
String
[
configList
.
size
()];
for
(
int
i
=
0
;
i
<
configList
.
size
();
i
++)
{
...
...
@@ -361,4 +409,91 @@ public class ConfigSync implements ConfigSyncMBean {
TunnelFactory
.
getTunnel
(
MQConstants
.
Q_ROPORT_FROM_AGENT
).
writeData
(
log
);
}
public
void
syncDynamicCfg
(
AlarmDynamicConfigSyncObject
obj
)
throws
Exception
{
int
type
=
obj
.
getSyncType
();
List
<
TbAtoDynamicThreshold
>
configList
=
obj
.
getConfigList
();
logger
.
info
(
"Begin refresh table[TB_ATO_DYNAMIC_THRESHOLD]..."
);
if
(
configList
==
null
||
configList
.
size
()
==
0
)
{
logger
.
info
(
"End refresh table[TB_ATO_DYNAMIC_THRESHOLD], update [0] config"
);
return
;
}
switch
(
type
)
{
case
TYPE_SYNC_ALL:
refreshAllDynamicCfg
(
configList
);
break
;
case
TYPE_CREATE:
addDynamicCfg
(
configList
);
break
;
case
TYPE_UPDATE:
updateDynamicCfg
(
configList
);
break
;
case
TYPE_DELETE:
deleteDynamicCfg
(
configList
);
break
;
}
}
/**
* 刷新所有动态阀值配置
* @param configList
*/
private
void
refreshAllDynamicCfg
(
List
<
TbAtoDynamicThreshold
>
configList
)
{
TbAtoDynamicThresholdDao
dao
=
new
TbAtoDynamicThresholdDao
();
int
result
=
dao
.
deleteTbAtoDynamicThresholdAll
();
if
(
result
!=
-
1
)
{
for
(
TbAtoDynamicThreshold
config
:
configList
)
{
//TbCfgEvent tbCfgEvent = new TbCfgEvent(config);
dao
.
insertTbAtoDynamicThreshold
(
config
);
}
}
logger
.
info
(
"End refresh table[TB_ATO_DYNAMIC_THRESHOLD], update ["
+
configList
.
size
()+
"] config"
);
}
/**
* 新增动态阀值配置
* @param configList
*/
private
void
addDynamicCfg
(
List
<
TbAtoDynamicThreshold
>
configList
)
{
TbAtoDynamicThresholdDao
dao
=
new
TbAtoDynamicThresholdDao
();
for
(
TbAtoDynamicThreshold
config
:
configList
)
{
//TbCfgEvent tbCfgEvent = new TbCfgEvent(config);
dao
.
insertTbAtoDynamicThreshold
(
config
);
}
logger
.
info
(
"End refresh table[TB_ATO_DYNAMIC_THRESHOLD], add ["
+
configList
.
size
()+
"] config"
);
}
/**
* 更新动态阀值配置
* @param configList
*/
private
void
updateDynamicCfg
(
List
<
TbAtoDynamicThreshold
>
configList
)
{
String
[]
id
=
new
String
[
configList
.
size
()];
for
(
int
i
=
0
;
i
<
configList
.
size
();
i
++)
{
id
[
i
]
=
configList
.
get
(
i
).
getID
();
}
TbAtoDynamicThresholdDao
dao
=
new
TbAtoDynamicThresholdDao
();
dao
.
deleteTbAtoDynamicThreshold
(
id
);
for
(
TbAtoDynamicThreshold
config
:
configList
)
{
dao
.
insertTbAtoDynamicThreshold
(
config
);
}
logger
.
info
(
"End refresh table[TB_ATO_DYNAMIC_THRESHOLD], update ["
+
configList
.
size
()+
"] config"
);
}
/**
* 删除动态阀值配置
* @param configList
*/
private
void
deleteDynamicCfg
(
List
<
TbAtoDynamicThreshold
>
configList
)
{
String
[]
guid
=
new
String
[
configList
.
size
()];
for
(
int
i
=
0
;
i
<
configList
.
size
();
i
++)
{
guid
[
i
]
=
configList
.
get
(
i
).
getGUID
();
}
TbAtoDynamicThresholdDao
dao
=
new
TbAtoDynamicThresholdDao
();
dao
.
deleteTbAtoDynamicThreshold
(
guid
);
logger
.
info
(
"End refresh table[TB_ATO_DYNAMIC_THRESHOLD], delete ["
+
configList
.
size
()+
"] config"
);
}
}
...
...
Please
register
or
login
to post a comment