summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorshizhendong <[email protected]>2020-11-10 15:25:19 +0800
committershizhendong <[email protected]>2020-11-10 15:25:19 +0800
commitd9818457843b1b41ec81b770cd7e2fd67c24d6e6 (patch)
treed5d9529984f1916f613f32517d38245c36443d4f
parent755c5fae79f41fa0ab491a5cebeb4c00eb462e76 (diff)
NEZ-437 feat: per-datacenter 类型prometheus endpoint 增加 labels
-rw-r--r--src/main/java/com/nis/entity/Endpoint.java7
-rw-r--r--src/main/java/com/nis/job/ConfagentJob.java13
-rw-r--r--src/main/resources/mapper/EndpointDao.xml1
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">