这是自己写的第一篇文章,也是自己在做监控配置过程中发现的一些问题,顺便把思路理了下,因为网上大部分人写的感觉都是复制粘贴的,本人稍微总结了下,不对之处欢迎指教。
这里不会太详细如何写配置文件,详细文件根据所需去网上抄就有了,大概是思路的总结。
首先在配置springboot admin的时候 (下面就简称admin),先了解下Actuator,Actuator 是 Spring Boot 提供的对应用系统的自省和监控功能。通过 Actuator,可以使用数据化的指标去度量应用的运行情况,比如查看服务器的磁盘、内存、CPU等信息,系统的线程、gc、运行状态等等。所以admin就是一个封装好通过调用各个项目自身的actuator的端点(actuator有很多端点,默认开放了health和info)获取项目信息,达到监控功能的,就是一个工具而已。
Actuator 配置
由于Actuator比较敏感,生产上必须做好安全验证,以下几步最好都做
1.通过更改端口和content-path,指定IP访问
management:
server:
port: 1234 # 管理的端口调整成1234
address: 127.0.0.1 # 只允许127.0.0.1访问
servlet:
context-path: /monitor # actuator的访问路径
2.配置security,指定使用账号密码才能访问项目的某个路径,这里就只要求Actuator端点的访问路径账号密码就行,不然会导致系统的其他接口访问不了,影响系统正常使用.配置如下
pom.xml文件引入
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
配置文件
spring:
security:
user:
name: xxxx #登录名
password: 123456 #密码
继承WebSecurityConfigurerAdapter 重写configure
/**
* @description: Security安全配置
* @author: Jax.Lan
* @create: 2024-01-17 15:42
**/
@Configuration
public class SecurityConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
// 在 Spring Security 中,csrf 是一项安全功能,用于防止跨站请求伪造攻击。当启用 csrf 时,Spring Security 会自动生成并附加一种称为 "CSRF Token" 的特殊令牌到每个表单提交或非 GET 请求中。
// 所以要禁用,不然会要求每个请求携带 CSRF Token
http.csrf().disable();
// 重写Security 只对actuato