微服务架构之spring boot admin
Spring boot admin是可视化的监控组件,依赖spring boot actuator收集各个服务的运行信息,通过spring boot actuator可以非常方便的查看每个微服务的Health信息、内存信息、JVM信息、配置信息、垃圾回收信息 等等。
(一) 版本说明
d) spring-boot-admin-starter-server 2.0.4
(二) 项目设置
1. Pom文件
<dependency> <groupId>de.codecentric</groupId> <artifactId>spring-boot-admin-starter-server</artifactId> <version>${spring-boot-admin.version}</version> </dependency>
server:
port: 1051
spring:
application:
name: cloudadmin
eureka:
instance:
hostname: 192.168.1.78 #${eureka.instance.ip-address}
prefer-ip-address: true
ip-address: 192.168.1.129
lease-renewal-interval-in-seconds: 10
lease-expiration-duration-in-seconds: 30
instance-id: ${eureka.instance.ip-address}:${server.port}
status-page-url: http://${eureka.instance.ip-address}:${server.port}
client:
service-url:
defaultZone: http://${eureka.instance.hostname}:1001/eureka/,http://${eureka.instance.hostname}:1002/eureka/,http://${eureka.instance.hostname}:1003/eureka/
management:
endpoints:
web.exposure.include: "*"
endpoint:
health:
show-details: ALWAYS
a) spring.profiles.active 设置当前使用的配置项,一般多配置场景下使用,这里为了eureka高可用,设置了3个实例,在运行实例的时候,可以动态设置。
b) spring.application.name 项目名称
c) server.port 运行端口号
d) eureka.server.enable-self-preservation 是否启用自我保护功能,该功能默认是启用,但为了快速的响应服务的上下线,一般在开发环境把自我保护功能禁用
e) client.client.service-url.defaultZone 服务注册中心地址,这里是交叉设置3个服务自理实例
f) client.instance.lease-renewal-interval-in-seconds 发送心跳的频率
g) client.instance.lease-expiration-duration-in-seconds 失效间隔,这个主要是判断客户端还活着,一般设置为client.instance.lease-renewal-interval-in-seconds的3倍。
h) 其它参数说明可以参考官方说明,需要说明的是spring cloud 每次版本迭代都有配置参数的变更,最好是参考相对应的版本参数说明
(三) 项目运行
1. 运行admin项目后,在我们的治理中心就可以看到已经注册完成,如下图所示
2. 在浏览器中输入你的主机的IP:端口号,就可以看到spring boot admin运行界面如下图所示,显示了每个微服务的运行状态,非常的方便我们进一步查看微服务的详情。
a) 绿色表示正常状态。
b) 红色表示下线状态
c) 灰色表示离线状态
d) 黄色表示受保护状态
3. 查看详情
a) 我们点击一个绿色的微服务查看详情,比如点击CLIENTSERVICE服务,看到如下效果,显示了Metadata、Health、Process、Threads、Memory 等等,左侧是各个监控的分类项。
b) 比如我们点击左侧的Http Trace,则可以看到我们每次调用CLIENTSERVICE微服务的列表,点击每个某一条即可看到该次访问的详情。
这样spring boot admin可视化监控组件就介绍完了,如果在开发中遇到问题,也可以留言共同探讨共同进步。