SpringBoot Admin 系统监控
目录
1.新建系统监控服务
1.1 引入服务端依赖
1.2 添加启动注解
2.客户端添加配置
2.1 引入客户端依赖
2.2 添加配置参数
3.查看系统监控
4.配置安全验证
4.1 引入依赖
4.2 配置参数
4.3 添加配置类
5.配置线上日志
6.常见问题
6.1 线上服务离线
1.新建系统监控服务
1.1 引入服务端依赖
说明:由于我需要兼容客户端nacos的版本,所以这里 spring-boot-starter-parent 使用了2.3.6.RELEASE版本,客户端nacos-config-spring-boot-starter使用了0.2.4版本
<spring-boot-admin.version>2.3.1</spring-boot-admin.version><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>de.codecentric</groupId><artifactId>spring-boot-admin-starter-server</artifactId><version>${spring-boot-admin.version}</version></dependency>
1.2 添加启动注解
引入依赖后启动类添加 @EnableAdminServer 注解,并且配置服务端口号,因为这是一个向外部提供接口的web项目
然后启动admin服务端
2.客户端添加配置
2.1 引入客户端依赖
这里admin版本尽量和boot保持一致,避免出现版本冲突问题
<spring-boot-admin.version>2.3.1</spring-boot-admin.version><dependency><groupId>de.codecentric</groupId><artifactId>spring-boot-admin-starter-client</artifactId><version>${spring-boot-admin.version}</version></dependency>
2.2 添加配置参数
spring:application:name: deliveryboot:admin:client:url: http://localhost:9999management:endpoint:health:show-details: alwaysendpoints:web:exposure:include: "*"
配置好后启动客户端服务
3.查看系统监控
访问 http://localhost:9999/
4.配置安全验证
4.1 引入依赖
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-security</artifactId></dependency>
4.2 配置参数
spring:application:name: monitor-servicesecurity:user:name: huachunpassword: huachun
4.3 添加配置类
package com.hhmt.monitor.config;import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;import de.codecentric.boot.admin.server.config.AdminServerProperties;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.builders.WebSecurity;
import org.springframework.security.web.authentication.SavedRequestAwareAuthenticationSuccessHandler;
import org.springframework.security.web.csrf.CookieCsrfTokenRepository;/*** 辉煌明天* FileName: AdminSecurityConfig* Author: huachun* email: huachun_w@163.com* Date: 2022/3/3 17:26* Description: 原文链接:https://blog.csdn.net/wuxiuyong/article/details/119180458*/
@EnableWebSecurity
@Configuration(proxyBeanMethods = false)
public class AdminSecurityConfig extends WebSecurityConfigurerAdapter {private final String adminContextPath;public AdminSecurityConfig(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().antMatchers(adminContextPath + "/instances/**").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}@Overridepublic void configure(WebSecurity web) {web.ignoring().antMatchers("/actuator/**");}}
再次访问发现需要输入用户名和密码才能进去
5.配置线上日志
由于我项目中引入了log4j所以可以直接进行配置
logging:pattern:file: "%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(%5p) %clr(${PID}){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n%wEx"file:name: ./ocpx_logs/hhmt-cpa-ocpx.log
启动后效果如下:
还是比较满意的
参考文档:Spring Boot Admin Reference Guide
6.常见问题
6.1 线上服务离线
原文参考:解决spring-boot-Admin的服务端和客户端不在同一个服务器的通信问题_feidie436的专栏-CSDN博客
springboot项目接入springbootAdmin搭建流程_wuxiuyong的博客-CSDN博客
解决方法:配置参数中 prefer-ip设置为true
spring:boot:admin:client:instance:prefer-ip: true
SpringBoot Admin 系统监控相关推荐
- SpringBoot进行系统监控(通过OSHI)
文章目录 SpringBoot通过OSHI进行系统监控 一.Maven添加OSHI依赖 二.编写OSHIMonitorUtil工具类 2.1 为了便于使用,我编写了OSHIMonitor工具类,直接返 ...
- springboot admin自定义监控里的info信息
目录 一 简单的info 二 复杂点的info info端点:书写应用相关的内容 一 简单的info 要在下图的蓝框处设置自定义的info信息 修改client的配置文件如下: #设置端口,cli ...
- 使用SpringBoot Admin监控SpringCloud微服务
原文:https://www.cnblogs.com/yangzhilong/p/9378876.html spring-boot admin的github地址:https://github.com/ ...
- springboot 创建地址_使用 SpringBoot Admin监控Spring Boot 服务
简介 SpringBoot-Amind是什么?Spring Boot Admin 是一个管理和监控 Spring Boot 应用程序的开源软件.,可监控的信息包含:应用状态.内存.线程.堆栈等等,比较 ...
- SpringBoot - 构建监控体系01_使用 Actuator 组件实现及扩展系统监控
文章目录 Pre 引入 Spring Boot Actuator 组件 原生端点 应用更详细的健康状态 如何在现有的监控端点上添加定制化功能 扩展 Actuator 端点 扩展 Info端点 (Inf ...
- SpringBoot2.X监控和管理神器:SpringBoot Admin
前言 我们在使用SpringBoot的时候,特别的敏捷与方便,开发起来特别的快.比如加入spring-boot-starter-web这个启动器,就能开发JavaWeb项目:我们再加入mybatis- ...
- 使用 SpringBoot Admin 监控你的 SpringBoot 程序
1.Spring Boot Admin 是什么 Spring Boot Admin 是由 codecentric 组织开发的开源项目,使用 Spring Boot Admin 可以管理和监控你的 Sp ...
- springboot日志可视化_使用 SpringBoot Admin 监控你的 SpringBoot 程序
1.Spring Boot Admin 是什么 Spring Boot Admin 是由 codecentric 组织开发的开源项目,使用 Spring Boot Admin 可以管理和监控你的 Sp ...
- springboot +promethues+grafna+alertmanager+qq邮箱实现系统监控警告
springboot +promethues+grafna+alertmanager+qq邮箱实现系统监控警告 准备: 本地环境windows11 .jdk8 .翻墙工具(非必要,可以下载但是速度比较 ...
最新文章
- 【语音SBC算法】基于正交滤波器组的语音SBC算法设计与实现
- language is the key
- Spring注释详解
- PaddleOCR——CUDA9.0环境中训练运行错误【Cudnn error, CUDNN_STATUS_BAD_PARAM】解决方案
- springboot+hbase 集成
- vim 函数列表插件
- java 最小生成树_图的最小生成树(java实现)
- 树莓派Java程序运行_树莓派上Java程序作为linux服务并开机自动启动
- refs格式linux支持么,小科普 | 你听过ReFS硬盘格式吗?
- 机器学习代码实战——梯度下降(gradient descent)
- Linux基础命令---ckconfig
- 双重检查锁定的缺点与改进
- 50. 避免重定向(11)
- 常用的ajax的代码
- VS2012 的快捷键使用
- 一看就明白的超标量超流水线超线程简介
- 一、zabbix与nagios对比
- SSH框架java写接口_SSH框架的搭建+JPA接口
- 如何自制daplink_DAPLink高速版
- Collections.sort()方法对象排序