From 7a2e82325091a39c32cf9940d0016178a3655dc9 Mon Sep 17 00:00:00 2001
From: kongdeqiang <123456>
Date: 星期二, 02 十二月 2025 17:53:04 +0800
Subject: [PATCH] 大屏接口修改
---
src/main/java/com/wgcloud/service/RouterConnectionService.java | 12 ++++--
src/main/java/com/wgcloud/task/DataScheduledTask.java | 6 +-
src/main/java/com/wgcloud/task/ScheduledTask.java | 19 +++++----
src/main/java/com/wgcloud/service/OspfInfoService.java | 57 ++++++++++++++++++----------
wgcloud-server.iml | 1
pom.xml | 7 +++
src/main/resources/application.yml | 11 ++---
7 files changed, 69 insertions(+), 44 deletions(-)
diff --git a/pom.xml b/pom.xml
index 75af7dc..d412139 100644
--- a/pom.xml
+++ b/pom.xml
@@ -78,6 +78,11 @@
<artifactId>lombok</artifactId>
</dependency>
<dependency>
+ <groupId>com.alibaba</groupId>
+ <artifactId>fastjson</artifactId>
+ <version>1.2.83</version>
+ </dependency>
+ <dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>5.6.5</version>
@@ -229,4 +234,4 @@
</build>
-</project>
\ No newline at end of file
+</project>
diff --git a/src/main/java/com/wgcloud/service/OspfInfoService.java b/src/main/java/com/wgcloud/service/OspfInfoService.java
index 1f2f36f..26c4432 100644
--- a/src/main/java/com/wgcloud/service/OspfInfoService.java
+++ b/src/main/java/com/wgcloud/service/OspfInfoService.java
@@ -1,5 +1,7 @@
package com.wgcloud.service;
+import cn.hutool.http.HttpRequest;
+import com.alibaba.fastjson.TypeReference;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.wgcloud.entity.OspfErrorLog;
@@ -15,7 +17,9 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
+import com.alibaba.fastjson.JSON;
import java.util.HashMap;
import java.util.List;
@@ -38,6 +42,11 @@
private OspfNeighborUtil ospfNeighborUtil;
@Autowired
private OspfErrorLogMapper errorLogMapper;
+
+ @Value("${osfService.host}")
+ private String remoteHost;
+ @Value("${osfService.port}")
+ private String remotePort;
private static final Logger logger = LoggerFactory.getLogger(OspfInfoService.class);
@@ -78,27 +87,6 @@
OspfInfoMapper.updateById(ospfInfo);
}
-// public boolean checkOspfStatus() {
-// String command = "display ospf brief";
-// String output = routerConnectionService.executeCommand(command);
-//
-// if (output == null) {
-// return false;
-// }
-//
-// // 妫�鏌ヨ緭鍑轰腑鏄惁鍖呭惈OSPF鐩稿叧淇℃伅
-// boolean containsRouterId = StringUtils.containsIgnoreCase(output, "Router ID");
-// boolean containsArea = StringUtils.containsIgnoreCase(output, "Area");
-// boolean containsProcessId = StringUtils.containsIgnoreCase(output, "Process ID");
-//
-// // 妫�鏌ユ槸鍚︽湁閿欒淇℃伅
-// boolean containsError = StringUtils.containsIgnoreCase(output, "Error") ||
-// StringUtils.containsIgnoreCase(output, "Fail") ||
-// StringUtils.containsIgnoreCase(output, "Invalid");
-//
-// return (containsRouterId && containsArea && containsProcessId) && !containsError;
-// }
-
/**
* 鑾峰彇璇︾粏鐨凮SPF閭诲眳淇℃伅
*/
@@ -107,6 +95,7 @@
for (OspfInfo ospfInfo : ospfInfos) {
String command = "display ospf peer "+ospfInfo.getHostname();
String result = routerConnectionService.executeCommand(command,ospfInfo.getMonitorUsername(),ospfInfo.getMonitorPassword(),ospfInfo.getMonitorIp());
+ System.out.println("鑾峰彇鍒扮殑閭诲眳淇℃伅涓猴細"+result);
if(StringUtils.isNotBlank(result)){
List<OspfNeighbor> neighbors = ospfNeighborUtil.analysisStr(result);
if(neighbors != null || neighbors.size()>0){
@@ -144,6 +133,32 @@
}
}
+ public void getRouterStatus() {
+ List<OspfInfo> ospfInfos = OspfInfoMapper.selectAllByParams(null);
+ for (OspfInfo ospfInfo : ospfInfos) {
+ String command = "display ospf peer "+ospfInfo.getHostname();
+ Map<String,String> map = new HashMap<>();
+ map.put("command",command);
+ map.put("username",ospfInfo.getMonitorUsername());
+ map.put("password",ospfInfo.getMonitorPassword());
+ map.put("monitorIp",ospfInfo.getMonitorIp());
+ String str = JSON.toJSONString(map);
+ System.out.println(str);
+ try {
+ String url = "http://"+remoteHost+":"+remotePort+"/api/connect/getResult";
+ String responseBody = HttpRequest.post(url)
+ .timeout(5000)
+ .body(str)
+ .execute()
+ .body();
+ System.out.println(responseBody);
+
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+ }
+
/**
* 鑾峰彇OSPF鎺ュ彛鐘舵��
*/
diff --git a/src/main/java/com/wgcloud/service/RouterConnectionService.java b/src/main/java/com/wgcloud/service/RouterConnectionService.java
index 61ff536..2ffdc2c 100644
--- a/src/main/java/com/wgcloud/service/RouterConnectionService.java
+++ b/src/main/java/com/wgcloud/service/RouterConnectionService.java
@@ -82,10 +82,13 @@
* 鎵ц璺敱鍣ㄥ懡浠�
*/
public String executeCommand(String command,String username,String password,String hostname) {
- if (!isConnected()) {
- if (!connect(username,hostname,password)) {
- return null;
- }
+// if (!isConnected()) {
+// if (!connect(username,hostname,password)) {
+// return null;
+// }
+// }
+ if (!connect(username,hostname,password)) {
+ return null;
}
try {
@@ -101,6 +104,7 @@
reader.close();
channel.disconnect();
+ disconnect();
return output.toString();
} catch (Exception e) {
System.err.println("鎵ц鍛戒护澶辫触: " + e.getMessage());
diff --git a/src/main/java/com/wgcloud/task/DataScheduledTask.java b/src/main/java/com/wgcloud/task/DataScheduledTask.java
index 8244141..9d95269 100644
--- a/src/main/java/com/wgcloud/task/DataScheduledTask.java
+++ b/src/main/java/com/wgcloud/task/DataScheduledTask.java
@@ -97,7 +97,7 @@
* 29绉掑悗鎵ц锛屼箣鍚庢瘡闅�29绉掓墽琛�, 鍗曚綅锛歮s銆�
* 鎵归噺鎻愪氦鏁版嵁
*/
- @Scheduled(initialDelay = 29000L, fixedRate = 29 * 1000)
+ //@Scheduled(initialDelay = 29000L, fixedRate = 29 * 1000)
public synchronized void commitTask() {
if (DateUtil.isClearTime()) {
logger.info("姝e湪娓呯┖鍘嗗彶瓒嬪娍鍥炬暟鎹紝涓嶆墽琛屾彁浜ょ洃鎺ф暟鎹�----------" + DateUtil.getCurrentDateTime());
@@ -470,7 +470,7 @@
* 姣忓ぉ鍑屾櫒8:24:30鎵ц
* 娓呯悊鍘嗗彶鏁版嵁杩囩▼鍗冲皢缁撴潫鏃讹紝灏嗕富鏈恒�佺鍙c�佽繘绋嬨�乨ocker鐨勬洿鏂版椂闂村埛鏂颁负褰撳墠鏃堕棿
*/
- @Scheduled(cron = "30 24 8 * * ?")
+ //@Scheduled(cron = "30 24 8 * * ?")
public void refreshCommitDate() {
try {
taskUtilService.refreshCommitDate();
@@ -483,7 +483,7 @@
* 姣忓ぉ鍑屾櫒8:10鎵ц
* 鍒犻櫎鍘嗗彶瓒嬪娍鍥炬暟鎹紝榛樿15澶�
*/
- @Scheduled(cron = "0 10 8 * * ?")
+ //@Scheduled(cron = "0 10 8 * * ?")
public void clearHisdataTask() {
if (!StaticKeys.NODE_MASTER.equals(commonConfig.getNodeType())) {
logger.info("slave鑺傜偣涓嶆墽琛屾竻绌哄巻鍙茶秼鍔垮浘鏁版嵁浠诲姟");
diff --git a/src/main/java/com/wgcloud/task/ScheduledTask.java b/src/main/java/com/wgcloud/task/ScheduledTask.java
index 55899af..9315994 100644
--- a/src/main/java/com/wgcloud/task/ScheduledTask.java
+++ b/src/main/java/com/wgcloud/task/ScheduledTask.java
@@ -78,13 +78,14 @@
private ServletContext servletContext;
/**
- * 30绉掑悗鎵ц锛屾瘡2鍒嗛挓妫�娴嬩竴娆�
+ * 30绉掑悗鎵ц锛屾瘡1鍒嗛挓妫�娴嬩竴娆�
* 妫�娴媜spf鐘舵��
*/
@Scheduled(initialDelay = 30000L, fixedRate = 2 * 60 * 1000)
public void ospfDownCheckTask() {
- logger.info("ospfDownCheckTask------------" + DateUtil.getDateTimeString(new Date()));
+ logger.info("ospf閾捐矾妫�娴嬩换鍔″紑濮�------------" + DateUtil.getDateTimeString(new Date()));
ospfInfoService.getDetailedOspfNeighborInfo();
+ logger.info("ospf閾捐矾妫�娴嬩换鍔$粨鏉�------------" + DateUtil.getDateTimeString(new Date()));
}
/**
@@ -124,7 +125,7 @@
* 20绉掑悗鎵ц锛屼箣鍚庢瘡6鍒嗛挓鍒锋柊涓�娆�
* 鍒濆鍖栦竴浜涗换鍔�
*/
- @Scheduled(initialDelay = 20000L, fixedRate = 6 * 60 * 1000)
+ //@Scheduled(initialDelay = 20000L, fixedRate = 6 * 60 * 1000)
public void initTask() {
logger.info("initTask------------" + DateUtil.getDateTimeString(new Date()));
try {
@@ -160,7 +161,7 @@
* 15绉掑悗鎵ц锛屼箣鍚庢瘡灏忔椂鍒锋柊涓�娆�
* 鑾峰彇鎵�鏈夌鐩樻�诲閲忎箣鍜岋紝缂撳瓨璧锋潵
*/
- @Scheduled(initialDelay = 15000L, fixedRate = 60 * 60 * 1000)
+ //@Scheduled(initialDelay = 15000L, fixedRate = 60 * 60 * 1000)
public void sumDiskSizeCacheTask() {
logger.info("sumDiskSizeCacheTask------------" + DateUtil.getDateTimeString(new Date()));
try {
@@ -174,7 +175,7 @@
* 150绉掑悗鎵ц锛屼箣鍚庢瘡闅�15鍒嗛挓鎵ц, 鍗曚綅锛歮s銆�
* snmp璁惧鐩戞祴
*/
- @Scheduled(initialDelay = 150000L, fixedRateString = "${base.snmpTimes}" + "000")
+ //@Scheduled(initialDelay = 150000L, fixedRateString = "${base.snmpTimes}" + "000")
public void snmpInfoTask() {
if (!StaticKeys.NODE_MASTER.equals(commonConfig.getNodeType())) {
logger.info("slave鑺傜偣涓嶆墽琛宻nmp璁惧鐩戞祴浠诲姟");
@@ -211,7 +212,7 @@
* 60绉掑悗鎵ц锛屼箣鍚庢瘡闅�10鍒嗛挓鎵ц, 鍗曚綅锛歮s銆�
* 妫�娴嬫湇鍔℃帴鍙�
*/
- @Scheduled(initialDelay = 60000L, fixedRateString = "${base.heathTimes}" + "000")
+ //@Scheduled(initialDelay = 60000L, fixedRateString = "${base.heathTimes}" + "000")
public void heathMonitorTask() {
if (!StaticKeys.NODE_MASTER.equals(commonConfig.getNodeType())) {
logger.info("slave鑺傜偣涓嶆墽琛屾娴嬫湇鍔℃帴鍙d换鍔�");
@@ -247,7 +248,7 @@
* 90绉掑悗鎵ц锛屼箣鍚庢瘡闅�15鍒嗛挓鎵ц, 鍗曚綅锛歮s銆�
* 妫�娴嬫暟閫歅ING璁惧
*/
- @Scheduled(initialDelay = 90000L, fixedRateString = "${base.dceTimes}" + "000")
+ //@Scheduled(initialDelay = 90000L, fixedRateString = "${base.dceTimes}" + "000")
public void dceInfoTask() {
if (!StaticKeys.NODE_MASTER.equals(commonConfig.getNodeType())) {
logger.info("slave鑺傜偣涓嶆墽琛屾娴嬫暟閫氳澶嘝ING浠诲姟");
@@ -283,7 +284,7 @@
* 120绉掑悗鎵ц锛屼箣鍚庢瘡闅�120鍒嗛挓鎵ц, 鍗曚綅锛歮s銆�
* 鏁版嵁琛ㄧ洃鎺�
*/
- @Scheduled(initialDelay = 120000L, fixedRateString = "${base.dbTableTimes}" + "000")
+ //@Scheduled(initialDelay = 120000L, fixedRateString = "${base.dbTableTimes}" + "000")
public void tableCountTask() {
if (!StaticKeys.NODE_MASTER.equals(commonConfig.getNodeType())) {
logger.info("slave鑺傜偣涓嶆墽琛屾暟鎹〃鐩戞帶浠诲姟");
@@ -302,7 +303,7 @@
* 300绉掑悗鎵ц锛屾瘡6鍒嗛挓妫�娴嬩竴娆�
* 妫�娴嬩富鏈烘槸鍚﹀凡缁忎笅绾匡紝妫�娴嬭繘绋嬨�佺鍙c�乨ocker銆佹枃浠堕槻绡℃敼鏄惁鎭㈠
*/
- @Scheduled(initialDelay = 300000L, fixedRate = 5 * 60 * 1000)
+ //@Scheduled(initialDelay = 300000L, fixedRate = 5 * 60 * 1000)
public void hostDownCheckTask() {
if (!StaticKeys.NODE_MASTER.equals(commonConfig.getNodeType())) {
logger.info("slave鑺傜偣涓嶆墽琛屾娴嬩富鏈�/杩涚▼/docker/绔彛鏄惁鎭㈠浠诲姟");
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index 9ace3ec..c96b5a2 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -1,5 +1,5 @@
server:
- port: 10001
+ port: 8889
servlet:
session:
timeout: 120m
@@ -14,7 +14,7 @@
name: wgcloud-server
datasource:
driver-class-name: com.mysql.jdbc.Driver
- url: jdbc:mysql://localhost:3306/wgcloud?characterEncoding=utf-8&characterSetResults=utf8&autoReconnect=true&useSSL=false&allowMultiQueries=true&allowPublicKeyRetrieval=true
+ url: jdbc:mysql://120.1.33.103:10001/wgcloud?characterEncoding=utf-8&characterSetResults=utf8&autoReconnect=true&useSSL=false&allowMultiQueries=true&allowPublicKeyRetrieval=true
username: root
password: rootroot
# hikari杩炴帴姹犵殑鍙傛暟 鐩稿叧璁剧疆
@@ -209,9 +209,8 @@
varDatas: /collect/api/realData/varDatas
alarm: /collect/api/alarm/findByPage
-router:
- host: 192.168.1.1
- username: xxxxx
- password: xxxxx
+osfService:
+ host: 127.0.0.1
+ port: 8081
diff --git a/wgcloud-server.iml b/wgcloud-server.iml
index b2c4c9b..7f2fb8c 100644
--- a/wgcloud-server.iml
+++ b/wgcloud-server.iml
@@ -56,6 +56,7 @@
<orderEntry type="library" name="Maven: com.fasterxml.jackson.datatype:jackson-datatype-jdk8:2.14.0-rc3" level="project" />
<orderEntry type="library" name="Maven: com.fasterxml.jackson.module:jackson-module-parameter-names:2.14.0-rc3" level="project" />
<orderEntry type="library" name="Maven: org.projectlombok:lombok:1.18.22" level="project" />
+ <orderEntry type="library" name="Maven: com.alibaba:fastjson:1.2.83" level="project" />
<orderEntry type="library" name="Maven: cn.hutool:hutool-all:5.6.5" level="project" />
<orderEntry type="library" name="Maven: mysql:mysql-connector-java:8.0.28" level="project" />
<orderEntry type="library" name="Maven: org.mariadb.jdbc:mariadb-java-client:2.7.3" level="project" />
--
Gitblit v1.9.1