diff --git a/jeecg-module-abnormal-alarm/src/main/java/org/jeecg/modules/entity/MetricConfig.java b/jeecg-module-abnormal-alarm/src/main/java/org/jeecg/modules/entity/MetricConfig.java index fb173921..673114d3 100644 --- a/jeecg-module-abnormal-alarm/src/main/java/org/jeecg/modules/entity/MetricConfig.java +++ b/jeecg-module-abnormal-alarm/src/main/java/org/jeecg/modules/entity/MetricConfig.java @@ -90,7 +90,10 @@ public class MetricConfig { // 应用相关 (1601-1603) METRIC_MAP.put("1601", new MetricConfig("responseSuccessRate", - "sum(rate(http_requests_total{instance='%1$s',status=~'2..'}[5m])) / sum(rate(http_requests_total{instance='%1$s'}[5m])) * 100", + "sum(rate(nginx_vts_server_requests_total{host='%1$s',code=~\"2xx\"}[5m]))\n" + + "/\n" + + "sum(rate(nginx_vts_server_requests_total{host='%1$s',code=~\"1xx|2xx|3xx|4xx|5xx\"}[5m]))\n" + + "* 100", "%")); METRIC_MAP.put("1602", new MetricConfig("login", "sum(increase(login_attempts_total{instance='%1$s'}[5m]))", diff --git a/jeecg-module-abnormal-alarm/src/main/java/org/jeecg/modules/service/impl/MonitorServiceImpl.java b/jeecg-module-abnormal-alarm/src/main/java/org/jeecg/modules/service/impl/MonitorServiceImpl.java index 5d11d43a..4ef9ccb6 100644 --- a/jeecg-module-abnormal-alarm/src/main/java/org/jeecg/modules/service/impl/MonitorServiceImpl.java +++ b/jeecg-module-abnormal-alarm/src/main/java/org/jeecg/modules/service/impl/MonitorServiceImpl.java @@ -152,10 +152,27 @@ public class MonitorServiceImpl implements IMonitorService { for (PrometheusUtil.DataPoint p : results.get(0).getValues()) { Map point = new HashMap<>(); point.put("date", p.getTimestamp() * 1000L); - point.put("value", p.getValue()); + point.put("value", String.format("%.2f", p.getValue())); dataPoints.add(point); } } + //TODO itemType=1 + if (itemType == 1) { + String eventPromql = + String.format("server:status:value{instance=\"%s\"}", instance); + List eventResults = + queryRange(eventPromql, startTime, endTime, 60); + + if (!eventResults.isEmpty() && eventResults.get(0).getValues() != null) { + for (PrometheusUtil.DataPoint p : eventResults.get(0).getValues()) { + Map point = new HashMap<>(); + point.put("clock", p.getTimestamp()); + point.put("value", p.getValue()); + dataPoints.add(point); + } + } + } + return Result.OK(dataPoints); } catch (Exception e) { @@ -310,7 +327,8 @@ public class MonitorServiceImpl implements IMonitorService { case "postgresql": //postgres result.add(buildItemFromQuery("Database memory state(Total memory)", "B", - "avg(rate(process_resident_memory_bytes{instance=\""+hostId+"\"}[5m]))", startTime, endTime, step)); + "avg(rate(process_resident_memory_bytes{instance=\"" + hostId + + "\"}[5m]))", startTime, endTime, step)); result.add(buildItemFromQuery("Database user status(Logins per second)", "", "sum(pg_stat_database_numbackends{instance=~\"" + hostId @@ -322,33 +340,40 @@ public class MonitorServiceImpl implements IMonitorService { result.add(buildItemFromQuery("Active sessions", "", "sum by (datname, instance) (\n" + - " pg_stat_activity_count{datname=~\"(armd|postgres|template0|template1)\", instance=~\""+hostId+"\", state=\"active\"} != 0\n" + + " pg_stat_activity_count{datname=~\"(armd|postgres|template0|template1)\", instance=~\"" + + hostId + "\", state=\"active\"} != 0\n" + ")", startTime, endTime, step)); result.add(buildItemFromQuery("Idle sessions", "", - "sum(pg_stat_activity_count{datname=~\"(armd|postgres|template0|template1)\", instance=~\""+hostId+"\", state=~\"idle|idle in transaction|idle in transaction (aborted)\"})", startTime, endTime, step)); + "sum(pg_stat_activity_count{datname=~\"(armd|postgres|template0|template1)\", instance=~\"" + + hostId + + "\", state=~\"idle|idle in transaction|idle in transaction (aborted)\"})", + startTime, endTime, step)); result.add(buildItemFromQuery("Database file size", "B", - "sum(pg_database_size_bytes{instance=~\"" + hostId + "\"})", startTime, endTime, step)); + "sum(pg_database_size_bytes{instance=~\"" + hostId + "\"})", startTime, + endTime, step)); break; case "Oracle": //TODO 待修改,优化promql语句 //Oracle result.add(buildItemFromQuery("Database memory state(Total memory)", "B", - "oracledb_sysmetric_total_pga_allocated{instance=\""+hostId+"\"}", + "oracledb_sysmetric_total_pga_allocated{instance=\"" + hostId + "\"}", startTime, endTime, step)); result.add(buildItemFromQuery("Database user status(Logins per second)", "", "oracledb_sysmetric_logons_per_sec", startTime, endTime, step)); result.add(buildItemFromQuery("Database connection number", "", "oracledb_sysmetric_session_count", startTime, endTime, step)); result.add(buildItemFromQuery("Database connection response time", "", - "oracledb_sysmetric_sql_service_response_time{instance=\""+hostId+"\"}", + "oracledb_sysmetric_sql_service_response_time{instance=\"" + hostId + + "\"}", startTime, endTime, step)); result.add(buildItemFromQuery("Remaining space of the database log file", "B", - "oracledb_env_redo_value{instance=\""+hostId+"\",name=\"log_size\"}", + "oracledb_env_redo_value{instance=\"" + hostId + + "\",name=\"log_size\"}", startTime, endTime, step)); result.add(buildItemFromQuery("Database file size", "B", - "sum(oracledb_tablespace_bytes{instance=\""+hostId+"\"})", + "sum(oracledb_tablespace_bytes{instance=\"" + hostId + "\"})", startTime, endTime, step)); break; } diff --git a/jeecg-module-abnormal-alarm/src/main/java/org/jeecg/modules/service/impl/SysServerServiceImpl.java b/jeecg-module-abnormal-alarm/src/main/java/org/jeecg/modules/service/impl/SysServerServiceImpl.java index 2eaa655f..3e6e2bf3 100644 --- a/jeecg-module-abnormal-alarm/src/main/java/org/jeecg/modules/service/impl/SysServerServiceImpl.java +++ b/jeecg-module-abnormal-alarm/src/main/java/org/jeecg/modules/service/impl/SysServerServiceImpl.java @@ -36,6 +36,7 @@ import org.jeecg.modules.base.entity.postgre.SysServer; import org.jeecg.modules.base.bizVo.SourceVo; import org.jeecg.modules.base.enums.ServerStatus; import org.jeecg.modules.entity.AlarmHistory; +import org.jeecg.modules.entity.MetricConfig; import org.jeecg.modules.feignclient.ManageUtil; import org.jeecg.modules.feignclient.MonitorAlarm; import org.jeecg.modules.mapper.SysServerMapper; @@ -510,7 +511,11 @@ public class SysServerServiceImpl extends ServiceImpl