简介
在微服务环境中除了需要分布式追踪的功能,其实基础的健康性能检测同样很重要,不同于在物理服务器中的部署,很多容器部署情况下,执行jmap、jstack这些命令就没有那么便捷。我们可以借助Spring Boot Actuator提供的Restful接口和Spring Boot Admin服务来提供可视化健康性能检测功能。下面是实战记录:
环境
- Idea2019
- Jdk1.8
- Maven3.6.3
SpringBootAdmin服务端
首先要有一个单独的服务用来作为SpringBootAdmin服务端
pom依赖配置
引入如下依赖:1
2
3
4
5
6
7
8<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>de.codecentric</groupId>
<artifactId>spring-boot-admin-starter-server</artifactId>
</dependency>
application.yml配置
正常指定端口号就可以1
2
3
4server:
port: 9999
servlet:
context-path: /
SpringBoot启动类代码
启动类中加入@EnableAdminServer注解1
2
3
4
5
6
7
8
9
10
11/**
* springboot启动类
*/
@SpringBootApplication(scanBasePackages = {
"com.xjy.world"})
@EnableAdminServer
public class AdminServerApplication {
public static void main(String[] args) {
SpringApplication.run(AdminServerApplication.class, args);
}
}
启动看效果
运行后访问http://locahost:9999,效果如下:
SpringBoot子服务端集成
各SpringBoot子服务需集成Actuator和Admin客户端
pom依赖配置
1 | <dependency> |
application.yml配置
1 | # 端口和主路径 |
运行看效果
运行后再访问原来admin服务端的地址http://localhost:9999
点击查看自服务的详情
结束语
整个健康和性能系统检测搭建起来了,其他的功能和使用方法可参考:
【使用 Spring Boot Actuator 监控应用】、【使用 spring-boot-admin 对 Spring Boot 服务进行监控】
下期预告
之前实战了Slueth和Zipkin用于分布式追踪,这一期又实战了Actuator和Admin进行健康和性能检测,下一期准备实战一个利用java-agent实现无代码侵入的APM工具:Apache SkyWalking,它同时拥有上述两种功能,同时新版本还扩展了日志集成功能,之前的使用感觉是界面效果和舒适度要比这两个要好的多。今天是年前最后一天班了,预知下期效果如何,来年见分晓。
本文链接: https://www.xiajunyi.com/pages/p75.html
版权声明:本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。转载请注明出处!