时间:2020-10-28 21:42:03 | 栏目:JAVA代码 | 点击:次
spring boot actuator 可以监控应用的各种信息, 唯一的缺点就是返回的监控信息是JSON格式的数据,还有一点就是在微服务架构下,服务的实例会很多,一个个去看监控信息这似乎有点不太可能,而且这么多地址信息也只能去Eureka中去找,有没有一个功能能够集中的管理Eureka中的服务信息,并且可以通过界面的方式查看actuator 提供的监控信息,它就是Spring Boot Admin。
Spring Boot Admin简介
spring boot admin github开源地址:https://github.com/codecentric/spring-boot-admin
它主要的作用是在Spring Boot Actuator的基础上提供简洁的WEB UI展示。
首先还是创建一个admin的项目,添加需要的依赖信息:
<dependency> <groupId>de.codecentric</groupId> <artifactId>spring-boot-admin-server</artifactId> <version>1.5.5</version> </dependency> <dependency> <groupId>de.codecentric</groupId> <artifactId>spring-boot-admin-server-ui</artifactId> <version>1.5.5</version> </dependency> <dependency> <groupId>de.codecentric</groupId> <artifactId>spring-boot-admin-server-ui-login</artifactId> <version>1.5.5</version> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-eureka</artifactId> </dependency>
创建启动类
/** * 程序监控 * * @author yinjihuan * @create 2017-11-28 15:26 **/ @Configuration @EnableAutoConfiguration @EnableDiscoveryClient @EnableAdminServer public class AdminApplication { public static void main(String[] args) { SpringApplication.run(AdminApplication.class, args); } }
配置Eureka的地址,需要去Eureka中获取注册的服务信息
spring.application.name=fangjia-boot-admin server.port=9101 eureka.client.serviceUrl.defaultZone=http://goojia:goojia123456@master:8761/eureka/ eureka.instance.preferIpAddress=true eureka.instance.instance-id=${spring.application.name}:${spring.cloud.client.ipAddress}:${server.port} eureka.instance.status-page-url=http://${spring.cloud.client.ipAddress}:${server.port}
启动项目,访问服务地址可以看到下面的页面
[图片上传失败...(image-737ba5-1513042852782)]
在这个页面可以看到所有注册的服务信息,以及服务的状态,点击详情可以看到具体的监控信息
[图片上传失败...(image-bbb4bd-1513042852782)]
第二个子菜单还可以看到日志信息,但是服务中必须要配置logging.file的地址,这样这边才能读取的日志内容
具体代码可以参考我的github: https://github.com/yinjihuan/spring-cloud