美文网首页开源框架-SpringBoot系列
Spring Boot + Prometheus 性能监控(Ku

Spring Boot + Prometheus 性能监控(Ku

作者: 香菜香菜我是折耳根 | 来源:发表于2020-02-24 11:01 被阅读0次

    :本文使用 Maven 作为项目管理工具,如果需要 Gradle 可以对应修改。

    创建一个最简单的 Spring Boot + 项目,也可以直接在 Spring Initializr 填写必要信息后下载 JAR 包。首先在 pom.xml 替换 <dependencies> 部分为如下:

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-webflux</artifactId>
        </dependency>
    
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>
    
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
            <exclusions>
                <exclusion>
                    <groupId>org.junit.vintage</groupId>
                    <artifactId>junit-vintage-engine</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
    </dependencies>
    

    其实就是把下面这段替换掉:

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter</artifactId>
    </dependency>
    

    :使用 spring-boot-starter 依赖会无法正常启动服务器。spring-boot-starter-webfluxspring-boot-starter-web 相比,前者使用 Netty ,后者使用 Tomcat ,会与 spring-boot-starter-actuator 冲突。

    执行 ./mvn install 编译本项目,启动 java -jar target/demo-0.0.1-SNAPSHOT.jar ,访问 curl http://localhost:8080 ,会报路径不存在:

    {
      "timestamp": "2020-02-24T02:11:52.315+0000",
      "status": 404,
      "error": "Not Found",
      "message": "No message available",
      "path": "/"
    }
    

    什么是 Spring Boot Actuator ?

    Spring Boot Actuator 可以用来监控 Spring Boot 应用,比如健康检查、审计、统计和 HTTP 追踪等,这些特性可以通过 JMX 或者 HTTP Endpoints 获得。

    访问 curl localhost:8080/actuator 即可获得已开放的数据。

    什么是 Micrometer ?

    简单来说,Micrometer 是将 Spring Boot Actuator 开放的数据转变成不同监控系统,如 Prometheus、Influx 等,能接受的数据格式,Spring Boot Actuator 直接获得的数据格式不能被这些监控系统直接使用。这里我们使用 Prometheus,添加 micrometer-registry-prometheus 依赖:

    <dependency>
        <groupId>io.micrometer</groupId>
        <artifactId>micrometer-registry-prometheus</artifactId>
    </dependency>
    

    重新编译本项目,启动后访问 curl localhost:8080/actuator/prometheus

    相关文章

      网友评论

        本文标题:Spring Boot + Prometheus 性能监控(Ku

        本文链接:https://www.haomeiwen.com/subject/svipqhtx.html