diff options
| author | shizhendong <[email protected]> | 2020-11-10 15:25:19 +0800 |
|---|---|---|
| committer | shizhendong <[email protected]> | 2020-11-10 15:25:19 +0800 |
| commit | d9818457843b1b41ec81b770cd7e2fd67c24d6e6 (patch) | |
| tree | d5d9529984f1916f613f32517d38245c36443d4f | |
| parent | 755c5fae79f41fa0ab491a5cebeb4c00eb462e76 (diff) | |
NEZ-437 feat: per-datacenter 类型prometheus endpoint 增加 labels
| -rw-r--r-- | src/main/java/com/nis/entity/Endpoint.java | 7 | ||||
| -rw-r--r-- | src/main/java/com/nis/job/ConfagentJob.java | 13 | ||||
| -rw-r--r-- | src/main/resources/mapper/EndpointDao.xml | 1 |
3 files changed, 21 insertions, 0 deletions
diff --git a/src/main/java/com/nis/entity/Endpoint.java b/src/main/java/com/nis/entity/Endpoint.java index bc6b4e4..74bdb99 100644 --- a/src/main/java/com/nis/entity/Endpoint.java +++ b/src/main/java/com/nis/entity/Endpoint.java @@ -10,6 +10,7 @@ public class Endpoint implements Serializable{ private String host;
private Integer port;
private String param;
+ private String labels;
private String path;
private Module module;
private Asset asset;
@@ -95,5 +96,11 @@ public class Endpoint implements Serializable{ public void setPromserver(Promserver promserver) {
this.promserver = promserver;
}
+ public String getLabels() {
+ return labels;
+ }
+ public void setLabels(String labels) {
+ this.labels = labels;
+ }
}
diff --git a/src/main/java/com/nis/job/ConfagentJob.java b/src/main/java/com/nis/job/ConfagentJob.java index 3bfeb53..5011794 100644 --- a/src/main/java/com/nis/job/ConfagentJob.java +++ b/src/main/java/com/nis/job/ConfagentJob.java @@ -1,6 +1,7 @@ package com.nis.job; import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; import com.nis.entity.*; import com.nis.service.*; import com.nis.util.CommonUtils; @@ -290,6 +291,8 @@ public class ConfagentJob extends QuartzJobBean { Set<String> snmpYmls= new HashSet<String>(); //两者模运算均匀分配 if(index!=null && !endpointInfos.isEmpty()) { + String endpointLabelStr; + Map endpointLabelMap; for(int m=0;m<endpointInfos.size();m++) { if(m%subInfos.size()==index) { //根据module类型来判断snmp处理 @@ -314,6 +317,16 @@ public class ConfagentJob extends QuartzJobBean { job3.put("project", endpointInfos.get(m).getProject().getName()); job3.put("asset",endpointInfos.get(m).getAsset().getHost()); job3.put("module",endpointInfos.get(m).getModule().getName()); + + // endpoint labels + endpointLabelStr = endpointInfos.get(m).getLabels(); + if (StringUtils.isNotEmpty(endpointLabelStr)) { + endpointLabelMap = JSONObject.parseObject(endpointLabelStr, Map.class); + if (endpointLabelMap != null) { + job3.putAll(endpointLabelMap); + } + } + job2.put("labels", job3); list2.add(job2); job.put("static_configs", list2); diff --git a/src/main/resources/mapper/EndpointDao.xml b/src/main/resources/mapper/EndpointDao.xml index 53cc2dd..d6616c9 100644 --- a/src/main/resources/mapper/EndpointDao.xml +++ b/src/main/resources/mapper/EndpointDao.xml @@ -8,6 +8,7 @@ <result property="host" column="host"/> <result property="port" column="port"/> <result property="param" column="param"/> + <result property="labels" column="labels"/> <result property="path" column="path"/> <association columnPrefix="m_" property="module" javaType="com.nis.entity.Module"> |
