4.spring boot actuator

来源:互联网 发布:java基础书籍 编辑:程序博客网 时间:2024/06/04 20:08
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端点访问路径加上前缀。




原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 孕妇6个月喉咙痒怎么办 怀孕了咳嗽的厉害怎么办 买衣服眼光太差怎么办 我买衣服没主见怎么办 海澜之家皮带长怎么办 针织衫袖口松了怎么办 宝宝裤子腰大了怎么办 两岁了头发稀少怎么办 孩子抵抗力差爱生病怎么办 三岁宝宝总生病怎么办 冬天穿伴娘服冷怎么办 白衬衣粘了黑毛怎么办 黄衣服钻进黑毛怎么办 单位没给上社保怎么办 轮毂中心孔大了怎么办 钻戒大了怎么办小窍门 shift加f4没反应怎么办 多洗联系不上怎么办 弹力靴筒往下掉怎么办 子宫内膜厚月经停不了怎么办 雪纺衣服有静电怎么办 阿胶糕熬的稀了怎么办 感冒吃了阿胶糕怎么办 身上起湿疹很痒怎么办 身上起小疹子痒怎么办 吊带裙带子断了怎么办 裙子洗完缩水了怎么办 衬衫洗后缩水了怎么办 羊毛被洗缩水了怎么办 蕾丝洗后缩水了怎么办 天丝针织衫缩水怎么办? 氨纶面料起球怎么办? 新买的衬衫很硬怎么办 孕晚期睡不好觉怎么办 全棉衣服缩水了怎么办 棉麻的衣服起球怎么办 布艺沙发起球怎么办 加绒的衣服掉毛怎么办 新裤子有刺鼻味怎么办 新买鞋子味道大怎么办 天窗下水管堵了怎么办