Spring boot 学习整理(四) 深入Actuator

21 篇文章 0 订阅
10 篇文章 0 订阅

Actuator 是个什么呢?

Actuator 是Spring boot 在应用程序中提供的众多web端点,提供他们了解应用程序运行时的内部状况,有了 Actuator ,你就可以知道Bean在 Spring 应用程序上下文里是如何组装在一起的,掌握应用程序可以获取环境的属性信息,运行时度量信息的快照…

说白了,就是可以通过 url 查看当前项目的环境信息等等的一个控件

具体先来试一试就知道了

加入Maven依赖

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

加入依赖启动项目后就可以输入 url 来查看项目信息了

这里需要提前说一下

Spring boot 2.0的将所有的端点都屏蔽了

并且将所有的默认端点都移动到了 /actuator 这个下面

所以首先要打开所有的被屏蔽的端点

#Actuator
management:
  endpoints:
    web:
      exposure:
       include: "*"  # * 在yaml 文件属于关键字,所以需要加引号

这样即打开了所有被屏蔽的端点。接下来就可以试一下了

输入以下路径 注意 如果是低版本的话将 actuator 去掉 比如 1.4.3 , 1.5.4

http://localhost:8080/actuator/beans

在这里插入图片描述
可以看到返回的信息 是json格式的
在这里插入图片描述

这样看起来比较费劲,可以搜素一下 json

在这里插入图片描述
可以在线格式化一下再看。

Actuator 提供了13个端点

具体如下

HTTP方法路径描述
GET/autoconfig提供了一份自动配置报告,记录哪些自动配置条件通过了,哪些没通过
GET/configprops描述配置属性(包含默认值)如何注入Bean
GET/beans描述应用程序上下文里的全部Bean,以及它们的关系
GET/dump获取线程活动的快照
GET/env获取全部环境属性
GET/env/{name}根据名称获取特定的环境属性值
GET/health报告应用程序的健康指标,这些值由HealthIndicator的实现类提供
GET/info获取应用程序的定制信息,这些信息由info打头的属性提供
GET/mappings描述全部的URI路径,以及它们和控制器(包含Actuator端点)的映射关系
GET/metrics报告各种应用程序度量信息,比如内存用量和HTTP请求计数
GET/metrics/{name}报告指定名称的应用程序度量值
POST/shutdown关闭应用程序,要求endpoints.shutdown.enabled设置为true
GET/trace提供基本的HTTP请求跟踪信息(时间戳、HTTP头等)

2.0 以上部分更改:

1.x 端点2.0 端点(改变)
/actuator不再可用。 但是,在 management.endpoints.web.base-path 的根目录中有一个映射,它提供了到所有暴露端点的链接。
/auditevents该after参数不再需要。
/autoconfig重命名为 /conditions
/docs不再可用
/health现在有一个 management.endpoint.health.show-details 选项 never, always, when-authenticated,而不是依靠 sensitive 标志来确定 health 端点是否必须显示全部细节。 默认情况下,/actuator/health公开并且不显示细节。
/trace重命名为 /httptrace

更多的详情可以输入 /actuator/mappings 来查看所有的端点详情,包括自己添加的 url

Beans 的装配报告

"beans": {
				"endpointCachingOperationInvokerAdvisor": {
					"aliases": [],
					"scope": "singleton",
					"type": "org.springframework.boot.actuate.endpoint.invoker.cache.CachingOperationInvokerAdvisor",
					"resource": "class path resource [org/springframework/boot/actuate/autoconfigure/endpoint/EndpointAutoConfiguration.class]",
					"dependencies": ["environment"]
				},
				........................
}

解释:

aliases:        别名

scope:          Bean的作用域(通常是单例,这也是默认的作用域,是否单例)

resource:       .class文件的物理位置,通常是一个URL,指向构建出的JAR文件,这会随着应用程序的构建和运行方式发生变化

dependencies:   当前Bean 注入的BeanID列表

type:           Bean的java类型
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值