一、admin-server
1、pom相关依赖
引入一下依赖,admin-server中包含了actuator、zuul等,所以只需以下依赖即可,另外admin-server包含了太多同boot重复的jar包,很容易产生冲突也不好一一解决,所以我选了一下的spring-boot-start-parent的Camden.SR5,请大家注意
jolokia-core 用来查看jmx相关,不过admin-server中包含admin-client,client中包含jolokia-core
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.8.RELEASE</version>
</parent>
<groupId>com.zhou.demo</groupId>
<artifactId>cloud-admin</artifactId>
<version>1.0.0</version>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<java.version>1.8</java.version>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Camden.SR5</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka</artifactId>
</dependency>
<dependency>
<groupId>de.codecentric</groupId>
<artifactId>spring-boot-admin-server</artifactId>
<version>1.4.6</version>
</dependency>
<dependency>
<groupId>de.codecentric</groupId>
<artifactId>spring-boot-admin-server-ui</artifactId>
<version>1.4.6</version>
</dependency>
</dependencies>
2、配置文件
prod中只是一些eureka注册中心的配置,就不贴了,如果不从注册中心获取需要设置注册到server的地址
spring.boot.admin.url=http://localhost:port
actuator相关指标度量接口默认是关闭的 必须要设置management.security.enabled: false
server:
port: 9006
spring:
application:
name: cloud-admin
profiles:
active: prod
# POST 方法
endpoints:
shutdown:
enabled: true
#禁用密码验证
sensitive: false
management.security.enabled: false
3、main和logback-spring.xml
logback-spring.xml是为了动态设置日志级别
@EnableDiscoveryClient
@EnableAdminServer
@SpringBootApplication
public class AdminApp {
public static void main(String[] args) {
SpringApplication.run(AdminApp.class, args);
}
}
<configuration>
<include resource="org/springframework/boot/logging/logback/base.xml"/>
<jmxConfigurator/>
二、admin-client
一个正常的注册到注册中心的服务,只需要加上依赖包actuator和jolokia-core,设置management.security.enabled: false,同时和上面一样设置日志文件即可,同一个注册中心admin-server会从注册中心拉取服务配置。
<dependency>
<groupId>org.jolokia</groupId>
<artifactId>jolokia-core</artifactId>
</dependency>