mirror of
https://github.com/didi/KnowStreaming.git
synced 2025-12-24 11:52:08 +08:00
增加ZK指标上报普罗米修斯
This commit is contained in:
@@ -37,29 +37,32 @@ public abstract class AbstractMonitorSinkService implements ApplicationListener<
|
|||||||
@Override
|
@Override
|
||||||
public void onApplicationEvent(BaseMetricEvent event) {
|
public void onApplicationEvent(BaseMetricEvent event) {
|
||||||
executor.execute( () -> {
|
executor.execute( () -> {
|
||||||
if(event instanceof BrokerMetricEvent){
|
if (event instanceof BrokerMetricEvent) {
|
||||||
BrokerMetricEvent brokerMetricEvent = (BrokerMetricEvent)event;
|
BrokerMetricEvent brokerMetricEvent = (BrokerMetricEvent)event;
|
||||||
sinkMetrics(brokerMetric2SinkPoint(brokerMetricEvent.getBrokerMetrics()));
|
sinkMetrics(brokerMetric2SinkPoint(brokerMetricEvent.getBrokerMetrics()));
|
||||||
|
|
||||||
}else if(event instanceof ClusterMetricEvent){
|
} else if(event instanceof ClusterMetricEvent) {
|
||||||
ClusterMetricEvent clusterMetricEvent = (ClusterMetricEvent)event;
|
ClusterMetricEvent clusterMetricEvent = (ClusterMetricEvent)event;
|
||||||
sinkMetrics(clusterMetric2SinkPoint(clusterMetricEvent.getClusterMetrics()));
|
sinkMetrics(clusterMetric2SinkPoint(clusterMetricEvent.getClusterMetrics()));
|
||||||
|
|
||||||
}else if(event instanceof TopicMetricEvent){
|
} else if(event instanceof TopicMetricEvent) {
|
||||||
TopicMetricEvent topicMetricEvent = (TopicMetricEvent)event;
|
TopicMetricEvent topicMetricEvent = (TopicMetricEvent)event;
|
||||||
sinkMetrics(topicMetric2SinkPoint(topicMetricEvent.getTopicMetrics()));
|
sinkMetrics(topicMetric2SinkPoint(topicMetricEvent.getTopicMetrics()));
|
||||||
|
|
||||||
}else if(event instanceof PartitionMetricEvent){
|
} else if(event instanceof PartitionMetricEvent) {
|
||||||
PartitionMetricEvent partitionMetricEvent = (PartitionMetricEvent)event;
|
PartitionMetricEvent partitionMetricEvent = (PartitionMetricEvent)event;
|
||||||
sinkMetrics(partitionMetric2SinkPoint(partitionMetricEvent.getPartitionMetrics()));
|
sinkMetrics(partitionMetric2SinkPoint(partitionMetricEvent.getPartitionMetrics()));
|
||||||
|
|
||||||
}else if(event instanceof GroupMetricEvent){
|
} else if(event instanceof GroupMetricEvent) {
|
||||||
GroupMetricEvent groupMetricEvent = (GroupMetricEvent)event;
|
GroupMetricEvent groupMetricEvent = (GroupMetricEvent)event;
|
||||||
sinkMetrics(groupMetric2SinkPoint(groupMetricEvent.getGroupMetrics()));
|
sinkMetrics(groupMetric2SinkPoint(groupMetricEvent.getGroupMetrics()));
|
||||||
|
|
||||||
}else if(event instanceof ReplicaMetricEvent){
|
} else if(event instanceof ReplicaMetricEvent) {
|
||||||
ReplicaMetricEvent replicaMetricEvent = (ReplicaMetricEvent)event;
|
ReplicaMetricEvent replicaMetricEvent = (ReplicaMetricEvent)event;
|
||||||
sinkMetrics(replicationMetric2SinkPoint(replicaMetricEvent.getReplicationMetrics()));
|
sinkMetrics(replicationMetric2SinkPoint(replicaMetricEvent.getReplicationMetrics()));
|
||||||
|
} else if(event instanceof ZookeeperMetricEvent) {
|
||||||
|
ZookeeperMetricEvent zookeeperMetricEvent = (ZookeeperMetricEvent)event;
|
||||||
|
sinkMetrics(zookeeperMetric2SinkPoint(zookeeperMetricEvent.getZookeeperMetrics()));
|
||||||
}
|
}
|
||||||
} );
|
} );
|
||||||
}
|
}
|
||||||
@@ -72,6 +75,7 @@ public abstract class AbstractMonitorSinkService implements ApplicationListener<
|
|||||||
public abstract Boolean sinkMetrics(List<MetricSinkPoint> pointList);
|
public abstract Boolean sinkMetrics(List<MetricSinkPoint> pointList);
|
||||||
|
|
||||||
/**************************************************** private method ****************************************************/
|
/**************************************************** private method ****************************************************/
|
||||||
|
|
||||||
private List<MetricSinkPoint> brokerMetric2SinkPoint(List<BrokerMetrics> brokerMetrics){
|
private List<MetricSinkPoint> brokerMetric2SinkPoint(List<BrokerMetrics> brokerMetrics){
|
||||||
List<MetricSinkPoint> pointList = new ArrayList<>();
|
List<MetricSinkPoint> pointList = new ArrayList<>();
|
||||||
|
|
||||||
@@ -161,8 +165,23 @@ public abstract class AbstractMonitorSinkService implements ApplicationListener<
|
|||||||
return pointList;
|
return pointList;
|
||||||
}
|
}
|
||||||
|
|
||||||
private List<MetricSinkPoint> genSinkPoint(String metricPre, Map<String, Float> metrics,
|
private List<MetricSinkPoint> zookeeperMetric2SinkPoint(List<ZookeeperMetrics> zookeeperMetricsList){
|
||||||
long timeStamp, Map<String, Object> tagsMap){
|
List<MetricSinkPoint> pointList = new ArrayList<>();
|
||||||
|
|
||||||
|
for(ZookeeperMetrics z : zookeeperMetricsList){
|
||||||
|
Map<String, Object> tagsMap = new HashMap<>();
|
||||||
|
tagsMap.put(CLUSTER_ID.getName(), z.getClusterPhyId());
|
||||||
|
|
||||||
|
pointList.addAll(genSinkPoint("Zookeeper", z.getMetrics(), z.getTimestamp(), tagsMap));
|
||||||
|
}
|
||||||
|
|
||||||
|
return pointList;
|
||||||
|
}
|
||||||
|
|
||||||
|
private List<MetricSinkPoint> genSinkPoint(String metricPre,
|
||||||
|
Map<String, Float> metrics,
|
||||||
|
long timeStamp,
|
||||||
|
Map<String, Object> tagsMap) {
|
||||||
List<MetricSinkPoint> pointList = new ArrayList<>();
|
List<MetricSinkPoint> pointList = new ArrayList<>();
|
||||||
|
|
||||||
for(String metricName : metrics.keySet()){
|
for(String metricName : metrics.keySet()){
|
||||||
|
|||||||
Reference in New Issue
Block a user