使用 Spring Boot 2.0、Prometheus 和 Grafana 进行监控(第 2 部分 - 暴露指标)

主要观点:在第二部分将启用指标端点,之前创建了用于实体 CRUD 操作的 REST API,此部分在同一应用中添加设置和配置以暴露指标端点。Spring Boot 2.0 中默认的指标导出引擎是 Micrometer,添加 Spring Boot Actuator 和 micrometer 作为依赖可自动配置复合 MeterRegistry 并添加支持的实现的注册表。
关键信息

  • 依赖添加:在 pom.xml 中添加 micrometer-core 和 micrometer-prometheus-registry 依赖,在 application.properties 中添加相关配置使 Actuator 和 Prometheus 端点暴露。
  • 端点访问:启动应用后浏览[http://localhost:9000/actuator]可看到 Actuator 端点,Spring Boot 2 和 Actuator 为我们启用了[http://localhost:9000/actuator/prometheus]端点,浏览该 URL 可看到从 person-application 导出的指标,数据为实际收集并以 JSON 导出的指标。
    重要细节
  • pom.xml 依赖片段:

    <!-- Spring boot actuator to expose metrics endpoint -->
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-actuator</artifactId>
    </dependency>
    <!-- Micormeter core dependecy  -->
    <dependency>
      <groupId>io.micrometer</groupId>
      <artifactId>micrometer-core</artifactId>
    </dependency>
    <!-- Micrometer Prometheus registry  -->
    <dependency>
      <groupId>io.micrometer</groupId>
      <artifactId>micrometer-registry-prometheus</artifactId>
    </dependency>
  • application.properties 配置:

    #Metrics related configurations
    management.endpoint.metrics.enabled=true
    management.endpoints.web.exposure.include=*
    management.endpoint.prometheus.enabled=true
    management.metrics.export.prometheus.enabled=true

    可获取源代码的 GitHub 仓库:https://github.com/hellosatish/monitoring

阅读 5
0 条评论