4.spring boot actuator - Go语言中文社区

4.spring boot actuator


1.概述
1.1作用
Spring Boot的Actuator。它提供了很多生产级的特性,监控和度量Spring Boot应用程序。
1.2展现方式
Actuator的这些特性可以通过众多REST端点、远程shell和JMX获得。
1.3提供的端点
端点可以分为三大类:配置端点、度量端点和其他端点。

1.4使用
A.引入
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
B.权限
引入security后,默认需要ACTUATOR角色。
2.配置端点
2.1获得Bean装配报告
beans:返回一个JSON文档,描述上下文里每个Bean的情况,包括其Java类型以及注入的其Bean。
( http://localhost:8080/beans )Bean条目都有五类信息:
◆bean: Spring应用程序上下文中的Bean名称或ID。
◆resource: .class文件的物理位置,通常是一个URL,指向构建出的JAR文件。
◆dependencies:当前Bean注入的Bean ID列表。
◆scope: Bean的作用域(通常是单例,这也是默认作用域)。
◆type: Bean的Java类型。
2.2. 自动配置信息
autoconfig:告诉你为什么会有这个Bean,或者为什么没有这个Bean。提供了报告,列出了计算过的所有条件,根据条件是否通过进行分组。
2.3. 查看配置属性
env:生成应用程序可用的所有环境属性的列表。这其中包括环境变量、 JVM属性、命令行参数,以及applicaition.properties或application.yml文件提供的属性。env端点还能用来获取单个属性的值,只需要在请求时在/env后加上属性名即可。
configprops:会生成一个报告,说明如何进行设置(注入或其他方式)。
2.4. 生成端点到控制器的映射
mappings:罗列出应用程序发布的全部端点。
映射的键都是一个字符串,其内容就是Spring MVC的@RequestMapping注解上设置的属性。每个映射的值都有两个属性: bean和method。 bean属性标识了SpringBean的名字,映射源自这个Bean。 method属性是映射对应方法的全限定方法签名。
3.度量端点
3.1. 查看应用程序的度量值
metrics:了解应用程序的内存情况(可用或空闲)。
/metrics端点还能用来获取单个属性的值,只需要在请求时在URL后加上对应的键名。

HTTP的计数器和度量值: counter.status后的值是HTTP状态码,随后是所请求的路径。
示例:counter.status.200.metrics表明metrics端点返回200(OK)状态码的次数。
3.2. 追踪Web请求
trace:报告所有Web请求的详细信息,包括请求方法、路径、时间戳以及请求和响应的头信息。
/trace能显示最近100个请求的信息,包含对/trace自己的请求。它在内存里维护了一个跟踪库。
3.3. 导出线程活动
dump:生成当前线程活动的快照。
3.4. 监控应用程序健康情况
health:应用程序是否在运行。
/health对未经授权的请求只能提供简单的健康状态。对已经授权的请求则提供系统健康状态。

4.其它端点
4.1.关闭应用程序
shutdown:发送POST请求关闭应用程序,默认关闭。
endpoints.shutdown.enabled设置为true,开启该端点。
4.2.获取应用信息
info:展示各种你希望发布的应用信息。
通过配置带有info前缀的属性向/info端点的响应添加内容。
示例:
在application.properties里设置名: info.email = 275598139@qq.com,访问/info端点,就能得到如下响应:{"email":"275598139@qq.com"}
5.远程shell
以上方式是通过REST端点访问获取Actuator,另一个深入运行中应用程序内部的方式是使用远程shell。 Spring Boot集成了CRaSH,一种能嵌入任意Java应用程序的shell。
5.1.启用远程shell
在pom.xml文件里添加起步依赖即可:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-remote-shell</artifactId>
</dependency>
5.2.连接远程shell
可以通过SSH工具连接shell,它监听的端口号是2000。

6.JMX
Actuator还把它的端点以MBean的方式发布了出来,可以通过JMX来查看和管理。Actuator的端点都发布在org.springframework.boot域下。
7. 定制 Actuator
Actuator有多种定制方式,包括以下五项:
◆重命名端点。
◆启用和禁用端点。
◆自定义度量信息。
◆创建自定义仓库来存储跟踪数据。
◆插入自定义的健康指示器。
7.1.修改端点 ID
Actuator端点由一个ID用来决定端点的路径,例如:/beans端点的默认ID就是beans。可以通过修改ID来改变端点的路径。属性名是endpoints.endpoint-id.id。
示例: endpoints.info.id = myinfo,访问 http://localhost:8000/myinfo
7.2. 启用和禁用端点
默认所有端点(除shutdown)都启用。禁用其他的端点,将endpoints.endpoint_id.enabled设置为false。
8. Actuator安全
Actuator权限,引入security后,默认需要ACTUATOR角色。
management.context-path:给Actuator端点访问路径加上前缀。




版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/zhouping118/article/details/78401535
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2021-05-15 18:43:29
  • 阅读 ( 847 )
  • 分类:

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