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端口