SpringBoot整合Prometheus实现业务指标上报

SpringBoot整合Prometheus实现业务指标上报,第1张

SpringBoot整合Prometheus实现业务指标上报

本文基于SpringBoot2.5.7 整合Prometheus,完成一个简单的业务指标上报。应用上报监控数据到pushgateway,然后prometheus定时拉取应用上报的数据。关于Prometheus和pushgateway 不是本文重点,可以参考官网介绍。

实现请求次数上报 添加依赖
implementation 'io.micrometer:micrometer-registry-prometheus'
implementation 'org.springframework.boot:spring-boot-starter-actuator'
implementation 'io.prometheus:simpleclient_pushgateway'
代码如下:

每请求/index 计数+1


@RestController
public class HelloIndexController {
    @Autowired
    MycustomerMetricsBean mycustomerMetricsBean;

    @RequestMapping("/index")
    public String index() {
        mycustomerMetricsBean.getCounter().increment();
        return "ok";
    }
}

定义hello-Index.size metric 信息

@Component
@Getter
@Setter
public class MycustomerMetricsBean {
    private Counter counter;

    public MycustomerMetricsBean(MeterRegistry registry) {
        PrometheusMeterRegistry prometheusMeterRegistry = (PrometheusMeterRegistry) registry;
        this.counter = registry.counter("hello-Index.size", Tags.empty());
    }

}

启动类

@SpringBootApplication
public class PrometheusApplicationDemo {
    public static void main(String[] args) {
        SpringApplication.run(PrometheusApplicationDemo.class,args);
    }
}
management:
  metrics:
    tags:
      application: ${spring.application.name}
   ## 定义export 到prometheus
    export:
      prometheus:
        enabled: true
        pushgateway: ## 配置pushgateway 信息
          enabled: true
          base-url: http://192.168.100.101:9091/
          job: ${spring.application.name}
          grouping-key:
            instance: 192.168.100.168
spring:
  application:
    name: spring-boot-prometheus
关于整合Prometheus关键类如下:

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/787057.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-05
下一篇2022-05-05

发表评论

登录后才能评论

评论列表(0条)

    保存