【微服务】- SpringBoot Admin

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了【微服务】- SpringBoot Admin相关的知识,希望对你有一定的参考价值。

参考技术A

目录:

Spring Boot Admin 用于管理和监控一个或者多个Spring Boot应用, Spring Boot Admin 分为Server端和Client端,Client通过http向Server端注册, 也可以结合Spring Cloud 的服务注册组件Eureka 进行注册。

SpringAdmin 的监测详细信息有如下:

本文的所有工程的Spring Boot版本为2.2.2.RELEASE,SpringBootAdmin版本为2.2.1。

这样Admin Server就创建好了。

到此,SpringBoot-Admin-Client 工程创建完成。

启动Admin-Server,Admin-Client两个工程,在浏览器上输入localhost:8769 ,浏览器显示的界面如下:

查看wallboard:

更多监控信息,自己体验。

eureka-server搭建完毕。

到此admin-server 搭建完成。

到此,Eureka-Server,Admin-Server-Eureka-Client,Admin-Client-Eureka-Cleint 三个工程搭建完成

启动三个工程,在浏览器上访问localhost:8769,浏览器会显示和上一小节一样的界面。

在2.1.0版本中去掉了hystrix dashboard,登录界面默认集成到了spring security模块,只要加上spring security就集成了登录模块。

重启启动工程,在浏览器上访问: http://localhost:8769/ ,会被重定向到登录界面,登录的用户名和密码为配置文件中配置的,分别为admin和admin,界面显示如下:

源码: https://github.com/lbshold/springboot/tree/master/Spring-Boot-Admin-Demo

微服务架构之spring boot admin

Spring boot admin是可视化的监控组件,依赖spring boot actuator收集各个服务的运行信息,通过spring boot actuator可以非常方便的查看每个微服务的Health信息、内存信息、JVM信息、配置信息、垃圾回收信息 等等。

(一) 版本说明

a) Spring boot 2.0.6.RELEASE

b) Spring cloud Finchley.SR2

c) Java version 1.8

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>

2. application.yml配置文件

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

3. 主要参数说明

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项目后,在我们的治理中心就可以看到已经注册完成,如下图所示

clip_image002

2. 在浏览器中输入你的主机的IP:端口号,就可以看到spring boot admin运行界面如下图所示,显示了每个微服务的运行状态,非常的方便我们进一步查看微服务的详情。

clip_image004

a) 绿色表示正常状态。

b) 红色表示下线状态

c) 灰色表示离线状态

d) 黄色表示受保护状态

3. 查看详情

a) 我们点击一个绿色的微服务查看详情,比如点击CLIENTSERVICE服务,看到如下效果,显示了Metadata、Health、Process、Threads、Memory 等等,左侧是各个监控的分类项。

clip_image006

b) 比如我们点击左侧的Http Trace,则可以看到我们每次调用CLIENTSERVICE微服务的列表,点击每个某一条即可看到该次访问的详情。

clip_image008clip_image010

  这样spring boot admin可视化监控组件就介绍完了,如果在开发中遇到问题,也可以留言共同探讨共同进步。

以上是关于【微服务】- SpringBoot Admin的主要内容,如果未能解决你的问题,请参考以下文章

精通学习微服务架构实战:基于SpringBoot实现微服务

【微服务】- SpringBoot Admin

为啥选择Spring Boot作为微服务的入门级微框架

SpringBoot 搭建微服务初体验

5.springcloud微服务架构搭建 之 《springboot集成Hystrix》

SpringBoot 快速构建微服务体系 知识点总结