详解配置spring-boot-actuator时候遇到的一些小问题
前言
spring-boot-actuator是一个spring-boot提供的用于监控组件,只需要在代码中加入依赖就可以了
org.springframework.boot spring-boot-starter-actuator
遇到的一些小问题
1.可以加入依赖
org.springframework.boot spring-boot-starter-security
来保证actuator暴露接口的安全性,可以通过-u'user:password'方式来访问basicauth
2.如果项目依赖的是springmvc框架,并且基础的配置文件是application.yaml的话,可以增加application.properties文件来配置安全性的配置.
3.如果加入了security依赖,则所有的接口默认都需要被验证,如果只想/admin路径下的请求进行验证,则需要加入配置
security.basic.enabled=true security.basic.path=/admin security.user.name=admin security.user.password=password
4.如果项目依赖的是非springmvc框架的话,需要在依赖中加入mvc的依赖
org.springframework spring-webmvc
5.如果management.security.enabled的值是false的话,除开health接口还依赖endpoints.health.sensitive的配置外,其他接口都不需要输入用户名和密码了。
6.actuator暴露的health接口权限是由两个配置:management.security.enabled和endpoints.health.sensitive组合的结果进行返回的。
management.security.enabled
endpoints.health.sensitive
Unauthenticated
Authenticated
false
false
Fullcontent
Fullcontent
false
true
Statusonly
Fullcontent
true
false
Statusonly
Fullcontent
true
true
Nocontent
Fullcontent
7.actuator组件里面除开上面提到的metrics和health接口以外,还有很多默认的其他接口,如果它默认的接口不能满足你的需求的话,还可以通过继承它的AbstractEndpoint类来实现自己的Endpoint
最后附加一个配置文件例子:
security.basic.enabled=true security.basic.path=/admin#针对/admin路径进行认证 security.user.name=admin#认证使用的用户名 security.user.password=password#认证使用的密码 management.security.roles=SUPERUSER management.port=11111#actuator暴露接口使用的端口,为了和api接口使用的端口进行分离 management.context-path=/admin#actuator暴露接口的前缀 management.security.enabled=true#actuator是否需要安全保证 endpoints.metrics.sensitive=false#actuator的metrics接口是否需要安全保证 endpoints.metrics.enabled=true endpoints.health.sensitive=false#actuator的health接口是否需要安全保证 endpoints.health.enabled=true
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。