spring boot actuator 可以监控应用的各种信息, 唯一的缺点就是返回的监控信息是JSON格式的数据,还有一点就是在微服务架构下,服务的实例会很多,一个个去看监控信息这似乎有点不太可能,而且这么多地址信息也只能去Eureka中去找,有没有一个功能能够集中的管理Eureka中的服务信息,并且可以通过界面的方式查看actuator 提供的监控信息,它就是Spring Boot Admin。
首先还是创建一个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@EnableAdminServerpublic 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=trueeureka.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.png
在这个页面可以看到所有注册的服务信息,以及服务的状态,点击详情可以看到具体的监控信息
image.png
第二个子菜单还可以看到日志信息,但是服务中必须要配置logging.file的地址,这样这边才能读取的日志内容
作者:尹吉欢
链接:https://www.jianshu.com/p/49faae4b6068