diff options
| author | tanghao <default@DESKTOP-7FEGRP2> | 2020-04-23 16:13:37 +0800 |
|---|---|---|
| committer | tanghao <default@DESKTOP-7FEGRP2> | 2020-04-23 16:13:37 +0800 |
| commit | 83f78aaef5716a69fc12d2bca9fc5866afcedf6e (patch) | |
| tree | 04da6dadd47a7a78eccadec46aa2977282a2c8e6 | |
| parent | 2b4e425cc20c176d89d584bfd5f632cb9ef75074 (diff) | |
feat: 告警相关功能新增修改
1.去除告警label中type、linkid
2.告警新增标签过滤instance信息
3.datacenter角色去除rule相关配置项 防止datecenter产生告警信息
| -rw-r--r-- | src/main/java/com/nis/job/ConfagentJob.java | 18 | ||||
| -rw-r--r-- | src/main/java/com/nis/util/YamlUtil.java | 11 |
2 files changed, 25 insertions, 4 deletions
diff --git a/src/main/java/com/nis/job/ConfagentJob.java b/src/main/java/com/nis/job/ConfagentJob.java index 7f1af79..63633df 100644 --- a/src/main/java/com/nis/job/ConfagentJob.java +++ b/src/main/java/com/nis/job/ConfagentJob.java @@ -121,7 +121,7 @@ public class ConfagentJob extends QuartzJobBean { if(result!=null) {
try {
//获取yml文件信息替换对应内容 热加载
- boolean handleResult = YamlUtil.subYmlHandle(result,ymlPath);
+ boolean handleResult = YamlUtil.subYmlHandle(result,ymlPath,ruleYmlPath);
logger.info("yamlHanlde sub result {}",JSON.toJSON(handleResult));
} catch (Exception e) {
logger.error("yamlHanlde sub error",e);
@@ -487,8 +487,8 @@ public class ConfagentJob extends QuartzJobBean { for(AlertRule alertRule : alertRules) {
Map labels = new HashMap();
labels.put("severity", alertRule.getSeverity());
- labels.put("type", alertRule.getType());
- labels.put("linkId", alertRule.getLinkId());
+// labels.put("type", alertRule.getType());
+// labels.put("linkId", alertRule.getLinkId());
Map annotations = new HashMap();
annotations.put("summary", alertRule.getSummary());
annotations.put("description", alertRule.getDescription());
@@ -527,6 +527,18 @@ public class ConfagentJob extends QuartzJobBean { staticConfigs.put("path_prefix","/");
}
alertManager.put("alertmanagers",staticConfigList);
+
+ // 配置alert_relabel_configs
+ List alertRelabel =new ArrayList();
+
+ // 过滤告警信息中instance标签
+ Map alertRelabelMap =new HashMap();
+ alertRelabelMap.put("regex", "instance");
+ alertRelabelMap.put("action", "labeldrop");
+ alertRelabel.add(alertRelabelMap);
+
+ alertManager.put("alert_relabel_configs", alertRelabel);
+
staticConfigs.put("static_configs", staticConfig);
staticConfig.add(targets);
targets.put("targets", alertData);
diff --git a/src/main/java/com/nis/util/YamlUtil.java b/src/main/java/com/nis/util/YamlUtil.java index 695c489..4e80929 100644 --- a/src/main/java/com/nis/util/YamlUtil.java +++ b/src/main/java/com/nis/util/YamlUtil.java @@ -11,6 +11,7 @@ import java.io.InputStreamReader; import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.RandomAccessFile;
+import java.io.StringReader;
import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
import java.util.HashMap;
@@ -89,7 +90,7 @@ public class YamlUtil { * @return
*/
@SuppressWarnings("unchecked")
- public static boolean subYmlHandle(List<Object> param,String ymlPath) {
+ public static boolean subYmlHandle(List<Object> param,String ymlPath,String ruleYmlPath) {
boolean flag=false;
if(param!=null && ymlPath != null && ymlPath.length() != 0) {
FileInputStream fileInputStream =null;
@@ -102,10 +103,18 @@ public class YamlUtil { if(map==null) {
map=new HashMap();
}
+ //修改 rule.yml配置文件
+ File ruleYmlfile = new File(ruleYmlPath);
+ if(ruleYmlfile.exists()){
+ // 文件存在则删除文件信息
+ ruleYmlfile.delete();
+ }
+ map.remove("rule_files");
map.put("scrape_configs", param);
out=new FileOutputStream(file);
osw=new OutputStreamWriter(out, "UTF-8");
y.dump(map,osw);
+
// RuntimeUtil.run(null, null, new String[]{"kill","-hup","`ps -ef |grep prometheus|grep -v grep|awk \'{print $2}\'`"});
RuntimeUtil.run(null, null, new String[]{"/bin/sh", "-c","ps -ef |grep prometheus|grep -v grep|awk \'{print $2}\'|xargs kill -hup"});
flag = true;
|
