diff options
| author | doufenghu <[email protected]> | 2019-01-11 16:07:45 +0600 |
|---|---|---|
| committer | doufenghu <[email protected]> | 2019-01-11 16:07:45 +0600 |
| commit | 17b8b613a0c3975a5ee90106d0f783d899f068b6 (patch) | |
| tree | 4ebc133b879d6be94be9d3b923aa7d87da19781e | |
| parent | 7e24352057d255ed97485bd6ec37b3f3ae63b48e (diff) | |
fix(事件封堵与监测):修改接口通过生效配置获取日志量
5 files changed, 164 insertions, 0 deletions
diff --git a/src/main/java/com/nis/galaxy/template/ForEventsInterface.java b/src/main/java/com/nis/galaxy/template/ForEventsInterface.java index 9ecc422..0fbb871 100644 --- a/src/main/java/com/nis/galaxy/template/ForEventsInterface.java +++ b/src/main/java/com/nis/galaxy/template/ForEventsInterface.java @@ -226,7 +226,37 @@ public class ForEventsInterface { String logMark = "事件监测"; List contentValue = null; try { + contentValue = eventsService.getCfgsMonitor(logMark); + + } catch (Exception e) { + logger.error(logMark + "\t查询异常\trestTemplate", e); + } + if (InterfaceBase.contentValueIsEmpty(contentValue)) { + logger.warn(logMark + "\t无数据\t取消本次推送"); + return; + } + // 请求头和请求体 + HttpEntity<String> httpEntity = InterfaceBase.getHttpEntity(pushParams.getHeaders(), null, "events.monitor", contentValue); + logger.info("开始推送=======>>{}\t请求头和请求体\t{}", logMark, httpEntity); + ResponseEntity<String> response = InterfaceBase.pushStart(restTemplate, REST_URL_PREFIX_PUSH + SERVICE_PATH_EVENTS, httpEntity); + logger.info("{}\t推送返回结果\t{}", logMark, response); + } + + + /** + * 事件监测 1小时送一次数据 + */ + //@Scheduled(cron = "${1h.scheduled.cron.plan}") + //@SchedulerLock(name = "events.monitor", lockAtLeastForString = "PT20M", lockAtMostForString = "PT40M") + public void getEventsMonitor_tmp() { + if (!Boolean.parseBoolean(scheduledEventsEnable)) { + return; + } + String logMark = "事件监测"; + List contentValue = null; + try { contentValue = eventsService.getEventsMonitor(logMark); + } catch (Exception e) { logger.error(logMark + "\t查询异常\trestTemplate", e); } @@ -241,6 +271,11 @@ public class ForEventsInterface { logger.info("{}\t推送返回结果\t{}", logMark, response); } + + + + + /** * 事件封堵 1小时送一次数据 */ @@ -253,6 +288,35 @@ public class ForEventsInterface { String logMark = "事件封堵"; List contentValue = null; try { + contentValue = eventsService.getCfgsBlock(logMark); + } catch (Exception e) { + logger.error(logMark + "\t查询异常\trestTemplate", e); + } + if (InterfaceBase.contentValueIsEmpty(contentValue)) { + logger.warn(logMark + "\t无数据\t取消本次推送"); + return; + } + // 请求头和请求体 + HttpEntity<String> httpEntity = InterfaceBase.getHttpEntity(pushParams.getHeaders(), null, "events.block", contentValue); + logger.info("开始推送=======>>{}\t请求头和请求体\t{}", logMark, httpEntity); + ResponseEntity<String> response = InterfaceBase.pushStart(restTemplate, REST_URL_PREFIX_PUSH + SERVICE_PATH_EVENTS, httpEntity); + logger.info("{}\t推送返回结果\t{}", logMark, response); + } + + + + /** + * 事件封堵 1小时送一次数据 + */ + // @Scheduled(cron = "${1h.scheduled.cron.plan}") + // @SchedulerLock(name = "events.block", lockAtLeastForString = "PT20M", lockAtMostForString = "PT40M") + public void getEventsBlock_tmp() { + if (!Boolean.parseBoolean(scheduledEventsEnable)) { + return; + } + String logMark = "事件封堵"; + List contentValue = null; + try { contentValue = eventsService.getEventsBlock(logMark); } catch (Exception e) { logger.error(logMark + "\t查询异常\trestTemplate", e); diff --git a/src/main/java/com/nis/galaxy/web/dao/EventsDao.java b/src/main/java/com/nis/galaxy/web/dao/EventsDao.java index 9219bf4..11c0bfc 100644 --- a/src/main/java/com/nis/galaxy/web/dao/EventsDao.java +++ b/src/main/java/com/nis/galaxy/web/dao/EventsDao.java @@ -51,8 +51,13 @@ public interface EventsDao { List<EventsMonitor> getEventsMonitor(); + List<EventsMonitor> getCfgsMonitor(); + + List<EventsBlock> getEventsBlock(); + List<EventsMonitor> getCfgsBlock(); + List<EvevtsTargetNetwork> getTargetNetwork(@Param("push") Date push, @Param("start") Date start, @Param("end") Date end); Date getTargetNetworkLastTime(@Param("end") Date end); diff --git a/src/main/java/com/nis/galaxy/web/service/EventsService.java b/src/main/java/com/nis/galaxy/web/service/EventsService.java index 14f8c36..37e20a4 100644 --- a/src/main/java/com/nis/galaxy/web/service/EventsService.java +++ b/src/main/java/com/nis/galaxy/web/service/EventsService.java @@ -82,6 +82,13 @@ public interface EventsService { List<EventsMonitor> getEventsMonitor(String logMark); /** + * 当前生效配置监测日志量 + * @param logMark + * @return + */ + List<EventsMonitor> getCfgsMonitor(String logMark); + + /** * 事件封堵 * * @param logMark @@ -89,6 +96,15 @@ public interface EventsService { */ List<EventsBlock> getEventsBlock(String logMark); + + /** + * 当前生效配置阻断日志量 + * @param logMark + * @return + */ + List<EventsMonitor> getCfgsBlock(String logMark); + + /** * 音频监控 * diff --git a/src/main/java/com/nis/galaxy/web/service/impl/EventsServiceImpl.java b/src/main/java/com/nis/galaxy/web/service/impl/EventsServiceImpl.java index d5fb963..e4096d1 100644 --- a/src/main/java/com/nis/galaxy/web/service/impl/EventsServiceImpl.java +++ b/src/main/java/com/nis/galaxy/web/service/impl/EventsServiceImpl.java @@ -372,6 +372,37 @@ public class EventsServiceImpl implements EventsService { } /** + * 当前生效配置监测日志量 + * + * @param logMark + * @return + */ + @Override + public List<EventsMonitor> getCfgsMonitor(String logMark) { + List<EventsMonitor> list = new ArrayList<>(); + long timeMillisStart = System.currentTimeMillis(); + try { + list = eventsDao.getCfgsMonitor(); + } catch (Exception e) { + logger.error(logMark + "\t查询异常\tserviceImpl", e); + } + logger.info("{}耗时\t{}", logMark, (System.currentTimeMillis() - timeMillisStart)); + if (ListUtils.isEmptyList(list) && ConfigUtil.testData) { + logger.info(logMark + "------->测试数据"); + Date taskTimeTemp = DateUtil.getFormatHour(new Date()); + java.sql.Date taskTime = new java.sql.Date(taskTimeTemp.getTime()); + list.add(new EventsMonitor("double agent", (int) (Math.random() * 100), (int) (Math.random() * 100), (int) (Math.random() * 100), (int) (Math.random() * 100), (int) (Math.random() * 100), taskTime)); + list.add(new EventsMonitor("nuclear program", (int) (Math.random() * 100), (int) (Math.random() * 100), (int) (Math.random() * 100), (int) (Math.random() * 100), (int) (Math.random() * 100), taskTime)); + list.add(new EventsMonitor("Subject Tests", (int) (Math.random() * 100), (int) (Math.random() * 100), (int) (Math.random() * 100), (int) (Math.random() * 100), (int) (Math.random() * 100), taskTime)); + list.add(new EventsMonitor("fake task", (int) (Math.random() * 100), (int) (Math.random() * 100), (int) (Math.random() * 100), (int) (Math.random() * 100), (int) (Math.random() * 100), taskTime)); + list.add(new EventsMonitor("savage", (int) (Math.random() * 100), (int) (Math.random() * 100), (int) (Math.random() * 100), (int) (Math.random() * 100), (int) (Math.random() * 100), taskTime)); + list.add(new EventsMonitor("satellite", (int) (Math.random() * 100), (int) (Math.random() * 100), (int) (Math.random() * 100), (int) (Math.random() * 100), (int) (Math.random() * 100), taskTime)); + list.add(new EventsMonitor("taskName", (int) (Math.random() * 100), (int) (Math.random() * 100), (int) (Math.random() * 100), (int) (Math.random() * 100), (int) (Math.random() * 100), taskTime)); + } + return list; + } + + /** * 事件封堵 * * @param logMark diff --git a/src/main/resources/mybatis/mapper/EventsMapper.xml b/src/main/resources/mybatis/mapper/EventsMapper.xml index 640f17c..de20a98 100644 --- a/src/main/resources/mybatis/mapper/EventsMapper.xml +++ b/src/main/resources/mybatis/mapper/EventsMapper.xml @@ -240,6 +240,31 @@ GROUP BY event,time HAVING (ipNum+httpNum+mailNum+vedioNum+agentNum)>0; </select> + + + + <select id="getCfgsMonitor" resultType="com.nis.galaxy.domain.EventsMonitor"> + + SELECT now() as time, 'cfgmonitor' as event, + sum(case t.service when 128 then t.sum else 0 end) as ipNum , + sum(case t.service when 129 then t.sum else 0 end) as httpNum , + sum(case t.service when 132 then t.sum else 0 end) as mailNum , + sum(case t.service when 389 or 390 or 391 or 392 then t.sum else 0 end) as vedioNum , + sum(case t.service when 592 then t.sum else 0 end) as agentNum + from ( + SELECT service, sum(sum) AS sum + FROM ntc_pz_report + WHERE cfg_id in ( + select compile_id from ui_cfg_num_statistics where cfg_state=1 and + service_id in (128, 129, 132, 389,390,391,392, 592) + ) + GROUP BY service ) t + + GROUP BY event; + + </select> + + <!--事件封堵--> <select id="getEventsBlock" resultType="com.nis.galaxy.domain.EventsBlock"> SELECT task.audit_time time, task.task_name event, @@ -272,6 +297,29 @@ HAVING (ipNum+httpNum+mailNum+vedioNum+agentNum)>0; </select> + + + + <select id="getCfgsBlock" resultType="com.nis.galaxy.domain.EventsBlock"> + SELECT now() as time, 'cfgblock' as event, + sum(case t.service when 16 then t.sum else 0 end) as ipNum , + sum(case t.service when 17 then t.sum else 0 end) as httpNum , + sum(case t.service when 20 then t.sum else 0 end) as mailNum , + sum(case t.service when 261 or 262 or 263 or 264 then t.sum else 0 end) as vedioNum , + sum(case t.service when 576 then t.sum else 0 end) as agentNum + from ( + SELECT service, sum(sum) AS sum + FROM ntc_pz_report + WHERE cfg_id in ( + select compile_id from ui_cfg_num_statistics where cfg_state=1 and + service_id in (16, 17, 20, 261, 262, 263, 264,576) + ) + GROUP BY service ) t + + GROUP BY event; + + </select> + <select id="getHttpsMonitor" resultType="com.nis.galaxy.domain.EventsNameNumTime"> <