/* (non-Javadoc) * @see com.dhcc.webnms.host.snmp.AbstractSnmp#collectData() */ public Hashtable collect_Data(NodeGatherIndicators nodeGatherIndicators) { // yangjun Hashtable returnHash = new Hashtable(); Vector cpuVector = new Vector(); List cpuList = new ArrayList(); Host node = (Host) PollingEngine.getInstance() .getNodeByID(Integer.parseInt(nodeGatherIndicators.getNodeid())); if (node == null) return returnHash; // HostNode host = (HostNode)node; // 判断是否在采集时间段内 if (ShareData.getTimegatherhash() != null) { if (ShareData.getTimegatherhash().containsKey(node.getId() + ":equipment")) { TimeGratherConfigUtil timeconfig = new TimeGratherConfigUtil(); int _result = 0; _result = timeconfig.isBetween( (List) ShareData.getTimegatherhash().get(node.getId() + ":equipment")); if (_result == 1) { // SysLogger.info("########时间段内: 开始采集 "+node.getIpAddress()+" PING数据信息##########"); } else if (_result == 2) { // SysLogger.info("########全天: 开始采集 "+node.getIpAddress()+" PING数据信息##########"); } else { SysLogger.info("######## " + node.getIpAddress() + " 不在采集CPU时间段内,退出##########"); // 清除之前内存中产生的告警信息 try { // 清除之前内存中产生的CPU告警信息 NodeDTO nodedto = null; NodeUtil nodeUtil = new NodeUtil(); nodedto = nodeUtil.creatNodeDTOByHost(node); CheckEventUtil checkutil = new CheckEventUtil(); checkutil.deleteEvent( node.getId() + "", nodedto.getType(), nodedto.getSubtype(), "cpu", null); } catch (Exception e) { e.printStackTrace(); } return returnHash; } } } try { // System.out.println("Start collect data as ip "+host); CPUcollectdata cpudata = null; Calendar date = Calendar.getInstance(); try { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); com.afunms.polling.base.Node snmpnode = (com.afunms.polling.base.Node) PollingEngine.getInstance().getNodeByIP(node.getIpAddress()); Date cc = date.getTime(); String time = sdf.format(cc); snmpnode.setLastTime(time); } catch (Exception e) { } // -------------------------------------------------------------------------------------------cpu start int result = 0; try { String temp = "0"; String[] oids = new String[] {"1.3.6.1.4.1.171.12.1.1.6.3"}; String[][] valueArray = null; // valueArray = SnmpUtils.getCpuTableData(node.getIpAddress(), node.getCommunity(), oids, // node.getSnmpversion(), 3, 1000*30); valueArray = SnmpUtils.getTemperatureTableData( node.getIpAddress(), node.getCommunity(), oids, node.getSnmpversion(), node.getSecuritylevel(), node.getSecurityName(), node.getV3_ap(), node.getAuthpassphrase(), node.getV3_privacy(), node.getPrivacyPassphrase(), 3, 1000 * 30); int allvalue = 0; int flag = 0; if (valueArray != null) { for (int i = 0; i < valueArray.length; i++) { String _value = valueArray[i][0]; String index = valueArray[i][1]; int value = 0; value = Integer.parseInt(_value); allvalue = allvalue + Integer.parseInt(_value); // if(value >0){ flag = flag + 1; List alist = new ArrayList(); alist.add(index); alist.add(_value); cpuList.add(alist); // } // SysLogger.info(host.getIpAddress()+" "+index+" value="+value); } } if (flag > 0) { int intvalue = (allvalue / flag); temp = intvalue + ""; // SysLogger.info(node.getIpAddress()+"获取的cpu=== "+allvalue/flag); } if (temp == null) { result = 0; } else { try { if (temp.equalsIgnoreCase("noSuchObject")) { result = 0; } else result = Integer.parseInt(temp); } catch (Exception ex) { ex.printStackTrace(); result = 0; } } cpudata = new CPUcollectdata(); cpudata.setIpaddress(node.getIpAddress()); cpudata.setCollecttime(date); cpudata.setCategory("CPU"); cpudata.setEntity("Utilization"); cpudata.setSubentity("Utilization"); cpudata.setRestype("dynamic"); cpudata.setUnit("%"); cpudata.setThevalue(result + ""); cpuVector.addElement(cpudata); } catch (Exception e) { // e.printStackTrace(); } // -------------------------------------------------------------------------------------------cpu end } catch (Exception e) { // returnHash=null; // e.printStackTrace(); // return null; } // Hashtable ipAllData = new Hashtable(); // try{ // ipAllData = (Hashtable)ShareData.getSharedata().get(node.getIpAddress()); // }catch(Exception e){ // // } // if(ipAllData == null)ipAllData = new Hashtable(); // if(cpuVector != null && cpuVector.size()>0)ipAllData.put("cpu",cpuVector); // if(cpuList != null && cpuList.size()>0)ipAllData.put("cpulist",cpuList); // ShareData.getSharedata().put(node.getIpAddress(), ipAllData); // returnHash.put("cpu", cpuVector); if (!(ShareData.getSharedata().containsKey(node.getIpAddress()))) { Hashtable ipAllData = new Hashtable(); if (ipAllData == null) ipAllData = new Hashtable(); if (cpuVector != null && cpuVector.size() > 0) ipAllData.put("cpu", cpuVector); if (cpuList != null && cpuList.size() > 0) ipAllData.put("cpulist", cpuList); ShareData.getSharedata().put(node.getIpAddress(), ipAllData); } else { if (cpuVector != null && cpuVector.size() > 0) ((Hashtable) ShareData.getSharedata().get(node.getIpAddress())).put("cpu", cpuVector); if (cpuList != null && cpuList.size() > 0) ((Hashtable) ShareData.getSharedata().get(node.getIpAddress())).put("cpulist", cpuList); } returnHash.put("cpu", cpuVector); // 对CPU值进行告警检测 Hashtable collectHash = new Hashtable(); collectHash.put("cpu", cpuVector); try { if (cpuVector != null && cpuVector.size() > 0) { for (int i = 0; i < cpuVector.size(); i++) { CPUcollectdata cpucollectdata = (CPUcollectdata) cpuVector.get(0); if ("Utilization".equals(cpucollectdata.getEntity())) { CheckEventUtil checkutil = new CheckEventUtil(); checkutil.updateData(node, nodeGatherIndicators, cpucollectdata.getThevalue()); } } } } catch (Exception e) { e.printStackTrace(); } cpuVector = null; cpuList = null; // 把结果转换成sql NetcpuResultTosql tosql = new NetcpuResultTosql(); tosql.CreateResultTosql(returnHash, node.getIpAddress()); String runmodel = PollingEngine.getCollectwebflag(); // 采集与访问模式 if (!"0".equals(runmodel)) { // 采集与访问是分离模式,则不需要将监视数据写入临时表格 NetHostDatatempCpuRTosql totempsql = new NetHostDatatempCpuRTosql(); totempsql.CreateResultTosql(returnHash, node); } return returnHash; }
/* (non-Javadoc) * @see com.dhcc.webnms.host.snmp.AbstractSnmp#collectData() */ public Hashtable collect_Data(NodeGatherIndicators alarmIndicatorsNode) { // yangjun Hashtable returnHash = new Hashtable(); Vector cpuVector = new Vector(); List cpuList = new ArrayList(); Host node = (Host) PollingEngine.getInstance() .getNodeByID(Integer.parseInt(alarmIndicatorsNode.getNodeid())); if (node == null) return null; try { // System.out.println("Start collect data as ip "+host); CPUcollectdata cpudata = null; Calendar date = Calendar.getInstance(); try { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); com.afunms.polling.base.Node snmpnode = (com.afunms.polling.base.Node) PollingEngine.getInstance().getNodeByIP(node.getIpAddress()); Date cc = date.getTime(); String time = sdf.format(cc); snmpnode.setLastTime(time); } catch (Exception e) { } // -------------------------------------------------------------------------------------------cpu start int result = 0; String temp = "0"; try { // String temp = "0"; String[] oids = new String[] {"1.3.6.1.4.1.94.1.21.1.7.1"}; String[][] valueArray = null; valueArray = SnmpUtils.getCpuTableData( node.getIpAddress(), node.getCommunity(), oids, node.getSnmpversion(), 3, 1000); int allvalue = 0; int flag = 0; if (valueArray != null) { for (int i = 0; i < valueArray.length; i++) { String _value = valueArray[i][0]; String index = "1"; // int value=0; // value=Integer.parseInt(_value); allvalue = allvalue + Integer.parseInt(_value); // if(value >0){ flag = flag + 1; List alist = new ArrayList(); alist.add(index); alist.add(_value); cpuList.add(alist); // } // SysLogger.info(host.getIpAddress()+" "+index+" value="+value); } } if (flag > 0) { int intvalue = (allvalue / flag); temp = intvalue + ""; // SysLogger.info(node.getIpAddress()+"获取的cpu=== "+allvalue/flag); } if (temp == null) { result = 0; } else { try { if (temp.equalsIgnoreCase("noSuchObject")) { result = 0; } else result = Integer.parseInt(temp); } catch (Exception ex) { ex.printStackTrace(); result = 0; } } cpudata = new CPUcollectdata(); cpudata.setIpaddress(node.getIpAddress()); cpudata.setCollecttime(date); cpudata.setCategory("CPU"); cpudata.setEntity("Utilization"); cpudata.setSubentity("Utilization"); cpudata.setRestype("dynamic"); cpudata.setUnit("%"); cpudata.setThevalue(result + ""); cpuVector.addElement(cpudata); } catch (Exception e) { // e.printStackTrace(); } // -------------------------------------------------------------------------------------------cpu end } catch (Exception e) { // returnHash=null; // e.printStackTrace(); // return null; } if (!(ShareData.getSharedata().containsKey(node.getIpAddress()))) { Hashtable ipAllData = new Hashtable(); if (ipAllData == null) ipAllData = new Hashtable(); if (cpuVector != null && cpuVector.size() > 0) ipAllData.put("cpu", cpuVector); if (cpuList != null && cpuList.size() > 0) ipAllData.put("cpulist", cpuList); ShareData.getSharedata().put(node.getIpAddress(), ipAllData); } else { if (cpuVector != null && cpuVector.size() > 0) ((Hashtable) ShareData.getSharedata().get(node.getIpAddress())).put("cpu", cpuVector); if (cpuList != null && cpuList.size() > 0) ((Hashtable) ShareData.getSharedata().get(node.getIpAddress())).put("cpulist", cpuList); } returnHash.put("cpu", cpuVector); // 对CPU值进行告警检测 Hashtable collectHash = new Hashtable(); collectHash.put("cpu", cpuVector); try { AlarmIndicatorsUtil alarmIndicatorsUtil = new AlarmIndicatorsUtil(); List list = alarmIndicatorsUtil.getAlarmInicatorsThresholdForNode( String.valueOf(node.getId()), "firewall", "nokia", "cpu"); for (int i = 0; i < list.size(); i++) { AlarmIndicatorsNode alarmIndicatorsnode = (AlarmIndicatorsNode) list.get(i); // 对CPU值进行告警检测 CheckEventUtil checkutil = new CheckEventUtil(); checkutil.updateData(node, collectHash, "firewall", "nokia", alarmIndicatorsnode); // } } } catch (Exception e) { e.printStackTrace(); } // 把结果转换成sql NetcpuResultTosql tosql = new NetcpuResultTosql(); tosql.CreateResultTosql(returnHash, node.getIpAddress()); NetHostDatatempCpuRTosql totempsql = new NetHostDatatempCpuRTosql(); totempsql.CreateResultTosql(returnHash, node); return returnHash; }
public void collect_data(String id, Hashtable gatherHash) { Emailmonitor_realtimeDao emailmonitor_realtimeDao = null; Emailmonitor_historyDao emailmonitor_historyDao = null; try { EmailConfigDao emailConfigDao = new EmailConfigDao(); EmailMonitorConfig mailconfig = null; try { mailconfig = (EmailMonitorConfig) emailConfigDao.findByID(id); if (mailconfig.getMonflag() == 0) { // 过滤掉不监控的邮箱 return; } } catch (Exception e) { } finally { emailConfigDao.close(); } Calendar date = Calendar.getInstance(); ReceiveMail receieveMail = new ReceiveMail(); sendMail sendmail = new sendMail(); try { emailmonitor_realtimeDao = new Emailmonitor_realtimeDao(); Hashtable realHash = null; try { realHash = emailmonitor_realtimeDao.getAllReal(); } catch (Exception e) { e.printStackTrace(); } finally { emailmonitor_realtimeDao.close(); } Emailmonitor_history emailmonitor_history = new Emailmonitor_history(); Emailmonitor_realtime emailold = new Emailmonitor_realtime(); Integer iscanconnected = new Integer(0); String reason = ""; Mail mail = (Mail) PollingEngine.getInstance().getMailByID(mailconfig.getId()); if (mail == null) { return; } if (mail != null) { mail.setStatus(0); mail.setAlarm(false); mail.getAlarmMessage().clear(); Calendar _tempCal = Calendar.getInstance(); Date _cc = _tempCal.getTime(); String _time = sdf.format(_cc); mail.setLastTime(_time); } Integer email_id = mailconfig.getId(); boolean old = false; String str = ""; Integer smssign = new Integer(0); if (realHash != null && realHash.get(email_id) != null) { old = true; emailold = (Emailmonitor_realtime) realHash.get(email_id); smssign = emailold.getSms_sign(); } boolean flag = true; boolean receieveflag = true; int intflag = 0; int intreceieveflag = 0; try { if (gatherHash.containsKey("send")) { try { if (configSendMail(sendmail, mailconfig)) { flag = sendmail.sendmail(); // intflag = 1; } } catch (Exception ex) { flag = false; ex.printStackTrace(); } } if (gatherHash.containsKey("receieve")) { try { String mailserver = ""; // if (mailconfig.getAddress().indexOf("mail")>=0){ // //用的是MAIL服务 // mailserver = mailconfig.getAddress(); // }else if (mailconfig.getAddress().indexOf("smtp")>=0){ // //用的是SMTP服务 // mailserver = "smtp"+mailconfig.getAddress().substring(4); // }else{ // //用的是POP3服务 // mailserver = "pop3."+mailconfig.getAddress(); // } mailserver = mailconfig.getReceiveAddress(); receieveflag = receieveMail.GetReceieveMail( mailserver, mailconfig.getUsername(), mailconfig.getPassword()); } catch (Exception ex) { ex.printStackTrace(); } } // System.out.println("flag:"+flag+"-----receieveflag:"+receieveflag); if (flag && receieveflag) { intflag = 1; intreceieveflag = 1; iscanconnected = 1; reason = "服务有效"; if (sendeddata.containsKey("emailserver:" + mailconfig.getId())) { sendeddata.remove("emailserver:" + mailconfig.getId()); } } else { if (flag == true && receieveflag == false) { // 邮件能发送但不能接收 intflag = 1; reason = "邮件接收服务无效"; Vector mailvector = new Vector(); // 开始设置采集值实体 Interfacecollectdata interfacedata = new Interfacecollectdata(); interfacedata.setIpaddress(mail.getIpAddress()); interfacedata.setCollecttime(date); interfacedata.setCategory("Mail"); interfacedata.setEntity("Send"); interfacedata.setSubentity(mail.getId() + ""); interfacedata.setRestype("static"); interfacedata.setUnit(""); interfacedata.setThevalue(intflag + ""); interfacedata.setChname("发送服务"); mailvector.add(interfacedata); interfacedata = new Interfacecollectdata(); interfacedata.setIpaddress(mail.getIpAddress()); interfacedata.setCollecttime(date); interfacedata.setCategory("Mail"); interfacedata.setEntity("Receieve"); interfacedata.setSubentity(mail.getId() + ""); interfacedata.setRestype("static"); interfacedata.setUnit(""); interfacedata.setThevalue(intreceieveflag + ""); interfacedata.setChname("接收服务"); mailvector.add(interfacedata); Hashtable collectHash = new Hashtable(); collectHash.put("mail", mailvector); // mail.setStatus(3); // mail.setAlarm(true); // List alarmList = mail.getAlarmMessage(); // if(alarmList == null)alarmList = new ArrayList(); // createEvent(mailconfig, reason); try { AlarmIndicatorsUtil alarmIndicatorsUtil = new AlarmIndicatorsUtil(); List list = alarmIndicatorsUtil.getAlarmInicatorsThresholdForNode( String.valueOf(mailconfig.getId()), AlarmConstant.TYPE_SERVICE, "mail"); for (int k = 0; k < list.size(); k++) { AlarmIndicatorsNode alarmIndicatorsnode = (AlarmIndicatorsNode) list.get(k); // 对邮件服务值进行告警检测 CheckEventUtil checkutil = new CheckEventUtil(); checkutil.updateData(mail, collectHash, "service", "mail", alarmIndicatorsnode); // } } } catch (Exception e) { e.printStackTrace(); } // createEvent(mailconfig, reason); } else if (flag == false && receieveflag == true) { intreceieveflag = 1; // 邮件能接收但不能发送 reason = "邮件发送服务无效"; Vector mailvector = new Vector(); // 开始设置采集值实体 Interfacecollectdata interfacedata = new Interfacecollectdata(); interfacedata.setIpaddress(mail.getIpAddress()); interfacedata.setCollecttime(date); interfacedata.setCategory("Mail"); interfacedata.setEntity("Send"); interfacedata.setSubentity(mail.getId() + ""); interfacedata.setRestype("static"); interfacedata.setUnit(""); interfacedata.setThevalue(intflag + ""); interfacedata.setChname("发送服务"); mailvector.add(interfacedata); interfacedata = new Interfacecollectdata(); interfacedata.setIpaddress(mail.getIpAddress()); interfacedata.setCollecttime(date); interfacedata.setCategory("Mail"); interfacedata.setEntity("Receieve"); interfacedata.setSubentity(mail.getId() + ""); interfacedata.setRestype("static"); interfacedata.setUnit(""); interfacedata.setThevalue(intreceieveflag + ""); interfacedata.setChname("接收服务"); mailvector.add(interfacedata); Hashtable collectHash = new Hashtable(); collectHash.put("mail", mailvector); // mail.setStatus(3); // mail.setAlarm(true); // List alarmList = mail.getAlarmMessage(); // if(alarmList == null)alarmList = new ArrayList(); // createEvent(mailconfig, reason); try { AlarmIndicatorsUtil alarmIndicatorsUtil = new AlarmIndicatorsUtil(); List list = alarmIndicatorsUtil.getAlarmInicatorsThresholdForNode( String.valueOf(mailconfig.getId()), AlarmConstant.TYPE_SERVICE, "mail"); for (int k = 0; k < list.size(); k++) { AlarmIndicatorsNode alarmIndicatorsnode = (AlarmIndicatorsNode) list.get(k); // 对邮件服务值进行告警检测 CheckEventUtil checkutil = new CheckEventUtil(); checkutil.updateData(mail, collectHash, "service", "mail", alarmIndicatorsnode); // } } } catch (Exception e) { e.printStackTrace(); } // createEvent(mailconfig, reason); } else { // 邮件服务停止 // 需要增加邮件服务所在的服务器是否能连通 // Host host = // (Host)PollingEngine.getInstance().getNodeByIP(mailconfig.getIpaddress()); Vector ipPingData = (Vector) ShareData.getPingdata().get(mailconfig.getIpaddress()); if (ipPingData != null) { Pingcollectdata pingdata = (Pingcollectdata) ipPingData.get(0); Calendar tempCal = (Calendar) pingdata.getCollecttime(); Date cc = tempCal.getTime(); String time = sdf.format(cc); String lastTime = time; String pingvalue = pingdata.getThevalue(); if (pingvalue == null || pingvalue.trim().length() == 0) pingvalue = "0"; double pvalue = new Double(pingvalue); if (pvalue == 0) { // 主机服务器连接不上*********************************************** mail.setStatus(3); mail.setAlarm(true); // SysLogger.info(mail.getName()+"========================"+mail.isAlarm()); // dbnode.setStatus(3); List alarmList = mail.getAlarmMessage(); if (alarmList == null) alarmList = new ArrayList(); mail.getAlarmMessage().add("邮件服务无效"); String sysLocation = ""; try { SmscontentDao smsdao = new SmscontentDao(); String eventdesc = "邮件服务(" + mailconfig.getName() + " IP:" + mailconfig.getAddress() + ")" + "的邮件服务停止"; smsdao.createEventWithReasion( "poll", mailconfig.getId() + "", mailconfig.getName() + "(" + mailconfig.getAddress() + ")", eventdesc, 3, "mail", "ping", "所在的服务器连接不上"); } catch (Exception e) { e.printStackTrace(); } } else { // mail.setStatus(3); // mail.setAlarm(true); // List alarmList = mail.getAlarmMessage(); // if(alarmList == null)alarmList = new ArrayList(); // mail.getAlarmMessage().add("邮件服务无效"); // reason="邮件服务无效"; Vector mailvector = new Vector(); // 开始设置采集值实体 Interfacecollectdata interfacedata = new Interfacecollectdata(); interfacedata.setIpaddress(mail.getIpAddress()); interfacedata.setCollecttime(date); interfacedata.setCategory("Mail"); interfacedata.setEntity("Send"); interfacedata.setSubentity(mail.getId() + ""); interfacedata.setRestype("static"); interfacedata.setUnit(""); interfacedata.setThevalue(intflag + ""); interfacedata.setChname("发送服务"); mailvector.add(interfacedata); interfacedata = new Interfacecollectdata(); interfacedata.setIpaddress(mail.getIpAddress()); interfacedata.setCollecttime(date); interfacedata.setCategory("Mail"); interfacedata.setEntity("Receieve"); interfacedata.setSubentity(mail.getId() + ""); interfacedata.setRestype("static"); interfacedata.setUnit(""); interfacedata.setThevalue(intreceieveflag + ""); interfacedata.setChname("接收服务"); mailvector.add(interfacedata); Hashtable collectHash = new Hashtable(); collectHash.put("mail", mailvector); // mail.setStatus(3); // mail.setAlarm(true); // createEvent(mailconfig, reason); try { AlarmIndicatorsUtil alarmIndicatorsUtil = new AlarmIndicatorsUtil(); List list = alarmIndicatorsUtil.getAlarmInicatorsThresholdForNode( String.valueOf(mailconfig.getId()), AlarmConstant.TYPE_SERVICE, "mail"); for (int k = 0; k < list.size(); k++) { AlarmIndicatorsNode alarmIndicatorsnode = (AlarmIndicatorsNode) list.get(k); // 对邮件服务值进行告警检测 CheckEventUtil checkutil = new CheckEventUtil(); checkutil.updateData( mail, collectHash, "service", "mail", alarmIndicatorsnode); // } } } catch (Exception e) { e.printStackTrace(); } // createEvent(mailconfig, reason); } } else { // mail.setStatus(3); // mail.setAlarm(true); // List alarmList = mail.getAlarmMessage(); // if(alarmList == null)alarmList = new ArrayList(); // mail.getAlarmMessage().add("邮件服务无效"); // reason="邮件服务无效"; Vector mailvector = new Vector(); // 开始设置采集值实体 Interfacecollectdata interfacedata = new Interfacecollectdata(); interfacedata.setIpaddress(mail.getIpAddress()); interfacedata.setCollecttime(date); interfacedata.setCategory("Mail"); interfacedata.setEntity("Send"); interfacedata.setSubentity(mail.getId() + ""); interfacedata.setRestype("static"); interfacedata.setUnit(""); interfacedata.setThevalue(intflag + ""); interfacedata.setChname("发送服务"); mailvector.add(interfacedata); interfacedata = new Interfacecollectdata(); interfacedata.setIpaddress(mail.getIpAddress()); interfacedata.setCollecttime(date); interfacedata.setCategory("Mail"); interfacedata.setEntity("Receieve"); interfacedata.setSubentity(mail.getId() + ""); interfacedata.setRestype("static"); interfacedata.setUnit(""); interfacedata.setThevalue(intreceieveflag + ""); interfacedata.setChname("接收服务"); mailvector.add(interfacedata); Hashtable collectHash = new Hashtable(); collectHash.put("mail", mailvector); // mail.setStatus(3); // mail.setAlarm(true); // createEvent(mailconfig, reason); try { AlarmIndicatorsUtil alarmIndicatorsUtil = new AlarmIndicatorsUtil(); List list = alarmIndicatorsUtil.getAlarmInicatorsThresholdForNode( String.valueOf(mailconfig.getId()), AlarmConstant.TYPE_SERVICE, "mail"); for (int k = 0; k < list.size(); k++) { AlarmIndicatorsNode alarmIndicatorsnode = (AlarmIndicatorsNode) list.get(k); // 对邮件服务值进行告警检测 CheckEventUtil checkutil = new CheckEventUtil(); checkutil.updateData(mail, collectHash, "service", "mail", alarmIndicatorsnode); // } } } catch (Exception e) { e.printStackTrace(); } // createEvent(mailconfig, reason); } } } } catch (Exception ex) { // //不能进行邮件服务 // EventList event = new EventList(); // if (flag == true && receieveflag == false){ // intflag = 1; // reason="邮件接收服务无效"; // mail.getAlarmMessage().add("邮件接收服务无效"); // }else if (flag == false && receieveflag == true){ // intreceieveflag = 1; // reason="邮件发送服务无效"; // mail.getAlarmMessage().add("邮件发送服务无效"); // } // Vector mailvector = new Vector(); // //开始设置采集值实体 // Interfacecollectdata interfacedata=new Interfacecollectdata(); // interfacedata.setIpaddress(mail.getIpAddress()); // interfacedata.setCollecttime(date); // interfacedata.setCategory("Mail"); // interfacedata.setEntity("Send"); // interfacedata.setSubentity(mail.getId()+""); // interfacedata.setRestype("static"); // interfacedata.setUnit(""); // interfacedata.setThevalue(intflag+""); // interfacedata.setChname("发送服务"); // mailvector.add(interfacedata); // // interfacedata=new Interfacecollectdata(); // interfacedata.setIpaddress(mail.getIpAddress()); // interfacedata.setCollecttime(date); // interfacedata.setCategory("Mail"); // interfacedata.setEntity("Receieve"); // interfacedata.setSubentity(mail.getId()+""); // interfacedata.setRestype("static"); // interfacedata.setUnit(""); // interfacedata.setThevalue(intreceieveflag+""); // interfacedata.setChname("接收服务"); // mailvector.add(interfacedata); // // Hashtable collectHash = new Hashtable(); // collectHash.put("mail", mailvector); // // mail.setStatus(3); // mail.setAlarm(true); // List alarmList = mail.getAlarmMessage(); // if(alarmList == null)alarmList = new ArrayList(); // // createEvent(mailconfig, reason); // try{ // AlarmIndicatorsUtil alarmIndicatorsUtil = new AlarmIndicatorsUtil(); // List list = // alarmIndicatorsUtil.getAlarmInicatorsThresholdForNode(String.valueOf(mailconfig.getId()), AlarmConstant.TYPE_SERVICE, "mail"); // for(int k = 0 ; k < list.size() ; k ++){ // AlarmIndicatorsNode alarmIndicatorsnode = (AlarmIndicatorsNode)list.get(k); // //对邮件服务值进行告警检测 // CheckEventUtil checkutil = new CheckEventUtil(); // checkutil.updateData(mail,collectHash,"service","mail",alarmIndicatorsnode); // //} // } // }catch(Exception e){ // e.printStackTrace(); // } } // 保存进历史数据 emailmonitor_history.setEmail_id(mailconfig.getId()); emailmonitor_history.setIs_canconnected(iscanconnected); emailmonitor_history.setMon_time(Calendar.getInstance()); emailmonitor_history.setReason(reason); emailmonitor_historyDao = new Emailmonitor_historyDao(); try { emailmonitor_historyDao.save(emailmonitor_history); } catch (Exception e) { } if (sendeddata.containsKey("emailserver:" + mailconfig.getId())) { sendeddata.remove("emailserver:" + mailconfig.getId()); } // 实时数据 Emailmonitor_realtime emailmonitor_realtime = new Emailmonitor_realtime(); emailmonitor_realtime.setEmail_id(mailconfig.getId()); emailmonitor_realtime.setIs_canconnected(iscanconnected); emailmonitor_realtime.setMon_time(Calendar.getInstance()); emailmonitor_realtime.setReason(reason); if (old == true) { emailmonitor_realtime.setId(emailold.getId()); emailmonitor_realtime.setSms_sign(1); } else { emailmonitor_realtime.setSms_sign(smssign); } // 保存realtime if (old == true) { emailmonitor_realtimeDao = new Emailmonitor_realtimeDao(); try { emailmonitor_realtimeDao.update(emailmonitor_realtime); } catch (Exception e) { } finally { emailmonitor_realtimeDao.close(); } } if (old == false) { emailmonitor_realtimeDao = new Emailmonitor_realtimeDao(); try { emailmonitor_realtimeDao.save(emailmonitor_realtime); } catch (Exception e) { } finally { emailmonitor_realtimeDao.close(); } } } catch (Exception e) { e.printStackTrace(); } finally { emailmonitor_historyDao.close(); emailmonitor_realtimeDao.close(); } } catch (Exception e) { e.printStackTrace(); } finally { if (emailmonitor_realtimeDao != null) { emailmonitor_historyDao.close(); } if (emailmonitor_realtimeDao != null) { emailmonitor_realtimeDao.close(); } } }