SpringBoot 整合Actuator健康监测

简介:Actuator是SpringBoot提供用来对应用系统进行监控的功能模块,开发者很方便地对系统监控指标进行查看和统计等,若想用界面化工具,可以整合SpringBoot Admin。

1. Actuator监控项

  A. /autoconfig:查看自动配置使用的情况;

  B. /configprops:配置属性的内容和默认值;

  C. /beans:显示Bean的别名、类型、是否单例、类的地址、依赖等信息;

  D. /dump:打印线程名、线程ID、线程的状态、是否等待锁资源等信息;

  E. /env:显示环境变量、JVM属性、命令行参数、项目使用的jar包等信息;

  F. /heath:显示磁盘检测和数据库检测等信息,默认暴露;

  G. /info:查看自定义的配置信息,默认暴露;

  H. /mappings:显示全部的URI路径、以及和他们控制器的映射关系;

  I. /metrics:可以得到JVM使用、GC情况、类加载信息;

  J. /shutdown:可以进行关闭程序,POST请求方式;

  K. /trace:可以得到Web请求的详细信息。

2. pom.xml Maven依赖

<!-- Actuator监控 -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

 3. application.yml配置文件

management:
  endpoints:
    web:
      # 配置endpoint的基础路径(默认前缀是/actuator)
      base-path: /management
      exposure:
        include: "*"
        # exclude的优先级高于include
        exclude: shutdown
  endpoint:
    health:
      show-details: ALWAYS
    # 日志文件
    logfile:
      enabled: true

logging:
  file:
    name: manage.log
    path: /data/manage

4. 自定义端点Endpoint

 

5.  Endpoint安全性

  A. pom.xml Maven依赖

<!-- Spring Security身份验证 -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-security</artifactId>
</dependency>

  B. application.yml配置文件

spring
  security:
    user:
      name: ruphie
      password: 123456

  C. 安全问题

    关闭指定的endpoint,在application.yml中配置*.enable=false;

    通过设置management.port=-1关闭endpoint的HTTP访问接口,或者是设置其他的端口,供内部的admin服务访问;

    设置本地访问,management.address=127.0.0.1,通过设置management.context-path=/admin,可以设置指定的根路径,然后通过Nginx鉴权代理访问。

 

可参考:SpringBoot Actuator官方文档

posted @ 2020-12-23 21:56  如幻行云  阅读(262)  评论(0编辑  收藏  举报