一、添加maven依赖

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
    <groupId>io.micrometer</groupId>
    <artifactId>micrometer-registry-prometheus</artifactId>
</dependency>

二、编写业务监控指标

@Component
public class PrometheusCustomMonitor {

    /** 订单数 */
    private Counter orderCount;

    /** 金额统计 */
    private DistributionSummary amountSum;

    /** 指标注册器 */
    @Autowired
    private MeterRegistry registry;

    @PostConstruct
    private void init() {
        orderCount = registry.counter("order_request_count", "order", "test-svc");
        amountSum = registry.summary("order_amount_sum", "orderAmount", "test-svc");
    }

    public Counter getOrderCount() {
        return orderCount;
    }

    public DistributionSummary getAmountSum() {
        return amountSum;
    }
}

三、编写业务监控代码

@RestController
public class TestController {

    @Autowired
    private PrometheusCustomMonitor monitor;

    @RequestMapping("/order")
    public String order() throws Exception {
        // 统计下单次数
        monitor.getOrderCount().increment();
        // 统计金额
        monitor.getAmountSum().record(new Random().nextInt(100));

        return "下单成功" ;
    }
}

四、编写配置(application.yml)

management:
  server:
    port: 7070
  endpoints:
    web:
      exposure:
        include: '*'
      base-path: "/actuator"
    health:
      show-details: always
server:
  port: 7777

五、Prometheus添加配置

(1)打开prometheus.yml,并加入下面配置信息

 - job_name: '自定义exporter(springboot)'
    scrape_interval: 5s
    metrics_path: '/actuator/prometheus'
    file_sd_configs:
      - files: ['/root/prometheus/prometheus-2.31.1.linux-amd64/my_exporters/*.json']

(2)创建my_exporters/application.json并录入下面内容

[
   {
    "targets": ["127.0.0.1:7070"]
   }
]

然后重启Prometheus

六、在Grafana上添加新仪表盘

image
点击【Dashboards】-> 【Browse】->【New Bashboard】进入到编辑页面,并点击【Add a new panel】

image-1667630825125

image-1667630844860

(1)如果不清楚是什么指标的话,可以点击【Metrics browser】进行浏览选择,然后点击【Use query】按钮完成指标的选择。
(2)如果清楚指标的话,可以直接【Metrics browser】输入框录入指标项,然后在左上角选择图表,然后再点击【Apply】完成面板的创建。

打赏
支付宝 微信
上一篇 下一篇