400 028 6601

建站动态

根据您的个性需求进行定制 先人一步 抢占小程序红利时代

SpringBootActuator整合Prometheus

简介

Spring Boot 自带监控功能 Actuator,可以帮助实现对程序内部运行情况监控,比如监控状况、Bean加载情况、环境变量、日志信息、线程信息等。这一节结合 Prometheus 、Grafana 来更加直观的展示这些信息。

创新互联专业为企业提供蒙自网站建设、蒙自做网站、蒙自网站设计、蒙自网站制作等企业网站建设、网页设计与制作、蒙自企业网站模板建站服务,十载蒙自做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。

实验

说明

服务名地址端口
Prometheus 172.16.2.101 9090
Grafana 172.16.2.101 3000
Spring Boot Demo 172.16.2.204 8080

创建项目

创建用于测试的 Spring Boot 项目,主要代码如下。

pom.xml

    org.springframework.boot
    spring-boot-starter-actuator


    org.springframework.boot
    spring-boot-starter-web


    io.micrometer
    micrometer-registry-prometheus



    org.springframework.boot
    spring-boot-starter-test
    test
application.yml
management:
  endpoints:
    web:
      exposure:
        include: '*'

  endpoint:
    health:
      show-details: always

  metrics:
    tags:
      application: actuator-demo
启动类
@SpringBootApplication
@RestController
public class SpringbootActuatorPrometheusDemoApplication {

    public static void main(String[] args) {
        SpringApplication.run(SpringbootActuatorPrometheusDemoApplication.class, args);
    }

    @RequestMapping(value = "/hello")
    public String  sayHello() {
        for (int i = 1 ; i <= 10 ; i++) {
            Thread t = new Thread(() -> {
                try {
                    Thread.sleep(5000);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            } , "HelloThread - " + i);
            t.start();
        }
        return "ok";
    }

    /**
    @Bean
    MeterRegistryCustomizer metricsCommonTags() {
        return registry -> registry.config().commonTags("application", "springboot-actuator-prometheus-demo");
    }
    */

}

配置 Prometheus 和 Grafana

在 prometheus.yml 中添加针对该 Spring Boot 应用 的监控 job

- job_name: 'actuator-demo'
    metrics_path: '/prometheus'
    static_configs:
    - targets: ['172.16.2.204:8080']

运行 Prometheus 和 Grafana:

docker start prometheus grafana

访问 Prometheus UI http://172.16.2.101:9090 ,查看 targets ,可以看到 job 处于 UP 状态,说明配置成功了。

Spring Boot Actuator 整合 Prometheus

Grafana UI http://172.16.2.101:3000,通过Grafana的 +图标导入(Import) JVM (Micrometer) dashboard:

查看JVM (Micormeter) dashboard:

Spring Boot Actuator 整合 Prometheus

可以看到应用的 JVM 的 堆栈、 线程、 IO 等等信息。

源码

https://github.com/gf-huanchupk/SpringBootLearning/tree/master/springboot-actuator-prometheus

参考

https://micrometer.io/docs/registry/prometheus
https://prometheus.io/docs/prometheus


网站名称:SpringBootActuator整合Prometheus
文章起源:http://mbwzsj.com/article/ijsssg.html

其他资讯

让你的专属顾问为你服务