Spring Boot Actuator监控应用

发表时间:2018-02-23 10:19:58 浏览量( 22 ) 留言数( 0 )

学习目标:

1、了解Spring Boot的Actuator

2、了解Actuator各种特性查看


学习过程:

   Actuator提供了很多生产级的特性,比如监控和度量Spring Boot应用程序。Actuator的这些特性可以通过众多REST接口方式、远程shell和JMX获得。我们先来看看Actuator的REST接口方式。

一、REST接口方式

1、导入相关的包

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-actuator</artifactId>

</dependency>

2、配置文件属性介绍地址和端口的配置

management.port:指定访问这些监控方法的端口,与逻辑接口端口分离。如果不想将这些暴露在http中,可以设置 management.port = -1

management.address:指定地址,比如只能通过本机监控,可以设置 management.address = 127.0.0.1

这两个属性也可以不配置。


3、endpoints说明

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信息(默认为最新的一些HTTP请求) true

你可以通过过浏览器查看这些内容:例如

http://localhost:8090/metrics

大家可以自己上去访问一下。

这里仅列出metrics的说明:

attcontent/382a37ea-e3c9-4f7c-96f6-567a8fca32a6.png


/shutdown这个需要post方式,通过请求来关闭应用。 

这个操作比较敏感,要想真正生效,需要以下配置:

endpoints.shutdown.enabled: true

我们可以通过实现HealthIndicator接口,编写自己的/health方法逻辑。也可以增加自定义监控方法。

二、远程shell的方式

1、添加依赖

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-remote-shell</artifactId>

</dependency>

2、启动是注意密码:


3、使用ssh登陆。

 ssh user@localhost -p 2000

然后输入密码即可:

attcontent/b13c9f3c-315a-4a0f-8777-9b81b3888cef.png

4、命令

autoconfig 生成自动配置说明报告,和/autoconfig端点输出的内容类似,只是把JSON换成了纯文本

beans 列出Spring应用程序上下文里的Bean,与/beans端点输出的内容类似

metrics 显示Spring Boot的度量信息,与/metrics端点类似,但显示的是实时更新的数据

endpoint 调用Actuator端点

这些命令都是可以直接使用的。

  这里可以说一下首先,你要知道自己想调用哪个端点。在shell提示符中键入endpoint list就能获得端点的列表,

  如果想在shell里调用其中某个端点,你可以使用endpoint invoke命令,传入不带Endpoint后缀的Bean名称。举例来说,要调用健康检查端点,可以在shell提示符里键入endpoint invoke health。