搜索
房产
装修
汽车
婚嫁
健康
理财
旅游
美食
跳蚤
二手房
租房
招聘
二手车
教育
茶座
我要买房
买东西
装修家居
交友
职场
生活
网购
亲子
情感
龙城车友
找美食
谈婚论嫁
美女
兴趣
八卦
宠物
手机

Spring Cloud第十三篇 | Spring Boot Admin服务监控

[复制链接]
查看: 68|回复: 0

1万

主题

1万

帖子

4万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
45261
发表于 2020-2-14 21:11 | 显示全部楼层 |阅读模式
Spring Cloud第十三篇  | Spring Boot Admin服务监控  热点新闻

本文是Spring Cloud专栏的第十三篇文章,了解前十二篇文章内容有助于更好的明白本文:
Spring Cloud第十三篇  | Spring Boot Admin服务监控  热点新闻

一、前言

    Spring Boot Admin 是一个治理和监控你的 Spring Boot 利用步伐的利用步伐。这些利用步伐经过 Spring Boot Admin Client(经过 HTTP)注册大要利用 Spring Cloud(例如 Eureka)发现。UI只是 Spring Boot Actuator 端点上的一个 AngularJs 利用步伐。
    道理:Spring Boot Actuator 模块为监控Spring Boot 利用步伐袒露的大量的治理端点[ENDPOINT],在Spring Boot Actuator的底子上供给简便的可视化WEB UI,是用来治理 Spring Boot 利用步伐的一个简单的界面。
二、利用Spring Boot Admin监控办事

Spring Boot Admin也分为server和client(普通利用步伐)

1、搭建Admin办事端

1-1、创键springboot admin办事端模块(springboot-admin-server)
1-2、增加springboot admin办事端依靠
  1.   de.codecentric  spring-boot-admin-starter-server  2.1.0
复制代码
1-3、在主类上增加注解@EnableAdminServer
1-4、在application.yml文件中增加设备,然后启动
  1. server:  port: 8788spring:  application:    name: springboot-admin-server
复制代码
2、搭建Admin客户端

2-1、建立springboot admin客户端模块(springcloud-admin-client)
2-2、增加springboot admin客户端依靠
  1.   de.codecentric   spring-boot-admin-starter-client   2.1.0
复制代码
2-3、在application.yml文件中增加设备,然后启动
  1. server:  port: 8080spring:  application:    name: springcloud-admin-client  boot:    admin:      client:      #springboot admin client毗连 spring boot admin server 端点地点springboot admin client毗连 spring boot admin server 端点地点        url: http://localhost:8788        instance:        #默许利用的是主机名注册,改成利用ip注册          prefer-ip: truemanagement:  endpoints:    web:      exposure:        #开放全数页面节点  默许只开启了health、info两个节点        include: '*'  endpoint:    health:      #表示健康具体信息  默许不会表示具体信息      show-details: always# 利用info端点,参加版本等信息info:  versin: @project.version@  name: @project.artifactId@  group: @project.groupId@  description: @project.description@  #还可以自界说信息  author: Coding Farmer  blog: http://www.coding-farmer.cn
复制代码
2-4、启动拜候spring boot admin办事端页面http://localhost:8788,表示以下
Spring Cloud第十三篇  | Spring Boot Admin服务监控  热点新闻

Spring Cloud第十三篇  | Spring Boot Admin服务监控  热点新闻

3、给Sring Boot Admin增加认证

i、点窜admin办事端(springboot-admin-server)模块

3-i-1、在生产情况中,为了数据的平安,照旧必要加上平安认证的,具体的可以检察官方文档:https://codecentric.github.io/spring-boot-admin/2.1.0/#_securing_spring_boot_admin_server,相对照力简单,简单来说就是参加spring-boot-starter-security举行平安认证。
3-i-2、在admin办事端(springboot-admin-server)模块增加依靠
  1.   org.springframework.boot  spring-boot-starter-security
复制代码
3-i-3、在application.yml中增加用户名、密码
  1. spring:  security:    user:      name: coding-farmer      password: 123456
