Spring Boot与监控管理
监控管理
通过引入spring-boot-starter-actuator,可以使用Spring Boot为我们提供的准生产环境下的应用监控和管理功能。我们可以通过HTTP,JMX,SSH协议来进行操作,自动得到审计、健康及指标信息等.
步骤:
– 引入spring-boot-starter-actuator
– 通过http方式访问监控端点
– 可进行shutdown(POST 提交,此端点默认关闭)
监控和管理端点:
1) 创建新的Springboot项目:
添加:DevTools、Web、Actuator模块:
2)直接运行应用:
发现:多了很多映射的url。
这些url都是因为加入:spring-boot-starter-actuator
依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
3)访问这些url映射:
随便访问一个:比如:/beans
发现:没有权限访问!!!
4)关闭安全监测
在application配置文件中:
#关闭安全管理检测
management.security.enabled=false
ctrl+F9:即可,不需要重启应用。
其他的监控信息:请看监控和管理端点的图片,执行测试即可。
定制端点信息
– 定制端点一般通过endpoints+端点名+属性名来设置。
– 修改端点id(endpoints.beans.id=mybeans)
– 开启远程应用关闭功能(endpoints.shutdown.enabled=true)
– 关闭端点(endpoints.beans.enabled=false)
– 开启所需端点
• endpoints.enabled=false
• endpoints.beans.enabled=true
– 定制端点访问根路径
• management.context-path=/manage
– 关闭http端点
• management.port=-1
测试:
1)在application配置文件中:
#定制端点信息
endpoints.beans.id=mybeans
现在,beans的访问端点就不行了,必须是mybeans了。(修改了默认的访问名)
2)在application配置文件中:
#定制端点信息
endpoints.beans.id=mybeans
endpoints.beans.path=/b
此时的beans的访问路径,就变成了/b. 默认的 /beans 和 /mybeans 都不好使了。
3)在application配置文件中:
#定制端点信息
endpoints.beans.id=mybeans
endpoints.beans.path=/b
#关闭了beans的端点
endpoints.beans.enabled=false
此时,就会把beans端点给关闭了。不管访问 /beans 和 /mybeans 和 /b 都不好使了。
但是其他端点好使:
4)如果想关闭所有的,但是只留一些端点开放:
#关闭所有的端点
endpoints.enabled=false
#开启部分端点(beans)
endpoints.beans.enabled=true
其他端点都不好使了。
只要beans端点好使:
5)定制端点访问根路径
#设置访问端点的根路径
management.context-path=/manager
6) 定制端点访问的端口号
#设置访问端点的根路径
management.context-path=/manager
management.port=8081
7) 关闭http端点
#设置访问端点的根路径
management.context-path=/manager
management.port=-1