结合eureka监控springboot
admin-server
1、引用
<dependency><groupId>de.codecentric</groupId><artifactId>spring-boot-admin-starter-server</artifactId><version>2.1.5</version></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-client</artifactId></dependency>
2、配置
spring:application:name: admin-serverserver:port: 8000eureka:client:service-url:defaultZone: http://localhost:8761/eureka# 设置监控management:endpoints:web:exposure:include: "*"endpoint:health:show-details: ALWAYS
3、启动
@SpringBootApplication@EnableDiscoveryClient@EnableAdminServerpublic class AdminApplication {public static void main(String[] args) {SpringApplication.run(AdminApplication.class, args);}}
4、查看页面

client
1、引用
<dependency><groupId>de.codecentric</groupId><artifactId>spring-boot-admin-starter-client</artifactId><version>2.1.5</version></dependency>
2、配置
management:endpoints:web:exposure:include: "*"endpoint:health:show-details: ALWAYS
3、查看效果
添加安全校验
引入
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-security</artifactId></dependency>
配置密码
spring:application:name: admin-serversecurity:user:name: adminpassword: adminserver:port: 8000eureka:instance:leaseRenewalIntervalInSeconds: 10health-check-url-path: /actuator/healthmetadata-map:user.name: ${spring.security.user.name}user.password: ${spring.security.user.password}startup: ${random.int} #needed to trigger info and endpoint update after restartclient:registryFetchIntervalSeconds: 5service-url:defaultZone: http://localhost:8761/eurekamanagement:endpoints:web:exposure:include: "*"endpoint:health:show-details: ALWAYS
添加过滤
import de.codecentric.boot.admin.server.config.AdminServerProperties;import org.springframework.context.annotation.Configuration;import org.springframework.security.config.annotation.web.builders.HttpSecurity;import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;import org.springframework.security.web.authentication.SavedRequestAwareAuthenticationSuccessHandler;import org.springframework.security.web.csrf.CookieCsrfTokenRepository;@Configurationpublic class SecuritySecureConfig extends WebSecurityConfigurerAdapter {private final String adminContextPath;public SecuritySecureConfig(AdminServerProperties adminServerProperties) {this.adminContextPath = adminServerProperties.getContextPath();}@Overrideprotected void configure(HttpSecurity http) throws Exception {// @formatter:offSavedRequestAwareAuthenticationSuccessHandler successHandler = new SavedRequestAwareAuthenticationSuccessHandler();successHandler.setTargetUrlParameter("redirectTo");successHandler.setDefaultTargetUrl(adminContextPath + "/");http.authorizeRequests().antMatchers(adminContextPath + "/assets/**").permitAll().antMatchers(adminContextPath + "/login").permitAll().anyRequest().authenticated().and().formLogin().loginPage(adminContextPath + "/login").successHandler(successHandler).and().logout().logoutUrl(adminContextPath + "/logout").and().httpBasic().and().csrf().csrfTokenRepository(CookieCsrfTokenRepository.withHttpOnlyFalse()).ignoringAntMatchers(adminContextPath + "/instances",adminContextPath + "/actuator/**");}}
添加邮件提醒
引入
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-mail</artifactId></dependency>
设置
spring:application:name: admin-serversecurity:user:name: adminpassword: admin# 设置mailmail:host: smtp.163.comusername: xxx@163.compassword: xxxproperties:mail:smtp:auth: truestarttls:enable: truerequired: trueboot:admin:monitor:read-timeout: 20000 # 设置超时时间msnotify:mail:from: tianyunperfect@163.comto: tianyunperfect@163.com
最终版本下载

