java把mysql的数据同步到prometheus
1.mysql的数据

2.java代码

建立指标Collector类,指标类必须继承Collector
import cn.hutool.extra.spring.SpringUtil;
import com.xlkh.prometheus.pojo.device.DeviceMonitorMetric;
import com.xlkh.prometheus.service.device.DeviceMonitorMetricService;
import io.prometheus.client.Collector;
import io.prometheus.client.GaugeMetricFamily;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class CpuRatioCollector extends Collector {
private static DeviceMonitorMetricService deviceMonitorMetricService= SpringUtil.getBean(DeviceMonitorMetricService.class);
@Override
public List<MetricFamilySamples> collect() {
List<MetricFamilySamples> mfs = new ArrayList<MetricFamilySamples>();
// With labels
GaugeMetricFamily labeledGauge = new GaugeMetricFamily("cpuRatio", "instance cpuRatio", Arrays.asList("instance"));
//查询mysql指标数据
List<DeviceMonitorMetric> instanceData = deviceMonitorMetricService.getInstanceData();
instanceData.stream().forEach(val->{
if (val.getMetric().equals("cpuRatio")){
labeledGauge.addMetric(Arrays.asList(val.getInstance()), val.getValue());
}
});
mfs.add(labeledGauge);
return mfs;
}
}
本地启动,访问配置的1234端口

浙公网安备 33010602011771号