diff options
| author | tanghao <admin@LAPTOP-QCSKVLI9> | 2020-11-17 15:28:47 +0600 |
|---|---|---|
| committer | tanghao <admin@LAPTOP-QCSKVLI9> | 2020-11-17 15:28:47 +0600 |
| commit | 1281d53e49a3026ac6feb233d581003b60f0ff88 (patch) | |
| tree | ce703ff26788b950bb74860658157eb34fcc18d9 | |
| parent | d9818457843b1b41ec81b770cd7e2fd67c24d6e6 (diff) | |
feat: global新增推送endpoint state状态告警规则
| -rw-r--r-- | src/main/java/com/nis/job/ConfagentJob.java | 19 | ||||
| -rw-r--r-- | src/main/java/com/nis/util/Constant.java | 10 | ||||
| -rw-r--r-- | src/main/resources/mapper/EndpointDao.xml | 1 |
3 files changed, 30 insertions, 0 deletions
diff --git a/src/main/java/com/nis/job/ConfagentJob.java b/src/main/java/com/nis/job/ConfagentJob.java index 5011794..6075122 100644 --- a/src/main/java/com/nis/job/ConfagentJob.java +++ b/src/main/java/com/nis/job/ConfagentJob.java @@ -2,6 +2,7 @@ package com.nis.job; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; import com.nis.entity.*; import com.nis.service.*; import com.nis.util.CommonUtils; @@ -662,6 +663,24 @@ public class ConfagentJob extends QuartzJobBean { group.put("name", "alertRule"); group.put("rules", rules); + //获取配置文件判断是否需要添加endpoint state告警 + String endpointAlertPush = sysConfigService.queryValueByParamkey(Constant.ENDPOINT_ALERT_PUSH); + if(ObjectUtils.isNotEmpty(endpointAlertPush)&&endpointAlertPush.equals("1")) { + String endpointAlert = sysConfigService.queryValueByParamkey(Constant.ENDPOINT_ALERT_RULE); + Map endpointAlertMap = (Map) JSON.parse(endpointAlert); + String alertName = (String) endpointAlertMap.get("alertName"); + String forTime = (String) endpointAlertMap.get("for"); + String expr = (String) endpointAlertMap.get("expr"); + Map rule =new HashMap(); + Map annotations = new HashMap(); + annotations.put("summary", "{{$value}}"); + rule.put("alert", alertName); + rule.put("expr", expr); + rule.put("for", forTime); + rule.put("annotations", annotations); + rules.add(rule); + } + for(AlertRule alertRule : alertRules) { Map labels = new HashMap(); labels.put("severity", alertRule.getSeverity()); diff --git a/src/main/java/com/nis/util/Constant.java b/src/main/java/com/nis/util/Constant.java index 505782d..f86f93c 100644 --- a/src/main/java/com/nis/util/Constant.java +++ b/src/main/java/com/nis/util/Constant.java @@ -68,6 +68,16 @@ public class Constant { public static final String STORAGE_LOCAL_RETENTION="storage_local_retention"; /** + * endpoint state 告警规则 + */ + public static final String ENDPOINT_ALERT_RULE="endpoint_alert_rule"; + + /** + * endpoint state 告警是否开启 0不开启 1开启 + */ + public static final String ENDPOINT_ALERT_PUSH="endpoint_alert_push"; + + /** * 当前数据库类型 */ public static final String DB_TYPE; diff --git a/src/main/resources/mapper/EndpointDao.xml b/src/main/resources/mapper/EndpointDao.xml index d6616c9..414475a 100644 --- a/src/main/resources/mapper/EndpointDao.xml +++ b/src/main/resources/mapper/EndpointDao.xml @@ -102,6 +102,7 @@ left join idc i on a.idc_id=i.id left join project p on m.project_id =p.id where a.idc_id=#{idcId} + order by e.id asc </select> <select id="selectEndpointMetrics" resultType="com.nis.entity.MetricsDto"> |
