关于springcloud:springbootadmin一些功能说明26x

31次阅读

共计 1425 个字符,预计需要花费 4 分钟才能阅读完成。

1. base path

我的项目须要用到 spring-boot-admin(后简写为 sba)做监控,没有独立域名,应用主域名 +ingress 做门路辨认,所以须要配合 contextPath 应用, 如何配置呢?

应用 tomcat 的 bio 通信模型时,通过 server.servlet.context-path=/xxx 就能够了,然而因为 sba 应用了 netty+webflux 的 nio 模型,所以要用 spring.webflux.base-path=/xx 来指定。服务启动之后,就能够通过 http://ip:port/xx 来拜访了。

但这时候有个问题,因为 sba 连上注册核心默认是把本人也注册下来的,监控他人顺便监控本人,没有问题,然而通过控制台能够看到 sba 状态是不通的,为什么呢?

点进去能够看到,health-check 的 endpoint 是 http://ip:port/actuator/health 这个 actuator 组件提供的默认查看门路。因为咱们的 sba 后面配了 basePath,正确的查看门路应该是 http://ip:port/xxx/actuator/health 如何更改呢?

查看源码能够晓得,sba 是通过注册节点的元数据来获取节点的各项指标数据对应的 endpoint 的,所以在注册的时候带上对应的 metadata 就能够了,应用 nacos 时能够通过增加这个配置来指定:

spring:
  cloud:
    nacos:
      discovery:
        metadata:
          'management.context-path': /sadmin/actuator

2. basic auth

sba 我的项目,退出 spring-boot-starter-security 依赖包和如下配置:

spring:
  security:
    user:
      name: admin
      password: 123456

即可赋予 sba 控制台简略验证性能,十分好用。

然而如果 sba 监控的其余我的项目也应用了 basic auth 呢?申请的 endpoint 会被验证拦截,监控会全副生效。这时通过增加以下配置即可:

spring:
  boot:
    admin:
      instance-auth:
        service-map:
          xxx: # 配置了验证的服务名
            userName: admin # 用户名
            userPassword: 123456 # 明码 

3. mail notify

sba 引入 spring-boot-starter-mail 包,在 spring.mail 节点增加发件服务器配置后,通过以下配置:

spring:
  boot:
    admin:
      notify:
        mail:
          to: shoujianren1<name@domain.com>,shoujianren2<name2@domain.com>,
          from: fajianren@domain.cn
          enabled: true
          ignore-changes: "UNKNOWN:UP"  # 哪些状态不告诉,能够应用 * 通配符 

即可开启 sba 的检测节点状态变更时的邮件告诉性能。当然除了邮件告诉,sba 还内置了其余多种 IM 软件告诉形式,不够用了本人扩大也很不便。

这种邮件告诉形式,应用的默认邮件模板,十分不灵便,如何自定义呢?

首先,先把默认模板拷贝进去,基于它间接改很省事。找到 sping-boot-admin-server 这个依赖 jar 包, 模板文件就在 META-INF 目录下:

在咱们本人的我的项目里,创立同名目录构造,把文件粘贴进去就能够啦,要做什么改变就能够轻易改了

正文完
 0