spring boot admin服务搭建

1、springboot admin 服务端

1-1)新建springboot 项目,pom.xml文件引入一下依赖

<!-- springboot admin 服务依赖 -->
	<dependency>
	      <groupId>de.codecentric</groupId>
	      <artifactId>spring-boot-admin-starter-server</artifactId>
	      <version>${spring.admin.version}</version>
	</dependency>

<!-- springboot admin 访问安全检查依赖 -->
	 <dependency>
	    <groupId>org.springframework.boot</groupId>
	        <artifactId>spring-boot-starter-security</artifactId>
	        <version>2.5.2</version>
	</dependency>

<!-- 支持邮件发送依赖jar-->
	<dependency>
	  <groupId>org.springframework.boot</groupId>
	  <artifactId>spring-boot-starter-mail</artifactId>
	</dependency>

1-2)资源配置文件引入配置

#代表打开所有的监控点
management:
  endpoints:
    web:
      exposure:
        include: '*'
      # 代表启用单独的url地址来监控 Spring Boot 应用,
      base-path: /actuator
  endpoint:
    health:
      show-details: always

#程序名称
spring:
  main:#配置是否开启权限认证标识 
    allow-circular-references: true
  cloud:
    compatibility-verifier:
      enabled: false

  #配置自定义web页面banner
  boot:
    admin:
      ui:
        title: 服务监控系统
        brand: <image src=""><span>服务监控系统</span></image>
        cache:
          no-cache: true
          no-store: true
  mail: #配置发送邮件邮箱
    host: smtp.163.com
    username: xxxx@163.com
    password: xxxxx

1-3)spring boot服务后台代码

1-3-1 主程序启动配置
@SpringBootApplication
@EnableAdminServer
//过滤掉数据库加载
@EnableAutoConfiguration(exclude ={DataSourceAutoConfiguration.class})
public class MonitorApplication{
    public static void main(String[] args) {
        SpringApplication.run(MonitorApplication.class,args);
    }
}
1-3-2 启用安全检查配置
@Configuration
public class SecuritySecureConfig extends WebSecurityConfigurerAdapter {

    private final String adminContextPath;

    public SecuritySecureConfig(AdminServerProperties adminServerProperties) {
        this.adminContextPath = adminServerProperties.getContextPath();
    }

    @Override
    protected void configure(HttpSecurity http) throws Exception {
        SavedRequestAwareAuthenticationSuccessHandler successHandler = new SavedRequestAwareAuthenticationSuccessHandler();
        successHandler.setTargetUrlParameter("redirectTo");
        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().disable();
    }
}

2、springboot admin 客户端

2-1 pom引入配置如下

  <dependency>
      <groupId>de.codecentric</groupId>
      <artifactId>spring-boot-admin-starter-client</artifactId>
      <version>${spring.admin.version}</version>
  </dependency>

2-2 ymal配置文件设置

#客户端访问服务端地址,用户名密码配置
spring:
  boot:
    admin:
      client:
        url: http://localhost:8099
        username: admin
        password: ****
#监控客户端程序的访问路径配置
management:
  endpoints:
    web:
      exposure:
        include: '*'
      base-path: /actuator
  endpoint:
    health:
      show-details: always
    logfile: #客户端文件输出配置
      external-file:  ./server-log/output.log

2-3 输出日志文件配置

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <property name="APP_Name" value="model-server" />
       <contextName>${APP_Name}</contextName>
    <!--定义日志文件的存储地址 勿在 LogBack 的配置中使用相对路径,请根据需求配置路径-->
    <property name="LOG_HOME" value="./${APP_Name}-log" />

    <!-- 彩色日志依赖的渲染类 -->
    <conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter"/>
    <conversionRule conversionWord="wex"
                    converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter"/>
    <conversionRule conversionWord="wEx"
                    converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter"/>
    <!-- 彩色日志格式 -->
    <property name="CONSOLE_LOG_PATTERN"
              value="${CONSOLE_LOG_PATTERN:-%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(LN:%L){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}"/>

    <!-- 控制台输出 -->
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
            <pattern>${CONSOLE_LOG_PATTERN}</pattern>
            <charset>utf8</charset>
        </encoder>
    </appender>

    <!-- 按照每天生成日志文件 -->
    <appender name="FILE"  class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>${LOG_HOME}/output.log</file>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!--日志文件输出的文件名-->
            <FileNamePattern>${LOG_HOME}/server-%d{yyyy-MM-dd}.log</FileNamePattern>
            <!--日志文件保留天数-->
            <MaxHistory>30</MaxHistory>
        </rollingPolicy>
        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
            <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50}:%L - %msg%n</pattern>
            <pattern>${CONSOLE_LOG_PATTERN}</pattern>
            <charset>utf8</charset>
        </encoder>
    </appender>

    <!-- 日志输出级别  ,注意:如果不写<appender-ref ref="FILE" /> ,将导致springbootadmin找不到文件,无法查看日志 -->
    <root level="INFO">
        <appender-ref ref="STDOUT" />
     </root>

    <root level="ERROR">
        <appender-ref ref="FILE" />
    </root>
</configuration>

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3、springboot admin 配置服务上下线邮件提醒服务

3.1、引入依赖pom
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-mail</artifactId>
        </dependency>
3.2、资源配置文件
spring:
  mail:
    host: smtp.163.com
    username: xxx@163.com
    password: *********(邮件服务商提供授权密码)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Spring Boot Admin 是一个开源的管理工具,可以用来监控和管理 Spring Boot 应用程序,提供了一系列功能,如应用程序的状态监控、堆栈跟踪、日志级别控制等。下面是搭建 Spring Boot Admin 的步骤: 1. 在 pom.xml 文件中添加以下依赖: ```xml <dependency> <groupId>de.codecentric</groupId> <artifactId>spring-boot-admin-starter-server</artifactId> <version>2.3.1</version> </dependency> ``` 2. 在启动类上添加注解@EnableAdminServer: ```java @SpringBootApplication @EnableAdminServer public class SpringBootAdminApplication { public static void main(String[] args) { SpringApplication.run(SpringBootAdminApplication.class, args); } } ``` 3. 配置被监控的应用程序,在被监控的应用程序的 pom.xml 文件中添加以下依赖: ```xml <dependency> <groupId>de.codecentric</groupId> <artifactId>spring-boot-admin-starter-client</artifactId> <version>2.3.1</version> </dependency> ``` 4. 在被监控的应用程序的配置文件中添加以下配置: ```yaml spring.boot.admin.client.url: http://localhost:8080 spring.boot.admin.client.username: admin spring.boot.admin.client.password: admin ``` 其中,`spring.boot.admin.client.url` 指向 Spring Boot Admin 服务器的地址,`spring.boot.admin.client.username` 和 `spring.boot.admin.client.password` 是访问 Spring Boot Admin 服务器的用户名和密码。 5. 启动 Spring Boot Admin 服务器和被监控的应用程序,访问 http://localhost:8080 即可查看被监控的应用程序的状态信息。 以上就是搭建 Spring Boot Admin 的简单步骤,希望能对你有所帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

山不在高_有仙则灵

你的奖励是我的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值