复制代码
3-i-4、编辑SpringbootAdminServerApplication.java文件,点窜成
  1. package com.springcloudlearn;import de.codecentric.boot.admin.server.config.AdminServerProperties;import de.codecentric.boot.admin.server.config.EnableAdminServer;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;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;@EnableAdminServer@SpringBootApplicationpublic class SpringbootAdminServerApplication {  public static void main(String[] args) {    SpringApplication.run(SpringbootAdminServerApplication.class, args);  }  @Configuration  public static class SecuritySecureConfig extends WebSecurityConfigurerAdapter {    private final String adminContextPath;    public SecuritySecureConfig(AdminServerProperties adminServerProperties) {      this.adminContextPath = adminServerProperties.getContextPath();    }    @Override    protected void configure(HttpSecurity http) throws Exception {      // @formatter:off      SavedRequestAwareAuthenticationSuccessHandler 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/**"          );      // @formatter:on    }  }}
复制代码
3-i-5、拜候http://localhost:8788
Spring Cloud第十三篇  | Spring Boot Admin服务监控  热点新闻

ii、点窜admin客户端(springboot-admin-client)模块

3-ii-1、由于办事端设备了密码,客户端拜候的时候必要密码,这是基于SBA拜候形式,也就是所谓的间接毗连springboot admin办事端形式,在application.yml文件中增加username,password
  1. spring:  application:    name: springcloud-admin-client  boot:    admin:      client:      #springboot admin client毗连 spring boot admin server 端点地点springboot admin client毗连 spring boot admin server 端点地点        url: http://localhost:8788        instance:        #默许利用的是主机名注册,改成利用ip注册          prefer-ip: true        username: coding-farmer        password: 123456
复制代码
3-ii-2、然后启动客户端(springboot-admin-client)模块,拜候http://localhost:8788,检察客户端办事注册到了admin办事端上
Spring Cloud第十三篇  | Spring Boot Admin服务监控  热点新闻

三、利用Spring Boot Admin监控Spring Cloud办事团结Eureka注册中心

    当我们监控微办事的时候,办事数目众多,我们必定想同一治理微办事,我可以将办事全数注册到注册中心上,admin会自己拉取Eureka上注册的利用信息,自动去注册。这也是唯一区分之前手动注册(SBA毗连方式)的地方,就是client端不必要admin-client的依靠,也不必要设备admin地点了,齐全全数由admin-server自己实现。这样的筹划对情况变化很和睦,不用改了admin-server后去改全数利用的设备了。
1、在上面底子上继续点窜Admin办事端

1-1、增加依靠
  1.   org.springframework.cloud  spring-cloud-starter-netflix-eureka-client
复制代码
1-2、在启动类上增加Eureka的注解@EnableEurekaClient
1-3、点窜后application.yml设备文件以下,然后启动
  1. server:  port: 8788spring:  application:    name: springboot-admin-server  security:    user:      name: coding-farmer      password: 123456eureka:  client:    service-url:      defaultZone: http://localhost:8700/eureka    #客户端每隔30秒从Eureka办事上更新一次办事信息    registry-fetch-interval-seconds: 30    #必要将我的办事注册到eureka上    register-with-eureka: true    #必要检索办事    fetch-registry: true  #心跳检测检测与续约时候  instance:    #告诉办事端,假如我10s之内没有给你发心跳,就代表我故障了,将我剔裁撤,默许90s    #Eureka办事端在收到末端一次心跳以后等待的时候上限,单元为秒,横跨则剔除(客户端告诉办事端依照此法则等待自己)    lease-expiration-duration-in-seconds: 10    #每隔2s向办事端发送一次心跳,证实自已仍然在世,默许30s    #Eureka客户端向办事端发送心跳的时候间隔,单元为秒(客户端告诉办事端自己会依照该法则)    lease-renewal-interval-in-seconds: 2    # 启用ip设备 这样在注册中心列表中看见的是以ip+端口出现的    prefer-ip-address: true    # 实例称号  末端出现地点:ip:2002    instance-id: ${spring.cloud.client.ip-address}:${server.port}    health-check-url-path: /actuator/health    #Eureka 中的 metadataMap 是专门用来寄存一些自界说的数据,   # 当注册中心大要其他办事必要此办事的某些设备时可以在 metadataMap 里取。   # 现实上,每个 instance 都有各自的 metadataMap,map 中寄存着必要用到的属性。   # 例如,上面设备中的 eureka.instance.metadata-map.username,当这个办事乐成注册到 Eureka 上,   # Spring Boot Admin 就会取拿到这个 instance,进而拿到 metadataMap 里的属性,   # 然后放入请求头,向此办事发送请求,拜候此办事的 Actuator 开放的端点。   #说白了,这个为了毗连到自己,把密码告诉eureka,spring boot admin server 拿着密码去毗连客户端利用,监控信息    metadata-map:      user.name: ${spring.security.user.name}      user.password: ${spring.security.user.password}      #利用注册中心后,他admin也可以监控本身办事状态management:  endpoints:    web:      exposure:        #开放全数页面节点  默许只开启了health、info两个节点        include: '*'  endpoint:    health:      #表示健康具体信息  默许不会表示具体信息      show-details: always# 利用info端点,参加版本等信息info:  versin: @project.version@  name: @project.artifactId@  group: @project.groupId@  description: @project.description@  #还可以自界说信息  author: Coding Farmer  blog: http://www.coding-farmer.cn
复制代码
1-4、拜候以下http://localhost:8788,利用注册中心以后他也可以监控本身办事的状态
Spring Cloud第十三篇  | Spring Boot Admin服务监控  热点新闻

2、在上面底子上继续点窜Admin客户端

2-1、增加依靠
  1.   org.springframework.cloud  spring-cloud-starter-netflix-eureka-client
复制代码
2-2、在启动类上增加注解@EnableEurekaClient
2-3、启动Admin客户端,然后拜候Admin办事端http://localhost:8788,你会看到还有Admin办事端已被监控了
Spring Cloud第十三篇  | Spring Boot Admin服务监控  热点新闻


具体参考案例源码:https://gitee.com/coding-farmer/spirngcloud-learn

Spring Cloud第十三篇  | Spring Boot Admin服务监控  热点新闻

Spring Cloud第十三篇  | Spring Boot Admin服务监控  热点新闻


免责声明:假如加害了您的权益,请联系站长,我们会实时删除侵权内容,感谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Copyright © 2006-2014 全椒百姓网-全椒知名**,发布及时新鲜的全椒新闻资讯 生活信息 版权所有 法律顾问:高律师 客服电话:0791-88289918
技术支持:迪恩网络科技公司  Powered by Discuz! X3.2
快速回复 返回顶部 返回列表