修改告警监控项
This commit is contained in:
parent
927abc8530
commit
89bacebe1f
|
|
@ -90,7 +90,10 @@ public class MetricConfig {
|
||||||
|
|
||||||
// 应用相关 (1601-1603)
|
// 应用相关 (1601-1603)
|
||||||
METRIC_MAP.put("1601", new MetricConfig("responseSuccessRate",
|
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",
|
METRIC_MAP.put("1602", new MetricConfig("login",
|
||||||
"sum(increase(login_attempts_total{instance='%1$s'}[5m]))",
|
"sum(increase(login_attempts_total{instance='%1$s'}[5m]))",
|
||||||
|
|
|
||||||
|
|
@ -152,10 +152,27 @@ public class MonitorServiceImpl implements IMonitorService {
|
||||||
for (PrometheusUtil.DataPoint p : results.get(0).getValues()) {
|
for (PrometheusUtil.DataPoint p : results.get(0).getValues()) {
|
||||||
Map<String, Object> point = new HashMap<>();
|
Map<String, Object> point = new HashMap<>();
|
||||||
point.put("date", p.getTimestamp() * 1000L);
|
point.put("date", p.getTimestamp() * 1000L);
|
||||||
|
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<PrometheusUtil.QueryResult> eventResults =
|
||||||
|
queryRange(eventPromql, startTime, endTime, 60);
|
||||||
|
|
||||||
|
if (!eventResults.isEmpty() && eventResults.get(0).getValues() != null) {
|
||||||
|
for (PrometheusUtil.DataPoint p : eventResults.get(0).getValues()) {
|
||||||
|
Map<String, Object> point = new HashMap<>();
|
||||||
|
point.put("clock", p.getTimestamp());
|
||||||
point.put("value", p.getValue());
|
point.put("value", p.getValue());
|
||||||
dataPoints.add(point);
|
dataPoints.add(point);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
return Result.OK(dataPoints);
|
return Result.OK(dataPoints);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
|
|
@ -310,7 +327,8 @@ public class MonitorServiceImpl implements IMonitorService {
|
||||||
case "postgresql":
|
case "postgresql":
|
||||||
//postgres
|
//postgres
|
||||||
result.add(buildItemFromQuery("Database memory state(Total memory)", "B",
|
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)", "",
|
result.add(buildItemFromQuery("Database user status(Logins per second)", "",
|
||||||
"sum(pg_stat_database_numbackends{instance=~\"" + hostId
|
"sum(pg_stat_database_numbackends{instance=~\"" + hostId
|
||||||
|
|
@ -322,33 +340,40 @@ public class MonitorServiceImpl implements IMonitorService {
|
||||||
|
|
||||||
result.add(buildItemFromQuery("Active sessions", "",
|
result.add(buildItemFromQuery("Active sessions", "",
|
||||||
"sum by (datname, instance) (\n" +
|
"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));
|
")", startTime, endTime, step));
|
||||||
|
|
||||||
result.add(buildItemFromQuery("Idle sessions", "",
|
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",
|
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;
|
break;
|
||||||
case "Oracle":
|
case "Oracle":
|
||||||
//TODO 待修改,优化promql语句
|
//TODO 待修改,优化promql语句
|
||||||
//Oracle
|
//Oracle
|
||||||
result.add(buildItemFromQuery("Database memory state(Total memory)", "B",
|
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));
|
startTime, endTime, step));
|
||||||
result.add(buildItemFromQuery("Database user status(Logins per second)", "",
|
result.add(buildItemFromQuery("Database user status(Logins per second)", "",
|
||||||
"oracledb_sysmetric_logons_per_sec", startTime, endTime, step));
|
"oracledb_sysmetric_logons_per_sec", startTime, endTime, step));
|
||||||
result.add(buildItemFromQuery("Database connection number", "",
|
result.add(buildItemFromQuery("Database connection number", "",
|
||||||
"oracledb_sysmetric_session_count", startTime, endTime, step));
|
"oracledb_sysmetric_session_count", startTime, endTime, step));
|
||||||
result.add(buildItemFromQuery("Database connection response time", "",
|
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));
|
startTime, endTime, step));
|
||||||
result.add(buildItemFromQuery("Remaining space of the database log file", "B",
|
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));
|
startTime, endTime, step));
|
||||||
result.add(buildItemFromQuery("Database file size", "B",
|
result.add(buildItemFromQuery("Database file size", "B",
|
||||||
"sum(oracledb_tablespace_bytes{instance=\""+hostId+"\"})",
|
"sum(oracledb_tablespace_bytes{instance=\"" + hostId + "\"})",
|
||||||
startTime, endTime, step));
|
startTime, endTime, step));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -36,6 +36,7 @@ import org.jeecg.modules.base.entity.postgre.SysServer;
|
||||||
import org.jeecg.modules.base.bizVo.SourceVo;
|
import org.jeecg.modules.base.bizVo.SourceVo;
|
||||||
import org.jeecg.modules.base.enums.ServerStatus;
|
import org.jeecg.modules.base.enums.ServerStatus;
|
||||||
import org.jeecg.modules.entity.AlarmHistory;
|
import org.jeecg.modules.entity.AlarmHistory;
|
||||||
|
import org.jeecg.modules.entity.MetricConfig;
|
||||||
import org.jeecg.modules.feignclient.ManageUtil;
|
import org.jeecg.modules.feignclient.ManageUtil;
|
||||||
import org.jeecg.modules.feignclient.MonitorAlarm;
|
import org.jeecg.modules.feignclient.MonitorAlarm;
|
||||||
import org.jeecg.modules.mapper.SysServerMapper;
|
import org.jeecg.modules.mapper.SysServerMapper;
|
||||||
|
|
@ -510,7 +511,11 @@ public class SysServerServiceImpl extends ServiceImpl<SysServerMapper, SysServer
|
||||||
NumberUtil.round(memUsedVal, 1).doubleValue());
|
NumberUtil.round(memUsedVal, 1).doubleValue());
|
||||||
|
|
||||||
// 响应成功率 ()
|
// 响应成功率 ()
|
||||||
basicInfo.setResponseSuccessRate(100.0);
|
MetricConfig config = MetricConfig.METRIC_MAP.get("1601");
|
||||||
|
String responsePromql = String.format(config.getPromQl(), instance, instance);
|
||||||
|
|
||||||
|
Double responseVal = prometheusUtil.queryInstant(responsePromql);
|
||||||
|
basicInfo.setResponseSuccessRate(Double.parseDouble(String.format("%.2f", responseVal)));
|
||||||
|
|
||||||
// --- 磁盘使用情况 (多分区解析) ---
|
// --- 磁盘使用情况 (多分区解析) ---
|
||||||
basicInfo.setDiskUsed(getDiskUsage(instance));
|
basicInfo.setDiskUsed(getDiskUsage(instance));
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user