From b85def08da95de00557f14e8a1818bec2130e129 Mon Sep 17 00:00:00 2001
From: Cui YongXing <2835316714@qq.com>
Date: Tue, 23 Jul 2024 01:12:29 +0800
Subject: [PATCH] aaa
---
.gitignore | 46 ++++++++++
pom.xml | 83 +++++++++++++++++++
.../monitor/CloudMonitorApplication.java | 18 ++++
.../monitor/config/WebSecurityConfigurer.java | 37 +++++++++
src/main/resources/banner.txt | 2 +
src/main/resources/bootstrap.yml | 47 +++++++++++
src/main/resources/logback/dev.xml | 74 +++++++++++++++++
src/main/resources/logback/prod.xml | 74 +++++++++++++++++
src/main/resources/logback/test.xml | 74 +++++++++++++++++
9 files changed, 455 insertions(+)
create mode 100644 .gitignore
create mode 100644 pom.xml
create mode 100644 src/main/java/com/muyu/modules/monitor/CloudMonitorApplication.java
create mode 100644 src/main/java/com/muyu/modules/monitor/config/WebSecurityConfigurer.java
create mode 100644 src/main/resources/banner.txt
create mode 100644 src/main/resources/bootstrap.yml
create mode 100644 src/main/resources/logback/dev.xml
create mode 100644 src/main/resources/logback/prod.xml
create mode 100644 src/main/resources/logback/test.xml
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..09bdfea
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,46 @@
+######################################################################
+# Build Tools
+
+.gradle
+/build/
+!gradle/wrapper/gradle-wrapper.jar
+
+target/
+!.mvn/wrapper/maven-wrapper.jar
+
+######################################################################
+# IDE
+
+### STS ###
+.apt_generated
+.classpath
+.factorypath
+.project
+.settings
+.springBeans
+
+### IntelliJ IDEA ###
+.idea
+*.iws
+*.iml
+*.ipr
+
+### JRebel ###
+rebel.xml
+### NetBeans ###
+nbproject/private/
+build/*
+nbbuild/
+dist/
+nbdist/
+.nb-gradle/
+
+######################################################################
+# Others
+*.log
+*.xml.versionsBackup
+*.swp
+
+!*/build/*.java
+!*/build/*.html
+!*/build/*.xml
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
new file mode 100644
index 0000000..9841526
--- /dev/null
+++ b/pom.xml
@@ -0,0 +1,83 @@
+
+
+ com.muyu
+ cloud-visual
+ 3.6.3
+
+ 4.0.0
+
+ cloud-visual-monitor
+
+
+ cloud-visual-monitor监控中心
+
+
+
+
+
+
+ de.codecentric
+ spring-boot-admin-starter-server
+ ${spring-boot-admin.version}
+
+
+
+
+ com.alibaba.cloud
+ spring-cloud-starter-alibaba-nacos-discovery
+
+
+
+
+ com.alibaba.cloud
+ spring-cloud-starter-alibaba-nacos-config
+
+
+
+
+ com.alibaba.cloud
+ spring-cloud-starter-alibaba-sentinel
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-security
+
+
+
+
+
+ ${project.artifactId}
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+
+
+ repackage
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-deploy-plugin
+
+ true
+
+
+
+
+
+
diff --git a/src/main/java/com/muyu/modules/monitor/CloudMonitorApplication.java b/src/main/java/com/muyu/modules/monitor/CloudMonitorApplication.java
new file mode 100644
index 0000000..e230689
--- /dev/null
+++ b/src/main/java/com/muyu/modules/monitor/CloudMonitorApplication.java
@@ -0,0 +1,18 @@
+package com.muyu.modules.monitor;
+
+import de.codecentric.boot.admin.server.config.EnableAdminServer;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+
+/**
+ * 监控中心
+ *
+ * @author muyu
+ */
+@EnableAdminServer
+@SpringBootApplication
+public class CloudMonitorApplication {
+ public static void main (String[] args) {
+ SpringApplication.run(CloudMonitorApplication.class, args);
+ }
+}
diff --git a/src/main/java/com/muyu/modules/monitor/config/WebSecurityConfigurer.java b/src/main/java/com/muyu/modules/monitor/config/WebSecurityConfigurer.java
new file mode 100644
index 0000000..d1bc9f4
--- /dev/null
+++ b/src/main/java/com/muyu/modules/monitor/config/WebSecurityConfigurer.java
@@ -0,0 +1,37 @@
+package com.muyu.modules.monitor.config;
+
+import de.codecentric.boot.admin.server.config.AdminServerProperties;
+import org.springframework.context.annotation.Bean;
+import org.springframework.security.config.annotation.web.builders.HttpSecurity;
+import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
+import org.springframework.security.web.SecurityFilterChain;
+import org.springframework.security.web.authentication.SavedRequestAwareAuthenticationSuccessHandler;
+
+/**
+ * 监控权限配置
+ *
+ * @author muyu
+ */
+@EnableWebSecurity
+public class WebSecurityConfigurer {
+ private final String adminContextPath;
+
+ public WebSecurityConfigurer (AdminServerProperties adminServerProperties) {
+ this.adminContextPath = adminServerProperties.getContextPath();
+ }
+
+ @Bean
+ public SecurityFilterChain filterChain (HttpSecurity httpSecurity) throws Exception {
+ SavedRequestAwareAuthenticationSuccessHandler successHandler = new SavedRequestAwareAuthenticationSuccessHandler();
+ successHandler.setTargetUrlParameter("redirectTo");
+ successHandler.setDefaultTargetUrl(adminContextPath + "/");
+
+ return httpSecurity
+ .authorizeHttpRequests((authorize) -> authorize .anyRequest().authenticated())
+ .securityMatcher(adminContextPath + "/assets/**"
+ , adminContextPath + "/login"
+ , adminContextPath + "/actuator/**"
+ , adminContextPath + "/instances/**"
+ ).build();
+ }
+}
diff --git a/src/main/resources/banner.txt b/src/main/resources/banner.txt
new file mode 100644
index 0000000..0dd5eee
--- /dev/null
+++ b/src/main/resources/banner.txt
@@ -0,0 +1,2 @@
+Spring Boot Version: ${spring-boot.version}
+Spring Application Name: ${spring.application.name}
diff --git a/src/main/resources/bootstrap.yml b/src/main/resources/bootstrap.yml
new file mode 100644
index 0000000..367321d
--- /dev/null
+++ b/src/main/resources/bootstrap.yml
@@ -0,0 +1,47 @@
+# Tomcat
+server:
+ port: 9100
+
+# nacos线上地址
+nacos:
+ addr: 47.116.176.140:8848
+ user-name: nacos
+ password: nacos
+ namespace: muyu-cloud
+
+# Spring
+spring:
+ application:
+ # 应用名称
+ name: cloud-monitor
+ profiles:
+ # 环境配置
+ active: dev
+ cloud:
+ nacos:
+ discovery:
+ # 服务注册地址
+ server-addr: ${nacos.addr}
+ # nacos用户名
+ username: ${nacos.user-name}
+ # nacos密码
+ password: ${nacos.password}
+ # 命名空间
+ namespace: ${nacos.namespace}
+ config:
+ # 服务注册地址
+ server-addr: ${nacos.addr}
+ # nacos用户名
+ username: ${nacos.user-name}
+ # nacos密码
+ password: ${nacos.password}
+ # 命名空间
+ namespace: ${nacos.namespace}
+ # 配置文件格式
+ file-extension: yml
+ # 共享配置
+ shared-configs:
+ # 系统共享配置
+ - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
+ # 系统环境Config共享配置
+ - application-config-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
diff --git a/src/main/resources/logback/dev.xml b/src/main/resources/logback/dev.xml
new file mode 100644
index 0000000..44e127d
--- /dev/null
+++ b/src/main/resources/logback/dev.xml
@@ -0,0 +1,74 @@
+
+
+
+
+
+
+
+
+
+
+ ${log.pattern}
+
+
+
+
+
+ ${log.path}/info.log
+
+
+
+ ${log.path}/info.%d{yyyy-MM-dd}.log
+
+ 60
+
+
+ ${log.pattern}
+
+
+
+ INFO
+
+ ACCEPT
+
+ DENY
+
+
+
+
+ ${log.path}/error.log
+
+
+
+ ${log.path}/error.%d{yyyy-MM-dd}.log
+
+ 60
+
+
+ ${log.pattern}
+
+
+
+ ERROR
+
+ ACCEPT
+
+ DENY
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/main/resources/logback/prod.xml b/src/main/resources/logback/prod.xml
new file mode 100644
index 0000000..44e127d
--- /dev/null
+++ b/src/main/resources/logback/prod.xml
@@ -0,0 +1,74 @@
+
+
+
+
+
+
+
+
+
+
+ ${log.pattern}
+
+
+
+
+
+ ${log.path}/info.log
+
+
+
+ ${log.path}/info.%d{yyyy-MM-dd}.log
+
+ 60
+
+
+ ${log.pattern}
+
+
+
+ INFO
+
+ ACCEPT
+
+ DENY
+
+
+
+
+ ${log.path}/error.log
+
+
+
+ ${log.path}/error.%d{yyyy-MM-dd}.log
+
+ 60
+
+
+ ${log.pattern}
+
+
+
+ ERROR
+
+ ACCEPT
+
+ DENY
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/main/resources/logback/test.xml b/src/main/resources/logback/test.xml
new file mode 100644
index 0000000..44e127d
--- /dev/null
+++ b/src/main/resources/logback/test.xml
@@ -0,0 +1,74 @@
+
+
+
+
+
+
+
+
+
+
+ ${log.pattern}
+
+
+
+
+
+ ${log.path}/info.log
+
+
+
+ ${log.path}/info.%d{yyyy-MM-dd}.log
+
+ 60
+
+
+ ${log.pattern}
+
+
+
+ INFO
+
+ ACCEPT
+
+ DENY
+
+
+
+
+ ${log.path}/error.log
+
+
+
+ ${log.path}/error.%d{yyyy-MM-dd}.log
+
+ 60
+
+
+ ${log.pattern}
+
+
+
+ ERROR
+
+ ACCEPT
+
+ DENY
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+