k8s下springboot-admin 监控服务部署,客户端接入
踩坑及解决以下问题
1、客户端监控信息不显示,需要暴露监控检查接口路径
2、服务端不显示客户端日志,需要启用日志,并指定日志路径
3、解决在k8s下,客户端多实例注册id相同,如2个实例只显示一个
整体架构
springboot-admin 由服务端和客户端组成
服务端负责
1、提供 Web 管理界面,展示应用的运行状态、日志、性能指标等
2、通过 HTTP 接口调用客户端actuator健康检查接口,获取监控数据
3、服务上线、下线、异常预警(可拓展各种方式:如邮件、短信、钉钉等)
客户端负责
1、启动应用向服务端注册客户端信息
2、定时向服务端发送心跳请求,上报应用状态
2、暴露Actuator接口,供服务端获取内存、线程、日志等数据
整体效果
部署实操
服务端部署
此处版本
springboot 2.5.14
spring-boot-admin-starter-server 2.6.5
添加依赖
此处添加spring-boot-starter-security,访问需要登录
<!-- SpringBoot Admin --><dependency><groupId>de.codecentric</groupId><artifactId>spring-boot-admin-starter-server</artifactId></dependency><!-- SpringBoot Web --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId><exclusions><exclusion><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-tomcat</artifactId></exclusion></exclusions></dependency><!-- jetty 长链接场景,节省资源--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-jetty</artifactId></dependency><!-- Spring Security --><dependency><groupId>org.springframework.boot</groupId><artifactId