Spring Cloud Hoxton 版本微服务项目搭建 admin 监控客户端
前言
在上一篇文章博主已经讲解了admin 管理中心服务项目如何创建,不会的话可以前往学习,传送门:Spring Cloud Hoxton 版本微服务项目搭建 admin 监控管理中心 。
本篇用来讲解–Spring Cloud Hoxton 版本微服务项目搭建 admin 监控客户端
正题
引入 Admin-Server 2.2.1
依赖:
<!-- Admin 2.2.1 版本客户端引入依赖 -->
<dependency>
<groupId>de.codecentric</groupId>
<artifactId>spring-boot-admin-starter-client</artifactId>
<version>2.2.1</version>
</dependency>
pom.xml 配置如下:(这里用了注册中心做客户端,注册中心传送门:Spring Cloud Hoxton 版本微服务项目搭建eureka注册中心)
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.cyj</groupId>
<artifactId>Family</artifactId>
<version>1.0-SNAPSHOT</version>
</parent>
<groupId>com.cyj</groupId>
<artifactId>eureka-center</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>eureka-center</name>
<url>https://repo.spring.io/milestone</url>
<description>CYJ:SpringCloud Eureka Master 注册中心</description>
<dependencies>
<!-- SpringCloud Eureka 注册中心依赖 -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>
<!-- SpringCloud Hystrix 微服务容错监控组件:断路器,依赖隔离,服务降级,服务监控 依赖 -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-hystrix</artifactId>
</dependency>
<!-- 权限控制依赖 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
<!-- Admin 2.2.1 版本客户端引入依赖 -->
<dependency>
<groupId>de.codecentric</groupId>
<artifactId>spring-boot-admin-starter-client</artifactId>
<version>2.2.1</version>
</dependency>
</dependencies>
<!-- SpringCloud 所有子项目 版本集中管理.MS:统一所有SpringCloud依赖项目的版本 依赖 -->
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<!-- SpringBoot 2.2.x 以上版本这样配置 -->
<version>${spring-cloud.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<build>
<plugins>
<!-- SpringBoot 项目打jar包的Maven插件 -->
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
<!-- SpringBoot项目打包jar名称 -->
<finalName>eureka-center</finalName>
</build>
<!-- SpringCloud 官方远程仓库.MS:部分本地仓库和镜像仓库没有SpringCloud子项目依赖。 -->
<repositories>
<repository>
<id>spring-milestones</id>
<name>Spring Milestones</name>
<url>https://repo.spring.io/milestone</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
</project>
启动项如下:
package com.cyj.admincenter;
import de.codecentric.boot.admin.server.config.EnableAdminServer;
import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
/**
* 启动类
*
* @author Chenyongjia
* @Description: AdminCenterApplication
* @ClassName: Application.java
* @Date 2019年12月30日 晚上20:29:06
* @Email 867647213@qq.com
*/
@Slf4j
@EnableAdminServer
@EnableEurekaClient
@EnableDiscoveryClient
@SpringBootApplication
public class AdminCenterApplication {
public static void main(String[] args) {
log.info("=======》启动 Admin 管理项目ing......");
SpringApplication.run(AdminCenterApplication.class, args);
log.info("=======》启动 Admin 管理项目成功......");
}
}
yml
配置文件如下:
新增配置:
eureka:
instance:
# 每隔5s发送一次心跳
lease-renewal-interval-in-seconds: 5
# 告知服务端10秒还未收到心跳的话,就将该服务移除列表
lease-expiration-duration-in-seconds: 10
# 健康检查路径
health-check-url-path: /actuator/health
# Admin 管理配置
management:
endpoints:
web:
exposure:
include: '*'
endpoint:
health:
show-details: always
完整配置:
server:
#项目端口号
port: 8888
tomcat:
max-connections: 200
max-threads: 300
min-spare-threads: 0
uri-encoding: UTF-8
logging:
pattern:
console: "%d - %msg%n"
#path: D:\Logback-Test\ #日志输出到指定文件夹下默认名为spring.log
file: D:\Logback-Test\wordimg.log #日志输出到指定文件
#level: debug #指定级别
level: #指定输出某个类的日志
com.cnooc.wordimg.LoggerTest2: debug
spring:
application:
name: eureka-server
# 设置查看注册中心的登录用户以及他的角色
security:
user:
name: admin
password: 867647213
roles: ROLEALL
# 注册到Admin管理中心
boot:
admin:
client:
url: http://localhost:6010
# Admin 管理配置
management:
endpoints:
web:
exposure:
include: '*'
endpoint:
health:
show-details: always
eureka:
#eureka实例定义
instance:
#eureka实例主机名称
hostname: master
#表示eureka client发送心跳给server端的频率。如果在leaseExpirationDurationInSeconds后,server端没有收到client的心跳,
#则将摘除该instance。
#除此之外,如果该instance实现了HealthCheckCallback,并决定让自己unavailable的话,则该instance也不会接收到流量。
lease-renewal-interval-in-seconds: 5
#客户端进行Eureka注册的配置
client:
#关闭eureka的客户端行为:注册服务
registerWithEureka: false
#关闭eureka的客户端行为:订阅服务
fetchRegistry: false
serviceUrl:
#eureka注册中心地址
defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/
#defaultZone: http://backup:8889/eureka/,http://slave:8890/eureka/
server:
# 关闭自我保护机制,防止失效的服务也被一直访问 (Spring Cloud默认该配置是 true)
enable-self-preservation: false
# 每隔10s扫描服务列表,该配置可以修改检查失效服务的时间,每隔10s检查失效服务,并移除列表 (Spring Cloud默认该配置是 60s)
eviction-interval-timer-in-ms: 5000
启动项目:
监控节点性能
最后
-
更多参考精彩博文请看这里:《陈永佳的博客》
-
喜欢博主的小伙伴可以加个关注、点个赞哦,持续更新嘿嘿!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/97546.html