开源框架-SpringBoot系列

Spring Boot + Prometheus 性能监控(Ku

2020-02-24  本文已影响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

上一篇下一篇

猜你喜欢

热点阅读