Springboot之Actuator的使用解析

Springboot之Actuator的使用解析

Actuator是spring boot提供的对应用系统的自省和监控的集成功能,可以对应用系统进行配置查看、相关功能统计等。

1.准备环境:

一个springBoot工程

2.添加依赖:

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

3.可以在你的application.yml配置文件配置:

注意:在properties文件中配置actuator权限配置(否则访问一些暴露的监控信息会报401,很多博客里没有这一项,让很多人误解了)

management.security.enabled=false 
#信息
info:
  contact:
    email: test
    phone: test
##运行状态 actuator监控
endpoints:
  enabled: true
  info:
    sensitive: false
  health:
    sensitive: false
management:
  ##服务路径
  context-path: /
  security:
    enabled: false
  ##服务端口
  port: 8081

如果你使用application.properties,可以做类似的配置:

endpoints.enabled=true
endpoints.info.sensitive=false
endpoints.health.sensitive=false
management.context-path=/
management.port=8081

4.接口

接口 描述 敏感
actuator 列出所有可用接口 true
autoconfig 显示一个auto-configuration的报告,该报告展示所有auto-configuration候选者及它们被应用或未被应用的原因 true
beans 显示一个应用中所有Spring Beans的完整列表 true
configprops 显示一个所有@ConfigurationProperties的整理列表 true
dump 显示当前应用线程状态信息 true
env 显示Spring的ConfigurableEnvironment属性 true
health 展示应用的健康信息(当使用一个未认证连接访问时显示一个简单的’status’,使用认证连接访问则显示全部信息详情) false
info 显示应用信息 false
metrics 展示当前应用的’指标’信息 true
mappings 显示一个所有@RequestMapping路径的整理列表 true
shutdown 允许应用以优雅的方式关闭(默认情况下不启用) true
trace 显示trace信息(默认情况下是最后100个HTTP请求) true
loggers 提供显示和修改应用程序中loggers配置的功能 true

5.访问结果示例

/health

{
  status: "UP",
  diskSpace: {
    status: "UP",
    total: 472446402560,
    free: 465802993664,
    threshold: 10485760
  },
  redis: {
    status: "UP",
    version: "3.2.100"
  },
  db: {
    status: "UP",
    database: "MySQL",
    hello: 1
  }
}

/info

{
contact: {
    email: "test",
    phone: "test"
}
}

/metrics

{
  mem: 614490,
  mem.free: 238291,
  processors: 4,
  instance.uptime: 51601,
  uptime: 56528,
  systemload.average: -1,
  heap.committed: 556032,
  heap.init: 131072,
  heap.used: 317740,
  heap: 1857024,
  nonheap.committed: 59968,
  nonheap.init: 2496,
  nonheap.used: 58459,
  nonheap: 0,
  threads.peak: 42,
  threads.daemon: 36,
  threads.totalStarted: 59,
  threads: 38,
  classes: 7991,
  classes.loaded: 7991,
  classes.unloaded: 0,
  gc.ps_scavenge.count: 8,
  gc.ps_scavenge.time: 219,
  gc.ps_marksweep.count: 2,
  gc.ps_marksweep.time: 86,
  httpsessions.max: -1,
  httpsessions.active: 0,
  datasource.primary.active: 0,
  datasource.primary.usage: 0,
  gauge.response.info: 47,
  gauge.response.star-star.favicon.ico: 19,
  counter.status.200.info: 1,
  counter.status.200.star-star.favicon.ico: 1
}
上一篇:《Node.js 实战》预售: 实例讲解 Node.js 在实战开发中的应用


下一篇:CITRIX XenAPP/TS打印管理ThinPrint.