diff --git a/jeecg-boot-base-core/src/main/java/org/jeecg/common/constant/DBSQL.java b/jeecg-boot-base-core/src/main/java/org/jeecg/common/constant/DBSQL.java index 48bf4457..d2eb2622 100644 --- a/jeecg-boot-base-core/src/main/java/org/jeecg/common/constant/DBSQL.java +++ b/jeecg-boot-base-core/src/main/java/org/jeecg/common/constant/DBSQL.java @@ -19,6 +19,8 @@ public interface DBSQL { String DBSTATUS_CONN_PG = "SELECT COUNT(*) FROM pg_stat_activity WHERE query_start >= now() - interval '1 minute'"; + String DBSTATUS_DATASIZE_PG = "SELECT ROUND(SUM(pg_database_size(datname)) / 1024 / 1024, 0) FROM pg_database"; + /* Oracle */ String DBNAMES_OR = "SELECT username FROM all_users"; String DBINFO_OR = "SELECT a.table_name AS tableName, a.num_rows AS numRow," + @@ -54,6 +56,10 @@ public interface DBSQL { String DBSTATUS_CONN_OR = "SELECT COUNT(*) FROM V$SESSION WHERE LOGON_TIME >= SYSDATE - 1 / 24 / 60"; + String DBSTATUS_LOGRESIDUE_OR = "SELECT SUM(BYTES) / 1024 / 1024 FROM V$log WHERE ARCHIVED = 'NO'"; + + String DBSTATUS_DATASIZE_OR = "SELECT SUM(BYTES) / 1024 / 1024 AS dataSize FROM dba_data_files"; + /* MySQL */ String DBNAMES_MY = "SHOW DATABASES"; String DBINFO_MY = "SELECT TABLE_NAME AS tableName, TABLE_ROWS AS numRow," + diff --git a/jeecg-module-abnormal-alarm/src/main/java/org/jeecg/modules/databaseStatus/ConnFetcher.java b/jeecg-module-abnormal-alarm/src/main/java/org/jeecg/modules/databaseStatus/ConnFetcher.java index 3c396c61..51b132ab 100644 --- a/jeecg-module-abnormal-alarm/src/main/java/org/jeecg/modules/databaseStatus/ConnFetcher.java +++ b/jeecg-module-abnormal-alarm/src/main/java/org/jeecg/modules/databaseStatus/ConnFetcher.java @@ -1,6 +1,8 @@ package org.jeecg.modules.databaseStatus; +import cn.hutool.core.collection.ArrayIter; import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.collection.ListUtil; import cn.hutool.core.util.ObjectUtil; import lombok.extern.slf4j.Slf4j; import org.jeecg.common.constant.DBSQL; @@ -39,8 +41,9 @@ public class ConnFetcher implements Runnable{ public void run() { if (CollUtil.isEmpty(databases)) return; List statusList = new ArrayList<>(); - Iterator iterator = databases.iterator(); while (true){ + Iterator iterator = CollUtil + .addAll(new ArrayList<>() ,databases).iterator(); LocalDateTime now = LocalDateTime.now(); while (iterator.hasNext()) { try { @@ -88,7 +91,7 @@ public class ConnFetcher implements Runnable{ databaseStatus.setCollectTime(now); // 数据达到一定数量,进行批量保存 statusList.add(databaseStatus); - if (statusList.size() == 5){ + if (statusList.size() == 100){ connService.saveBatch(statusList); statusList = new ArrayList<>(); } diff --git a/jeecg-server-cloud/armd-abnormal-alarm-start/src/main/java/org/jeecg/JeecgAbnormalAlarmApplication.java b/jeecg-server-cloud/armd-abnormal-alarm-start/src/main/java/org/jeecg/JeecgAbnormalAlarmApplication.java index e1763c58..fc18c401 100644 --- a/jeecg-server-cloud/armd-abnormal-alarm-start/src/main/java/org/jeecg/JeecgAbnormalAlarmApplication.java +++ b/jeecg-server-cloud/armd-abnormal-alarm-start/src/main/java/org/jeecg/JeecgAbnormalAlarmApplication.java @@ -63,7 +63,7 @@ public class JeecgAbnormalAlarmApplication extends SpringBootServletInitializer // 启动监测服务器连接状态的线程 serverStatusManager.start(); // 启动采集数据库状态信息线程组 - databaseStatusFetcher.start(); + // databaseStatusFetcher.start(); } } \ No newline at end of file