Actuator自定义节点路径 & 监控服务自定义配置


既然Actuator给我们内置提供了节点映射,我们为什么还需要进行修改呢?

正因为如此我们才需要进行修改!!!

路径都是一样的,很容易就会暴露出去,导致信息泄露,发生一些无法估计的事情,如果我们可以自定义节点的映射路径或者自定义监控服务的管理信息,这样就不会轻易的暴露出去,Actuator已经为了们提供了对应的方法来解决这个问题,下面我们来看下吧。

本章目标

自定义Actuator节点映射路径、监控服务配置信息等,提高监控服务的安全性。

构建项目

最近这几篇有关Actuator的文章使用的源码都是同一个,源码已经上传了码云,点击下载源码汇总
,源码位置:SpringBoot2.x/hengboy-spring-boot-actuator,本章也使用之前创建的项目,下载后通过idea工具打开,在原来基础上进行修改。

自定义监控节点映射路径

之前章节讲到了Actuator为我们提供了org.springframework.boot.actuate.autoconfigure.endpoint.web.WebEndpointProperties类,用于配置监控管理web端的信息,映射路径也在该配置类中,通过修改management.endpoints.web.path-mapping配置来修改指定的节点映射路径,如下所示:

1
2
3
4
5
6
7
8
# 管理节点配置
management:
endpoints:
web:
# 自定义路径映射
path-mapping:
# key=>value形式,原映射路径=>新映射路径
health: healthcheck

path-mapping参数值需要key->value形式接收,在WebEndpointProperties类内是以Map<String, String>类型定义的。

  • key:原监控节点映射路径,如:health
  • value,新的监控节点映射路径,如:healthcheck

修改后我们就可以通过访问/actuator/healthcheck访问监控的健康信息。

如果你修改了management.endpoints.web.base-path,那么前缀为你修改后得值,具体可以访问/springboot-actuator-default.html了解详情。

运行测试

启动本章项目,打开浏览器或者终端,如下为终端示例:

1
2
➜ ~ curl http://localhost:8080/healthcheck
{"status":"UP","details":{"diskSpace":{"status":"UP","details":{"total":250790436864,"free":75346001920,"threshold":10485760}}}}

通过访问/healthcheck可以查询到详细的信息。

自定义监控端口号

默认Actuator监控服务的端口号项目端口号一致,本章项目的端口号为8080所以我们通过http://localhost:8080前缀就可以访问到监控节点,那我们该怎么修改监控节点端口号呢?

ManagementServerProperties

Acutator内置了配置类org.springframework.boot.actuate.autoconfigure.web.server.ManagementServerProperties来进行自定义设置监控服务基本信息,该配置类内包含了端口号(port)服务地址(address)安全SSL(ssl)等。
我们通过修改management.server.port进行自定义监控端口号,如下所示:

1
2
3
4
5
# 管理节点配置
management:
# 修改监控服务端的端口号
server:
port: 8001

运行测试

修改完成后,重启本章项目,然后通过如下命令访问:

1
2
➜  ~ curl http://localhost:8001/healthcheck
{"status":"UP","details":{"diskSpace":{"status":"UP","details":{"total":250790436864,"free":75105476608,"threshold":10485760}}}}

通过8001端口已经可以访问到开放的监控节点,修改后再次访问同项目端口号的地址会出现404错误信息。

总结

本章介绍了自定义Actuator开放的监控节点映射路径,还简单介绍了通过修改management.server.port参数进行自定义监控服务管理端口号

Actuator自定义节点路径 & 监控服务自定义配置

https://blog.minbox.org/springboot-actuator-change-mapping.html

作者

恒宇少年 - 于起宇

发布于

2018-10-26

更新于

2022-10-26

许可协议

评论